큐브맵(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
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.