ChilloutVRでのカメラPropの作り方
はじめに
ChilloutVRにはもともとカメラ機能がありますが、Propとして自作も可能です。
「CVR Camera Helper」というコンポーネントを使うと作成できるのですが、ドキュメントがないため、作り方を記しておこうと思います。
※必要最低限の、もっともシンプルな作り方になります。
ベースとなるPropを作成する
インタラクトできるPropを作ります。
(CVR Spawnable, CVR Pickup Object, CVR Interactableをアタッチする)
カメラとビューを作成する
子にCamera, Quadを配置します。
Cameraは撮影に使用するカメラ、Quadはカメラのビューになります。
Cameraは向こうが見えるよう、Quadはこちらから見えるようそれぞれYを180度回転させます。
(CameraのYが0度だと、インカメになります)
CameraのAudioListenerは不要なので削除しておきます。
QuadのMeshColliderは不要なので削除しておきます。
MaterialとRenderTextureを作成します。
MaterialのShaderを「Unlit/Texture」にします。
MaterialのTextureにRenderTextureを設定します。
CameraのTargetTextureにRenderTextureを設定します。
これで、カメラの映像がRenderTextureに映るようになります。
Quadにマテリアルを設定します。
CVR Camera Helperをアタッチし、Cameraに作成したカメラを設定します。
撮影用のアニメーションを作成する
Animatorをアタッチします。
※CVR Camera HelperがアタッチされているオブジェクトにAnimatorをアタッチしてください
AnimationEventを作成し、Functionを「TakeScreenshot()」にします。
※FunctionにTakeScreenshot()がない場合は、CVR Camera HelperとAnimationが別のオブジェクトにアタッチされている可能性があります
Animatorを編集します。
デフォルトで空のステートに遷移するようにします。
TriggerのParameterを作成します。
Triggerが発火すると、撮影用のアニメーションが再生されるようにし、再生が終わると再び空のステートに戻るようにします。
CVR Interactableに、AnimatorのTriggerが発火するTriggerを作成します。
これで完成です。
さいごに
PropをSpawnすると、Quadにカメラの映像が映ります。
インタラクトすると、写真が保存される場所に、カメラの写真が保存されます。
解像度は、RenderTextureのSizeで設定できます。
※アスペクト比に合わせてQuadのScaleを変更する必要があります