VirtualLens詳細リファレンス

このページではセットアップガイドで触れなかった細かい項目について説明します。

VirtualLens Settings の設定項目の詳細

Avatar 設定対象のアバター。 VRC_Avatar Descriptor コンポーネントを持っている必要があります。
Custom Animations Emotesを登録するカスタムオーバーライドコントローラ。Avatar設定時に自動的に選択されます。
Parent of lenses 拡張レンズ配置時の基準となるオブジェクト。拡張レンズの配置の詳細については後述の拡張レンズの配置もご参照ください。
Lenses アバターに設定する拡張レンズのリスト。番号に対応するEmoteスロットにそのレンズが登録されます。
Optional Objects 拡張レンズに連動して出し入れするオブジェクト。チェックが入っていない場合は拡張レンズ無効時に非表示、チェックが入っている場合は拡張レンズ有効時に非表示となります。
Artifacts folder アニメーションやマテリアルなどの自動生成されるファイルの出力先です。1プロジェクトで複数のアバターを管理している場合、それぞれに異なるフォルダを指定することをおすすめします。
Clear artifacts Applyボタンを押した際に Artifacts folder の中をクリアして自動生成ファイルが累積していくのを防ぎます。
Parent of hijacker VRカメラに画像を送るために配置するメッシュの配置先を指定します。通常はアバターのHeadボーンで問題ありません。
Base animation clip カメラ切り替え時に再生するアニメーションクリップを指定します。VRCSDK2/Examples2/Animation/Male_Standing_Pose.fbx/IDLE あたりを指定しておくのがおすすめです。設定するアニメーションによっては EmoteSwitch の動作に影響を及ぼす場合があります。
Disable local system 演算用オブジェクトのローカル化機構を無効化します。負荷対策のため基本的にはチェックを外しておいてください。プレビューが真っ黒かつVRカメラの映像が上書きされない症状が出る場合、この項目にチェックを入れることで改善することがあります。

カスタムレンズの作成

レンズの種類によってはパラメータを持つ場合があります。このとき、対応するアセットを生成することによりパラメータを細かく調整した拡張レンズを利用することができるようになります。例として基本パックに同梱されているシンプルレンズのパラメータを調整してみましょう。

まず、Projectビュー上のアセットを保存したいフォルダで右クリック → "Create" → "VirtualLens" → "Simple" とたどってください。そうすると新たなアセットファイルが生成されるので適切な名前を設定しましょう。

そして、生成されたアセットを選択するとInspectorビューに設定可能なパラメータが表示されます。ここで設定を変更した後、 VirtualLens Settings コンポーネントのLensesに作成したレンズアセットを割り当てることで新たに作成した拡張レンズを使用することができるようになります。

シンプルレンズのパラメータ

基本パッケージに付属しているシンプルレンズのパラメータの説明は以下の通りです:

Mode Field Of View 画角を高さ方向の視野角で指定します。Unityのカメラコンポーネントと同様の指定方法です。
Focal Length 画角を35mm判換算の焦点距離で指定します。
Zoom 画角をVRChat標準のVRカメラに対する拡大率で指定します。
Additional Layers UI レイヤー "UI" に属するオブジェクト (HUD, Tooltipなど) を映すようにします。
UiMenu レイヤー "UiMenu" に属するオブジェクト (ネームプレートなど) を映すようにします。

拡張レンズの配置

拡張レンズに対応するカメラコンポーネントは "Parent of lenses" として指定したオブジェクトと同じ姿勢で配置されます。カメラの向きはZ軸正の方向が正面、Y軸正の方向が上となります。また、セットアップガイドでは基準オブジェクトとしてPrefabを利用していますが、代わりに Empty Object などを利用しても構いません。

カメラモデルの差し替え

VirtualLens基本パッケージにはおまけとしてカメラの3Dモデルが付属していますが、他のカメラに差し替えて利用することもできます。

プレビューを配置したい場合はマテリアルとして VirtualLens/Common/Materials/PreviewMaterial.mat を指定したQuadを配置することで、付属のモデルと同様のプレビュー表示を実現することができます。LensBase Prefab 内にある PreviewQuad も参考になるかと思います。

自動生成されたオブジェクトの削除

VirtualLensではアバターのヒエラルキー内に多くのオブジェクトを自動生成します。一方で自動的に削除はされないため、場合によっては手動で削除していく必要がある場合があります。以下にそのようなときに削除するべきオブジェクトの場所を示します。

既知の不具合・仕様