[VR 개발]HDR Panoramic 360 VR 이미지 만들기

728x90

VR 개발 과정에 필요한 360도 VR 이미지를 생성하는 방법은 다음과 같이 4가지이다. 다양한 이미지 소스들에 따라 제작 방법이 각각 다르므로, 자신이 가지고 있는 이미지 형태에 맞춰 사용하면 되겠다.

 

HDR Panoramic Image를 이용한 360도 VR 이미지 생성하기

이러한 360도 이미지 파일을 다운받아 유니티에 임포트 해준다. 이러한 파일 소스를 무료/유료로 제공하고 있는 사이트들이 있으니 참고하면 된다.

https://polyhaven.com/

 

Poly Haven • Poly Haven

The Public 3D Asset Library

polyhaven.com

https://texturify.com/

 

Texturify - Free textures

 

texturify.com

먼저 Create - material을 통해 새로운 머터리얼을 생성해준다. 생성된 머터리얼 내 Shader - Skybox에 들어가 Panoramic으로 설정해준다. 그리고 임포트한 이미지를 매핑해주면 된다.

Window - Rendering - Lighting에 들어간 후 Environment 탭의 Skybox Material에 생성한 머터리얼을 매핑해주면 360 VR 이지미가 생성되는 것을 확인할 수 있다.

오큘러스 퀘스트 2로 확인한 360도 VR 이미지이다. 이미 VR 환경을 위해 특수 제작한 이미지를 사용했기 때문에 자연스럽게 변환됨을 확인할 수 있다. 

 

Legacy Cubemap을 이용한 360 VR 이미지 생성하기

다음과 같이 Back / Bottom / Front / Left / Right / Top 뷰 이미지 소스를 따로 가지고 있는 경우에 360도 이미지로 적용하는 방법이다. 기본 개념은 Cube 형태의 각 면에 필요한 이미지를 매핑하는 것이라고 이해하면 된다.

Create - Legacy에 들어가 Cubemap을 생성해 준다. 그리고 Back / Bottom / Front / Left / Right / Top 각각에 알맞는 이미지 소스를 매핑해주면 된다.

마찬가지로 새로운 머터리얼을 생성한 후 Shader - Skybox - Cubemap으로 변경 후 위에 생성한 cubemap을 매핑해준다. 그리고 Window - Rendering - Lighting의 envorionment에 들어가서 머터리얼을 연결해주면 된다.

완성된 VR 이미지이다. cubemap으로 제작한 경우 다음과 같이 경계선이 두드러지는 한계를 가지고 있으니 필요한 경우에만 사용하면 되겠다.

 

Cubemap 이미지를 이용한 360 VR 이미지 생성하기

다음과 같이 큐브 전개도 형태의 이미지 소스를 가지고 있다면 아래 방법을 사용하면 되겠다. 

이미지 소스를 유니티에 임포트 한 후 Texture Shape를 Cube로 변경해준다.

새로운 머터리얼을 생성 한 후 Shader - Skybox - Cubemap으로 변경, Cubemap 이미지 소스를 매핑해주면 된다. 마찬가지로 Window - Rendering - Lighting의 Environment - Skybox Material에 머터리얼을 연결해주면 완성된다.

VR 상에서 완성된 결과물이다. 다만 이런 경우 Top 부분에 사각형 모서리가 생기는 문제점을 가지고 있으니 필요에 따라 활용하면 되겠다.

 

Shader를 이용한 360도 VR 이미지 생성하기

Insideout.shader
0.00MB

머터리얼에 쉐이더를 적용한 후 이미지를 매핑하여  VR 이미지를 생성할 수 있다.

위의 쉐이더는 그런 역할을 해주는 쉐이더라고 보면 되겠다.

쉐이더를 유니티 상으로 임포트 한 후 새로운 머터리얼을 생성해준다. 머터리얼에 쉐이더를 드래그앤드롭하면 다음과 같이 매핑되고 원하는 이미지를 연결해주면 된다.

씬 상에 Sphere 오브젝트를 생성하고 머터리얼을 그대로 입혀만 주면 된다. 단 여기서 주의할 점은 Sphere의 position이 (0, 0, 0)일 경우 Main Camera의 position도 (0, 0, 0)으로 맞춘 후 play해야 VR환경처럼 보이게 된다.

 

다음과 같이 360 VR 이미지를 생성하면 오브젝트 단위로 이미지를 관리할 수 있는 장점이 있다. 컷 전환 등에 응용할 수 있겠다.

728x90