Gear VRのPass Through Camera機能はとても良く出来ていて感動しました。これがあればARアプリの開発も簡単になりそうです。
UnityでGear VRのパススルーカメラ機能の実装方法をテストしてみましたので公開いたします。実装方法はとても簡単です。Oculusカメラの目の前に常にGalaxyで撮影したカメラ画像を表示する形で実装します。
新しくPassThroughCamera.csスクリプトを用意して下記のコードを書きます。
Gear VRのカメラも通常のウェブカメラと扱いは同じです。
カメラが書くやFPSはあまり高くするとカクつくので
1280×720ピクセル、25FPSで設定しましょう。
using UnityEngine; using System.Collections; public class PassThroughCamera : MonoBehaviour { // Use this for initialization void Start () { WebCamTexture webcamTexture = new WebCamTexture(1280,720,25); gameObject.GetComponent<Renderer>().material.mainTexture = webcamTexture; webcamTexture.Play(); } // Update is called once per frame void Update () { } }
続いてOculus Mobile SDK をダウンロードしてインポートします。
シーンにOVRCameraRigを追加したら、CenterEyeAnchorの子オブジェクトとしてPlaneを作成します。
Planeの設定はアスペクト比をカメラに合わせて16:9に。PositionやRotationを設定します。(設置場所などは微調整が必要かも)
そして先ほど作成したPassThroughCamera.csをアタッチします。
ウェブカメラの付いているPCで実行すると、こんなかんじで表示されるはずです。
こちらを参考にAndroid実機に転送します。
そして、現実世界にUnityちゃんを召喚すると楽しくなります。