-
Notifications
You must be signed in to change notification settings - Fork 9
VR Follow HUD
VR において、視界にピッタリ張り付く HUD(Head Up Display、いわゆるオーバーレイ表示)は VR 酔いに繋がると言われていました。
このギミックはその理論を元に、HUD をビューポイントの移動に遅延して追従させる UDON ギミックです。
パラメーターで位置と回転を別々に設定でき、遅延させずに同期させる事も可能です。
また、追従箇所を指定する事ができるので、HUD 以外の用途にも応用できます。
一般的な HMD は焦点距離がビューポイントから前方に2m程度で設定してあるそうです。
本ギミックに添付のサンプル Prefab は、ビューポイントから2m前方に Render Mode が World Space の Canvas が表示されるよう調整してあります。
なお、そのままだと2m以内にあるオブジェクトにUIが隠れてしまうので、必要な人は別途対策してください。
参考リンク :
TextMeshPro を常に最前面に表示させる
UIがオブジェクトに隠れてしまう時の対処法
- 主観視点または VRCカメラに遅延追従するギミック
- トラッキング部位に遅延追従するギミック
Packages > Fukuro Udon > Samples > VRFollowHUD にサンプル Prefab が入っています。
CameraFollowTracker_sample はプレイヤーの主観視点(または VRCカメラ)に遅延追従する Canvas が組み込まれています。通常はこちらをお使いください。
TrackingFollowTracker_sample はプレイヤーの指定したトラッキング部位(初期値は頭)に遅延追従する旧式です。
プレハブを Hierarchy に置くだけで、このプレハブがプレイヤーの主観視点に遅延追従するようになっています。
遅延追従が不要な場合は、ピッタリ追従する LocalPlayerCameraTracker, LocalPlayerTrackingTracker もあります。遅延処理が無い分軽量です。
このコンポーネントを「Add Component」から直接アタッチしてください。
Important
表示したい内容は各自で用意してください。
- Tracking Point : 追従箇所を指定します。ScreenCamera(主観視点)/PhotoCamera(VRCカメラ) から選択できます
- Tracking Point : 追従箇所を指定します。Head/Right Hand/Left Hand/Origin(ルームスケールの原点)/AvatarRoot から選択できます
- Enable Position : 有効にすると、位置がTracking Pointに向かって追従するようになります。
- Enable Rotation : 有効にすると、向きがTracking Pointに向かって追従するようになります。
- VR Only : 有効にすると、デスクトップモードの時のみ位置と回転が遅延せずに追従します
- Sync Potision : 有効にすると、位置が遅延せずに追従します
- Follow Move Speed : 追いつく移動速度
- Distance Range : ここで設定した値以上離れなくなります(meter)
- Move Threshold : この値以上離れるまで追従しなくなります(meter)
- Sync Rotation : 有効にすると、回転が遅延せずに同期します
- Follow Rotate Speed : 追いつく回転速度
- Angle Range : ここで設定した値以上に角度が開いていると、回転速度が加速します
- Rotate Threshold : この値以上角度が開くまで追従しなくなります
- Lock Roll : 有効にすると、Z軸回転のみ遅延せずに同期します
- Lock Pitch : 有効にすると、X軸回転のみ遅延せずに同期します
- Lock Yaw : 有効にすると、Y軸回転のみ遅延せずに同期します
以下のワールドにサンプルを設置しています。
https://vrchat.com/home/world/wrld_4b7ed36e-c436-409f-9f87-8a6f4c80e79b
