これは、このセクションの複数ページの印刷可能なビューです。 印刷するには、ここをクリックしてください.
設定リファレンス
- 1: 設定パラメータ一覧
- 2: カメラモデルの差し替え
- 3: 4K撮影
- 4: 設定テンプレートの作成
1 - 設定パラメータ一覧
セットアップ時に自動的に生成される VirtualLens Settings コンポーネントには様々なパラメータが存在します。 これらのパラメータを変更して再適用することでVirtualLens2の挙動をある程度カスタマイズすることができます。
基本設定 (General)
ビルドモード (Build Mode)
VirtualLens2のセットアップを非破壊編集を用いるか破壊的編集を用いるかを選択します。
アバター (Avatar)
セットアップ対象となるアバターを設定します。VRCAvatarDescriptorコンポーネントを持ち、Humanoidアバターとしてセットアップされている必要があります。 非破壊ワークフローを用いている場合はその VirtualLens Settings コンポーネントを持つオブジェクトを含んでいるアバターがセットアップ対象となります。
カメラメッシュに関する設定 (Camera Object)
カメラメッシュの設定 (Root Object, Non-Preview Root)
VirtualLens2利用時に手元に表示されるカメラオブジェクトについての設定を行います。詳細はカメラモデルの差し替えをご参照ください。
自動設定 (Auto Placement)
カメラメッシュの自動配置を再実行します。配置のリセットやカメラモデルを後から差し替える場合などに利用することができます。
マーカーオブジェクト (Marker Objects)
いくつかの機能で位置や向きの基準として使用されるオブジェクトを選択します。 必要に応じてこれらのオブジェクトの位置などを調整することで関連する挙動をカスタマイズすることができます。
スクリーン操作オブジェクト (Screen Touchers)
タッチスクリーンとの当たり判定に用いられるオブジェクトです。通常はカメラを持っていない方の手の人差し指の先に配置されます。
ドローンコントローラー (Drone Controller)
ドローンモード利用時に速度を制御するためのコントローラを表示する位置を示すオブジェクトです。 通常はカメラを持っていない方の手の手のひら付近に配置されます。
再配置時の原点 (Reposition Origin)
再配置モード利用時に再配置前の点に対応する位置を示すオブジェクトです。 通常は胸の少し前に配置されます。
自撮りマーカー (Selfie Markers)
自撮りAF利用時にピントを合わせる点を表すオブジェクトです。 通常は各目の瞳付近に配置されます。
連続値パラメータに関する設定
焦点距離 (Focal Length)
焦点距離の上限・下限・デフォルト値をフルサイズセンサ (35mm版) 換算の値で設定します。
Min Focal Length [mm] | 焦点距離の下限値を設定します。 |
---|---|
Max Focal Length [mm] | 焦点距離の上限値を設定します。 |
Default Focal Length [mm] | 焦点距離のデフォルト値を設定します。 |
Sync Parameter for Remote | 焦点距離パラメータをリモートプレイヤーにも同期するようにします。 |
絞り (Aperture)
被写界深度シミュレーションの実装の有無と、開口部の大きさの上限・下限・デフォルト値をF値を用いて設定します。
Enable DoF Simulation | 被写界深度シミュレーションを実装するかどうかを設定します。 |
---|---|
Min F Number | F値の下限値 (=開放絞り値) を設定します。 |
Max F Number | F値の上限値を設定します。 |
Default F Number | デフォルトのF値を設定します。Max F Number と等しい場合被写界深度シミュレーションが無効な状態を表します。 |
Sync Parameter for Remote | F値パラメータをリモートプレイヤーにも同期するようにします。 |
マニュアルフォーカス (Manual Focusing)
マニュアルフォーカス機能の実装の有無と、フォーカス可能な距離の範囲をメートル単位で設定します。
Enable Manual Focusing | マニュアルフォーカス機能を実装するかどうかを設定します。 |
---|---|
Min Focus Distance [m] | マニュアルフォーカス機能利用時の最短撮影距離を設定します。 |
Max Focus Distance [m] | マニュアルフォーカス機能利用時の最長撮影距離を設定します。 |
Sync Parameter for Remote | マニュアルフォーカス時のフォーカス距離をリモートプレイヤーにも同期するようにします。 |
露出補正 (Exposure Compensation)
露出補正機能の実装の有無と、補正値の範囲・デフォルト値を設定します。
Enable Exposure Compensation | 露出補正機能を実装するかどうかを設定します。 |
---|---|
Exposure Range [EV] | 露出補正値の範囲を設定します。 |
Default Exposure [EV] | デフォルトの露出補正値を設定します。 |
Sync Parameter for Remote | 露出補正値をリモートプレイヤーにも同期するようにします。 |
ドローン機能 (Drone)
ドローン機能の実装の有無と速度などのパラメータを設定します。
Enable Drone | ドローン機能を実装するかどうかを設定します。 |
---|---|
Speed Scale | ドローンの速度を調整します。1秒あたりの移動量がコントローラへの入力量にこの値を乗じた量となります。 |
Dead Zone of Speed Controller | コントローラから入力された速度を0とみなす範囲の半径をメートル単位で設定します。 |
Yaw Speed Scale | 2D Puppet の左右方向入力による回転の速度を設定します。目一杯入力した場合の1秒あたりの角度変化がこの値となります。 |
Enable Quick Turn | クイックターン機能を有効化するかどうかを設定します。 |
Enable Zoom Control | 2D Puppet の上下方向入力によるズーム制御を有効化するかどうかを設定します。 |
クリッピング平面 (Clipping Planes)
VirtualLens2が撮影に使用するカメラが写す範囲を設定します。
外部オブジェクトの制御
連動オブジェクト (Optional Objects)
VirtualLens2の有効・無効に連動して有効化・無効化されるオブジェクトを設定します。 チェックが有効な場合はVirtualLens2が有効な時に有効化・無効な時に無効化され、チェックが無効な場合はその逆となります。
非表示化可能オブジェクト (Hideable Meshes)
メッシュの非表示化機能で表示を制御可能なオブジェクトを設定します。 機能が有効な場合、設定したオブジェクトに含まれるMeshRendererもしくはSkinnedMeshRendererコンポーネントの有効・無効が制御されます。
プリセットの呼び出し (Quick Calls)
プリセット機能で呼び出し可能な設定を最大8個まで設定します。 焦点距離・絞り・露出補正のうちチェックされた項目のみを指定された値で更新します。
プレビュー画面の設定 (Display Settings)
デフォルト設定の変更 (Grid, Information, Level, Peaking)
デフォルト状態でプレビュー画面に表示する項目を設定します。 各項目とその値はプレビュー画面の情報表示設定に用いるものとそれぞれ対応しています。
カスタムグリッドの設定 (Custom Grids)
グリッドの代わりに使用できる画像を最大4つまで登録することができます。
画像は以下の要件を満たしていることが推奨されます。サンプルデータ (VirtualLens2/Textures/CustomGrid_Example.png
) のインポート設定もあわせてご参照ください。
- アルファチャンネルに不透明度を持つ (
Alpha is Transparency
の有効化) - 解像度は 1280x720
- 2べきへの自動リサイズを行わない (
Non-Power of 2
の無効化) - Mip map を生成しない (
Generate Mip Maps
の無効化)
オートフォーカス設定 (Default Auto Focus Settings)
デフォルト状態のオートフォーカス設定を変更します。 各項目とその値はオートフォーカスモードおよびオートフォーカスのパラメータの設定に用いるものとそれぞれ対応しています。
画像処理アルゴリズムの設定 (Algorithm Settings)
被写界深度シミュレーションのパラメータなど画質と負荷に関する設定を行います。
Enable 4K Capturing | チェックが有効な場合4K撮影機能を有効化します。 |
---|---|
Max Blurriness | 被写界深度シミュレーションによるボケの径の最大値を設定します。 |
MSAA Samples | MSAAサンプル数を設定します。大きくするとポリゴンのエッジが滑らかになる代わりに負荷が大きくなります。 |
Post Antialiasing | 後処理として適用するアンチエイリアシングに使用するアルゴリズムを選択します。 |
Realtime Post Antialiasing | 4K撮影モード有効な場合のプレビュー画面描画に使用するアンチエイリアシングアルゴリズムを選択します。 |
その他の設定 (Advanced Settings)
Artifacts Folder | (破壊的セットアップのみ)セットアップ時に自動生成されるファイルの保存先フォルダを指定します。無指定の場合は自動的にフォルダが生成されます。 |
---|---|
Clear Artifacts Folder | (破壊的セットアップのみ)チェックを有効化するとセットアップ時に Artifacts Folder の中身を一旦全削除します。 |
Thickness of Touch Screen | プレビュー画面の接触判定の厚みを調整します。大きい値を指定すると判定範囲が厚くなります。 |
Enable Write Defaults | チェックを有効化すると自動生成される Animator State の Write Defaults が有効化されます。 |
Depth Enabler | デフォルト状態で深度テクスチャの有効化を行うかどうかを設定します。 |
External Pose Source | 外部ポーズ入力機能を使用する場合に参照されるオブジェクトを設定します。 |
Remote Only Mode | (非破壊セットアップのみ)撮影機能などの実装を省き他プレイヤーからアバターを表示するときに必要な機能のみをセットアップします。 |
Modular Avatar に関する設定 (Modular Avatar Integration)
破壊的セットアップを利用しつつプロジェクトに Modular Avatar がインポートされている場合にのみ表示されます。 詳細は Modular Avatar との連携 (Legacy) もご参照ください。
Enable Modular Avatar Integration | チェックを有効化するとアバターへの変更の反映に Modular Avatar を利用します。 |
---|
2 - カメラモデルの差し替え
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の同梱もご検討ください。
3 - 4K撮影
基本的な設定
VirtualLens2側の設定
セットアップ時に VirtualLens Settings の Algorithm Settings 内にある “Enable 4K Capturing” のチェックを有効化してください。
VRChat側の設定
VRChat標準カメラのメニュー中のResolutionから 4K (2160p) を選択してください。
注意事項
設定がかみ合っていない場合の動作について
VRChat側の設定でカメラ解像度が3840x2160以外の値に設定されている場合、VirtualLens2は1920x1080用のレンダリング結果を拡大縮小して出力しようとします。 そのため、3840x2160または1920x1080以外の解像度が設定されている場合画質が劣化してしまう点にご注意ください。
また、VirtualLens2側で4Kキャプチャ設定が有効になっている場合の1920x1080用のレンダリング結果はプレビュー用として若干画質が落ちた状態となります。 これにより、VRChat側のカメラ解像度設定がデフォルト (1920x1080) のままの場合は4Kキャプチャ設定を有効化しない方が画質面では有利となります。
Stream Camera との併用について
Stream Camera 利用時のカメラ解像度はデスクトップ側ウィンドウの表示サイズと一致します。 そのため、ウィンドウサイズをうまく調整しないと上述の設定がかみ合っていない時のような画質劣化の原因となってしまいます。 可能であれば、VRChatの起動オプションを利用してフルスクリーンかつ3840x2160 (4K撮影有効時) もしくは1920x1080 (4K撮影無効時) となるように設定することをお勧めします。
4 - 設定テンプレートの作成
VirtualLens2の設定パラメータは多く、複数のアバターに対してほぼ同じ設定でセットアップを行う場合パラメータを入力するだけでも大きな手間となってしまいます。 そのような場合、設定テンプレートを作成しておくことで共通部分の入力を省略することができます。
設定Prefabの作成
まず一度通常の手順でセットアップを行います。その時に生成された VirtualLens Settings を持つオブジェクトをプロジェクトビューにドラッグアンドドロップすることで設定Prefabを生成することができます。 このとき新規Prefabとして作成するか Prefab Variant として作成するか確認されますが、通常は Prefab Variant として作成することをおすすめします。
v2.9.0-: デフォルト設定もPrefab (VirtualLens2/Prefabs/DefaultSettings.prefab
) として提供されるようになりました。v2.8.x以前のセットアップヘルパーによって作成された VirtualLens Settings はこのPrefabを参照していないため、今後のアップデートに追従するために再度設定Prefabを作成しなおすことをおすすめします。
設定Prefabの使用
新たなアバターにVirtualLens2をセットアップする際、セットアップヘルパーの “Settings Template” の欄に先ほど作成したPrefabを指定してください。 これにより、VirtualLens2付属のデフォルト設定の代わりに作成したテンプレートを元にして設定が行われるようになります。