カメラモデルの差し替え

このページでは VirtualLens 使用時に表示する3Dモデルの差し替えに必要な情報について説明します。

VirtualLens2 対応 Prefab を利用する場合

利用したい3Dモデルのパッケージに VirtualLens2 対応の Prefab が含まれている場合はモデルデータ付属のドキュメントとセットアップガイドをご参照ください。 Prefab 中に VirtualLensOrigin および VirtualLensPreview という名前のオブジェクトが含まれる場合、その Prefab は VirtualLens2 に対応していると思われます。

簡易差し替え手順

ここでは VirtualLens2 用の Prefab や導入手順が用意されていない3Dモデルをカメラのように表示する手順について解説します。 VirtualLens2 用の Prefab が用意されている場合はセットアップガイドおよび各カメラモデルの添付文書をご参照ください。 また、Prefab 化して他のアバターと共有したりセットアップ済みメッシュとして配布したい場合は下のより詳しい解説をご参照ください。

下準備

デフォルトのカメラモデルが存在する場合、ヒエラルキーから CompactCamera を削除しておきます。

テンプレート Prefab の配置

VirtualLens2/Prefabs/CameraSkeleton.prefab をシーンに追加します。

CameraSkeletonの配置

カスタムメッシュの配置

NonPreviewRoot の子として利用したいメッシュを入れます。 実際には VirtualLensOrigin の位置から撮影されるので、VirtualLensOrigin がレンズの中心などに来るように調整してください。 また、この時 VirtualLensOrigin から視線方向 (Z軸の正の方向) に 0.05m 以上離れたところに可視ポリゴンが入らないように注意してください。カメラメッシュの映り込みの原因となります。

メッシュオブジェクトの配置

プレビュー画面の位置調整

プレビュー画面およびタッチスクリーンとなる PreviewWrapper の位置とサイズを調整します。 この時、縦横比を維持ずるために Scale の各値 (x, y, z) として同じ値を設定するように注意してください。

プレビューオブジェクトの調整

アバター内での親子関係の修正

CameraSkeleton の位置を調整した後に連動させたいオブジェクトの子となるように移動させます。

アバターへの組み込み

設定の更新

VirtualLensSettings の Camera Object の項目を以下のように更新した後に Apply ボタンを押して設定を反映させます。

  • Root Object: CameraSkeleton
  • Non-Preview Root: NonPreviewRoot

なお、設定適用後にオブジェクトの位置を変更した場合、再度 Apply ボタンを押して設定を更新する必要があります。

設定の更新

より詳しい解説

基準オブジェクト

VirtualLens2 では特定の名前を持つオブジェクトを基準として各種コンポーネントを自動生成します。 これらのオブジェクトを適切に用意することで独自の3Dモデルをカメラとして利用することができるようになります。 この章では VirtualLens2 同梱のカメラモデル (Assets/VirtualLens2/Prefabs/CompactCamera.prefab) を例に基準オブジェクトの配置について解説します。

VirtualLensOrigin

実際にキャプチャを行うカメラコンポーネント配置時の基準となるオブジェクトです。 このオブジェクトのZ軸正の方向が正面、Y軸正の方向が上となるようにカメラコンポーネントが生成されます。

VirtualLensOrigin

VirtualLensPreview

フォーカスポイント指定のためのインターフェース配置時の基準となるオブジェクトです。 このオブジェクトの姿勢とY方向のスケールをもとにタッチ判定用のカメラコンポーネントが生成されます。

なお、 CompactCamera.prefab ではプレビュー画面用の MeshRenderer も含まれていますが、これは必須ではありません。 別のオブジェクトに描画させたり、描画させないといった選択肢をとることもできます。

VirtualLensPreview

プレビュー用のマテリアル

プレビュー用画面を実装するためのマテリアルが Assets/VirtualLens2/Materials/VirtualLensPreview.mat として用意されています。 Quad などの板ポリゴンに適用することでタッチ情報の表示も含むプレビュー画面を生成することができます。 利用例はパッケージに同梱されている CompactCamera.prefab の中身をご確認ください。

VirtualLens2 対応3Dモデルの配布について

VirtualLens2 との併用を想定した3Dモデルを配布する場合、 CompactCamera.prefab のように上述の基準オブジェクトを含み、プレビュー画面のマテリアルとして VirtualLensPreview.mat を使用した Prefab を用意しておくことで、セットアップを簡略化することができるようになります。 モデルを配布・販売する場合にはそのような Prefab の同梱もご検討ください。


最終更新 May 4, 2021