Unity에서 OpneCV를 이용한 하코스코 VR 체험

전천구 카메라 동영상으로 VR 앱



전회의 기사 「 Unity에서 OpenCV를 이용한 동영상 재생을 시도했습니다. 」의 속편입니다.

이번에는 전천구 카메라 동영상을 사용한 VR 앱 만들기 + 간이 HMD(하코스코) 체험을 하고 싶습니다.

아래 준비



투영용 3D 모델 배치



360도 카메라 THETA로 찍은 사진·동영상을 Unity에서 사용 」를 참고로, 전천구 동영상을 붙이기 위한 구상의 3D 모델을 씬에 배치합니다.
면 방향이 안쪽을 향하도록 면을 반전시킨 구형의 오브젝트를 작성할 필요가 있습니다.
고맙게도 참고 사이트내에서 프로젝트 파일이 공개되어 있으므로, 그 안의 3D 모델 「Sphere_for_360Camera」를 그대로 사용했습니다.

전천구 동영상 변환



마지막 기사 처럼 ffmpeg를 사용하여 MJPEG 형식의 동영상으로 변환합니다.
(일단 다음 설정으로 변환했습니다)ffmpeg -i ThetaMovie.MP4 -vcodec mjpeg -an -qscale 2 -s 640x320 ThetaMovie.avi

머티리얼 설정 및 텍스처 표시


  • 프로젝션 3D 모델에 대해 새 머티리얼을 만들고 shader는 Unlit/Texture를 사용합니다. (조명의 영향을받지 않도록)
  • 이전 기사에서 만든 동영상 재생 스크립트를 3D 모델에 연결합니다.



  • 헤드 추적 기능의 애셋 추가



    간단한 HMD를 사용한 VR 핸즈온 세미나 을 참고하여 헤드 트래킹 기능의 애셋을 장면으로 가져옵니다.
    이번에는, 위의 기사에서도 추천되고 있는 「 Durovis Dive SDK 」를 사용했습니다.
  • Durovis 사이트에서 DL한 "Dive_Plugin_2.1.5.unitypackage"를 가져옵니다.
  • Dive/Prefabs 폴더에 있는 Dive_Camera 프리팹을 Hierarchy로 드래그하여 로드합니다. 가져온 카메라가 포함된 객체는 투영용 3D 모델의 중심으로 이동합니다.
  • BuildSetting의 [Scenes of Build] 맨 위에 "Dive/Scenes/Dive-Splashscreen"을 추가하는 것을 잊지 마세요.

  • 이것만으로 iPhone/Android 단말기의 기울기에 대응하여 카메라 각도가 변화하는 헤드 추적 기능을 추가할 수 있었습니다.

    하코스코에서 체험



    바로 "하코스코 타타미 2안"을 구입하여 VR 앱을 사용해 보았습니다.



    헤드 트래킹의 추종성도 양호하고, 생각보다 몰입감이 있습니다.

    참고 사이트의 내용을 거의 그대로 조합한 것만으로 간단하게 VR어플리케이션을 작성할 수 있었습니다.

    ※이 기사에서는, 전회 기사로부터의 흐름으로의 동영상 재생에 「OpenCV for Unity 합니다. (그쪽이 안락하고 대응 동영상 형식이 풍부합니다)

    관련 기사



    Unity에서 OpenCV를 이용한 얼굴 검출 · 화상 처리 앱 시작
    Unity에서 OpenCV를 이용한 얼굴 검출 · 화상 처리 앱 시작 2 샘플 코드 상세
    OpenCV for Unity Asset의 가져오기 크기를 줄이는 방법
    Unity에서 OpenCV를 이용한 동영상 재생을 시도했습니다.
    Unity에서 OpneCV를 이용한 하코스코 VR 체험

    좋은 웹페이지 즐겨찾기