カメラモデルの差し替え
VirtualLens2対応Prefabを利用する場合
利用したい3DモデルのパッケージにVirtualLens2対応のPrefabが含まれている場合はモデルデータ付属のドキュメントとセットアップガイドをご参照ください。
Prefab 中に VirtualLensOrigin
および VirtualLensPreview
という名前のオブジェクトが含まれる場合、そのPrefabはVirtualLens2に対応していると思われます。
簡易差し替え手順
ここではVirtualLens2用のPrefabや導入手順が用意されていない3Dモデルをカメラのように表示する手順について解説します。 また、Prefab化して他のアバターと共有したりセットアップ済みメッシュとして配布したい場合は下のより詳しい解説をご参照ください。
下準備
デフォルトのカメラモデルが存在する場合、ヒエラルキーから CompactCamera
を削除しておきます。
テンプレート Prefab の配置
VirtualLens2/Prefabs/CameraSkeleton.prefab
をシーンに追加します。
カスタムメッシュの配置
NonPreviewRoot
の子として利用したいメッシュを入れます。
実際には VirtualLensOrigin
の位置から撮影されるので、VirtualLensOrigin
がレンズの中心などに来るように調整してください。
また、この時 VirtualLensOrigin
から視線方向 (Z軸の正の方向) に 0.05m 以上離れたところに可視ポリゴンが入らないように注意してください。カメラメッシュの映り込みの原因となります。
プレビュー画面の位置調整
プレビュー画面およびタッチスクリーンとなる PreviewWrapper
の位置とサイズを調整します。
この時、縦横比を維持するために Scale
の各値 (x
, y
, z
) として同じ値を設定するように注意してください。
アバター内での親子関係の修正
CameraSkeleton
の位置を調整した後に連動させたいオブジェクトの子となるように移動させます。
設定の更新
VirtualLens Settings の Camera Object の項目を以下のように更新した後に “Apply” ボタンを押して設定を反映させます。
Root Object
:CameraSkeleton
Non-Preview Root
:NonPreviewRoot
なお、設定適用後にオブジェクトの位置を変更した場合、再度 “Apply” ボタンを押して設定を更新する必要があります。
より詳しい解説
基準オブジェクト
VirtualLens2では特定の名前を持つオブジェクトを基準として各種コンポーネントを自動生成します。
これらのオブジェクトを適切に用意することで独自の3Dモデルをカメラとして利用することができるようになります。
この章ではVirtualLens2同梱のカメラモデル (Assets/VirtualLens2/Prefabs/CompactCamera.prefab
) を例に基準オブジェクトの配置について解説します。
VirtualLensOrigin
実際にキャプチャを行うカメラコンポーネント配置時の基準となるオブジェクトです。 このオブジェクトのZ軸正の方向が正面、Y軸正の方向が上となるようにカメラコンポーネントが生成されます。
VirtualLensPreview
フォーカスポイント指定のためのインターフェース配置時の基準となるオブジェクトです。 このオブジェクトの姿勢とY方向のスケールをもとにタッチ判定用のカメラコンポーネントが生成されます。
なお、 CompactCamera.prefab
ではプレビュー画面用の MeshRenderer
も含まれていますが、これは必須ではありません。
別のオブジェクトに描画させたり、描画させないといった選択肢をとることもできます。
プレビュー用のマテリアル
プレビュー用画面を実装するためのマテリアルが Assets/VirtualLens2/Materials/VirtualLensPreview.mat
として用意されています。
Quadなどの板ポリゴンに適用することでタッチ情報の表示も含むプレビュー画面を生成することができます。
利用例はパッケージに同梱されている CompactCamera.prefab
の中身をご確認ください。
VirtualLens2 対応3Dモデルの配布について
VirtualLens2との併用を想定した3Dモデルを配布する場合、 CompactCamera.prefab
のように上述の基準オブジェクトを含み、プレビュー画面のマテリアルとして VirtualLensPreview.mat
を使用した Prefabを用意しておくことで、セットアップを簡略化することができるようになります。
モデルを配布・販売する場合にはそのようなPrefabの同梱もご検討ください。