A Cubemap is a collection of six square textures that represent the reflections on an environment. The six squares form the faces of an imaginary cube that surrounds an object; each face represents the view along the directions of the world axes (up, down, left, right, forward and back).
Cubemaps are often used to capture reflections or “surroundings” of objects; for example skyboxes and environment reflections often use cubemaps.
The fastest way to create cubemaps is to import them from specially laid out TexturesAn image used when rendering a GameObject, Sprite, or UI element. Textures are often applied to the surface of a mesh to give it visual detail. More info
See in Glossary.
Select the Texture in the Project windowA window that shows the contents of your Assets
folder (Project tab) More info
See in Glossary, to see the Import Settings in the InspectorA Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
See in Glossary window. In the Import Settings, set the Texture Type to Default, Normal MapA type of Bump Map texture that allows you to add surface detail such as bumps, grooves, and scratches to a model which catch the light as if they are represented by real geometry.
See in Glossary or Single Channel, and the Texture Shape to Cube. Unity then automatically sets the Texture up as a Cubemap.
Several commonly-used cubemap layouts are supported (and in most cases, Unity detects them automatically).
Vertical and horizontal cross layouts, as well as column and row of cubemap faces are supported:
Another common layout is LatLong
(Latitude-Longitude, sometimes called cylindrical). Panorama images are
often in this layout:
SphereMap
(spherical environment map) images can also be found:
By default Unity looks at the aspect ratioThe relationship of an image’s proportional dimensions, such as its width and height.
See in Glossary of the imported texture to determine the most appopriate layout from
the above. When imported, a cubemap is produced which can be used for skyboxes and reflections:
Selecting Glossy Reflection
option is useful for cubemap textures that will be used by
Reflection ProbesA rendering component that captures a spherical view of its surroundings in all directions, rather like a camera. The captured image is then stored as a Cubemap that can be used by objects with reflective materials. More info
See in Glossary. It processes cubemap mipmap levels in a special way
(specular convolution) that can be used to simulate reflections from surfaces of different smoothness:
Unity also supports creating cubemaps out of six separate textures. Select Assets > Create > Legacy > Cubemap from the menu, and drag six textures into empty slots in the inspector.
Property: | Function: |
---|---|
Right..Back Slots | Textures for the corresponding cubemap face. |
Face Size | Width and Height of each Cubemap face in pixelsThe smallest unit in a computer image. Pixel size depends on your screen resolution. Pixel lighting is calculated at every screen pixel. More info See in Glossary. The textures will be scaled automatically to fit this size. |
Mipmap | Should mipmaps be created? |
Linear | Should the cubemap use linear color? |
Readable | Should the cubemap allow scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info See in Glossary to access the pixel data? |
Note that it is preferred to create cubemaps using the Cubemap texture import type (see above) - this
way cubemap texture data can be compressed; edge fixups and glossy reflection convolution be performed;
and HDRhigh dynamic range
See in Glossary cubemaps are supported.
Another useful technique is to generate the cubemap from the contents of a Unity sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary using a script.
The Camera.RenderToCubemap function can record the six face
images from any desired position in the scene; the code example on the function’s script reference page
adds a menu command to make this task easy.
2018–01–31 Page amended
Cubemap
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.