[Unity]04.360 VR 영상처리 #1 - Sphere 사용

안녕하세요 유랑입니다.



오늘은 360 VR 영상처리하는 방법에 대해 알아보겠습니다.




1. 360 VR 영상처리



밑에 보이시는 분은 다들 알고 있으신 박보영님입니다.

같이 술 한 잔 할 수 있는 영상인데요. 

이걸 이용해 VR에서 어떻게 영상처리가 가능한지 배워보겠습니다.







1-1) 프로젝트 생성 및 준비



360ViewVR이라고 프로젝트 이름은 변경한 뒤 생성합니다.






VR환경은 우선 이것부터 시작하죠.

플랫폼을 안드로이드로 변경하고, 원하시는 환경으로 구축해주세요.





Company Name과 Package Name을 변경한 뒤,

Minimum API Level을 4.4로 바꾸고 Cardboard를 추가해주세요.

VR영상은 4.4이상 부터 작동되니 꼭 바꿔주세요.







평소에 원하시는 동영상 파일을 다운받아주세요.

상업적으로 쓰지않고 공부할 때 잠깐 쓸거기 때문에

저는 유튜브에서 www.ssYoutube 이런식으로 ss를 붙여 영상을 다운받았습니다.





유니티상에서 VR환경을 체험하기 위해서 Google VR SDK를 받아줍니다.

https://developers.google.com/vr/unity/download








1-2) Sphere를 이용한 VR 영상



Sphere오브젝트를 생성하고 Transform값을 다음과 같이 변경해 주세요.

Video Player 컴포넌트를 추가 후 다운 받은 영상도 추가해 줍니다.

SPhere 내부에서 영상을 보여주도록 설정하는 작업입니다.






mSphere이라는 머티리얼을 생성 후 쉐이더를 다음과 같이 변경해 주고 Sphere에 적용합니다.

그리고 Reverse Nomals라는 스크립트를 추가해 주었습니다.

우리는 카메라를 Sphere 안에 두고 안쪽에서 바깥쪽으로 볼 것이기 때문에

삼각형을 그리는 방향을 반대로 틀어서 normal 방향을 안쪽으로 향하게 바꿔줄 거에요.

그러기 위해서 스크립트를 작성하겠습니다.





RequireComponent라는 코드는 해당 컴포넌트가 없으면 자동으로 생성해줍니다.







메인 카메라를 Sphere 안에 넣고 영상을 볼 것이기 때문에

위치를 다음과 같이 변경해 줍니다.





유니티 상에서 VR환경을 체험하기 위해서 GvrEditorEmulator를 하이라키 뷰에 추가해줍니다.

만약 핸드폰으로 확인하실거면 안넣으셔도 상관없습니다.





게임을 실행시키면 단축키 Alt 혹은 Ctrl을 누른 상태에서 좌우상하로 360영상을 확인가능합니다.






1-3) InverseSphere를 이용한 VR 영상



InverseSphere 모델의 Vertex는 유니티에서 제공하는 Sphere 모델에 비해

굉장히 조밀하게 디자인 되어 있습니다.

Sphere 모델을 사용한다면 낮은 폴리곤으로 인해 동영상이 깔끔하지 않고, 스크립트를 쓰는 번거러움이 있어

다음 모델을 사용해서 만들어 보겠습니다.






기존에 있는 Sphere를 비활성화 하고, Inversesphere를 이용해 영상을 실행시켜보면 다음과 같이

깔끔한 영상을 볼 수 있다.






2. 마무리



오늘 강의는 여기까지입니다.

Sphere를 이용해 360 VR 영상처리를 배워보았습니다.

다음 시간에는 파노라마 스카이박스를 통해서 360 VR 영상을 구현해 보겠습니다^^

오늘도 고생하셨습니다.

감사합니다.



수업자료: https://github.com/YouRang12/-Tistory-Unity---VR



댓글

Designed by JB FACTORY