VRChat 非公式日本語ドキュメント

VRCCameraSettings

ユーザーのスクリーンカメラ、ハンドヘルドカメラ、およびUnityのグローバル品質設定に関する情報と限定的な制御機能を、ここに記載されたAPIを通じて提供します。

このクラスの2つのインスタンスには、以下の静的アクセサーを通じてアクセスできます。

note

これら2つのプロパティが、内部的に必ずしも単一の実際の Camera コンポーネントを参照しているとは限りません。VRChatが複雑な部分を抽象化しているため、開発者がこれを気にする必要は基本的にありません。しかし、完全性のために以下の点に留意してください。

  • VRCCameraSettings.ScreenCamera のプロパティを変更すると、Focus View カメラが影響を受けます。
  • 同様に、ハンドヘルドカメラが「Stream Camera」モードで開かれている間は、 VRCCameraSettings.PhotoCamera にアクセスすると、その際に使用されているコンポーネントが影響を受けます。
  • VRCCameraSettings.PhotoCamera は、Dolly Multi Camセットアップで使用されるすべてのカメラにもリンクされていますが、 FieldOfView などの一部のプロパティはそれらの間で異なる場合があります。その場合、最初のカメラの設定が返されます。

高度なユースケースでは、この状態を CameraMode プロパティを通じて読み取ることができます。

公開されているプロパティ

これらのインスタンスは、Unityの Camera クラスの特定のプロパティを公開します(これらのプロパティの詳細についてはUnityのドキュメントを参照してください)。安全上の理由から、生の Camera コンポーネントにアクセスすることはできませんので注意してください。ただし、ワールドに手動で配置したコンポーネントについては、 Camera クラスが公開されています。

現在 読み取り専用 として公開されているもの:

note

Activefalse である場合、 PositionRotation などのトランスフォームデータはすべて0になります。その場合、 Forward/Up/Right はそれぞれ Vector3.forward/up/right を返します。

現在 読み取り・書き込み可能 として公開されているもの:

Camera Mode

CameraMode プロパティは ScreenCamera および PhotoCamera で利用可能です。 ScreenCamera には以下のカメラモードがあります。

モード 説明
Screen ユーザーの現在の視点をレンダリングするためのデフォルトモード。
FocusView モバイルデバイスで Focus View を使用しているときにアクティブになります。

PhotoCamera には以下のカメラモードがあります。

Mode Description
PhotoOrVideo カメラが写真またはストリームモードです。絵文字やステッカーなどのモードを含みます。
Print カメラの「Prints」スキンが有効になっています。
DroneHandheld カメラがドローンモードです。
DroneFPV ユーザーがドローンをFPVモードで操縦しています。
Unknown Activefalse である場合に設定されます。

静的関数

主にVRユーザー向けに、VRCCameraSettings で2つの静的関数が公開されています。

さらに、汎用的な関数が1つ存在します。

OnChanged イベント

ユーザーが「Near Clip Override」などの特定のグラフィック設定を変更すると、OnVRCCameraSettingsChanged イベントがトリガーされます。

このイベントは毎フレーム、あるいは1フレーム中に複数回トリガーされる可能性があります。パフォーマンスへの影響を避けるため、処理は最小限に抑えることを推奨します。

Udon graph that prints screen size and FOV on Start and whenever it changes.

最終更新: