큐브맵(Cubemap) 은 환경에 대한 반사를 나타내는 여섯 개의 사각형 텍스처 컬렉션입니다. 여섯 개의 사각형은 오브젝트를 둘러싸는 가상 큐브면을 형성합니다. 각각의 면은 월드 축의 방향을 따른 뷰를 나타냅니다 (위, 아래, 좌, 우, 앞, 뒤).
큐브맵은 오브젝트의 반사나 “주변 환경”을 캡처하는 데 사용됩니다. 예를 들어, skyboxes 와 environment reflections는 주로 큐브맵을 사용합니다.
큐브맵을 생성하는 가장 빠른 방법은 특별히 레이아웃된 텍스처에서 임포트하는 것입니다. 프로젝트 창에서 Texture를 선택하고 인스펙터 창에서 Import Settings를 확인합니다. Import Settings에서 Texture Type 을 Default, Normal Map 또는 Single Channel 로 설정하고 Texture Shape 을 Cube 로 설정합니다. 그러면 텍스처가 자동으로 큐브맵으로 설정됩니다.
일반적으로 사용되는 큐브맵 레이아웃 몇 가지가 지원되고, 대부분의 경우 Unity에서 자동으로 인식됩니다.
수직 및 수평 교차 레이아웃과 큐브맵 면의 행과 열이 다음 그림과 같이 지원됩니다.
일반적으로 사용되는 다른 레이아웃으로는 LatLong
(위도-경도로, 원통형이라고도 함)이 있습니다.
파노라마 이미지는 다음과 같이 이 레이아웃에 포함되는 경우가 많습니다.
SphereMap
(구형 환경 맵) 이미지 역시 자주 사용됩니다.
기본적으로, Unity는 임포트된 텍스처의 종횡비를 고려하여 위의 레이아웃 중 가장 적합한 것을 선택합니다. 텍스처를 임포트하는 경우, 스카이박스와 반사에 사용될 수 있는 큐브맵이 생성됩니다.
Glossy Reflection
옵션은
반사 프로브에서 사용될 큐브맵 텍스처에 유용하게 사용할 수 있습니다. 평활도가 서로 다른 표면의 반사를 시뮬레이션하는 데 사용할 수 있는
특별한 방법(스페큘러 컨볼루션)으로 큐브맵 밉맵 레벨을 처리합니다.
Unity는 서로 다른 여섯 개의 textures에서 큐브맵을 생성하는 기능도 지원합니다. 메뉴에서 Assets > Create > Legacy > Cubemap 을 선택해야 합니다. 그런 다음, 인스펙터에서 여섯 개의 텍스처를 각각 빈 슬롯에 드래그해야 합니다.
프로퍼티: | 기능: |
---|---|
Right..Back Slots | 해당 큐브맵 면의 텍스처입니다. |
Face Size | 각각의 큐브맵 면의 픽셀 단위 너비 및 높이입니다. 텍스처는 이 크기에 맞게 자동으로 스케일됩니다. |
Mipmap | 밉맵의 생성 여부입니다. |
Linear | 큐브맵의 리니어 컬러 사용 여부입니다. |
Readable | 큐브맵이 스크립트가 픽셀 데이터에 액세스할 수 있도록 할지 여부입니다. |
큐브맵을 생성하려면 큐브맵 텍스처 임포트 타입을 사용하는 것이 좋습니다(상단 참조). 이렇게 하면 큐브맵 텍스처 데이터를 압축할 수 있고, 에지 보정과 광택 반사 컨볼루션을 수행할 수 있습니다. 또한 HDR 큐브맵도 지원됩니다.
다른 유용한 기법으로는, 스크립트를 사용하여 Unity 씬의 콘텐츠에서 큐브맵을 생성하는 방법이 있습니다. Camera.RenderToCubemap 함수는 씬 내의 원하는 임의의 포지션에서 여섯 면의 이미지를 기록할 수 있습니다. 이 함수의 스크립트 레퍼런스 페이지에 있는 코드 예시를 사용하면 이 작업을 쉽게 수행할 수 있도록 하는 메뉴 커맨드를 추가할 수 있습니다.
2018–01–31 페이지 수정됨
Cubemap