見出し画像

Godot XR Toolsを使った記録

概要

Godot XR Toolsを使った記録です。
前のNoteのWebXRを作った続きで行いました。
Godot XR Toolsの作者のYotubeを参照してほぼそのままです。
The Godot XR Tools library part 1 - introduction - YouTube
Godot XR Tools part 2 - Picking up objects - YouTube

Godot XR Toolsのインストールと設定

ウインドウ上側のAssetLibからインストールしました。

プロジェクト設定から有効化しました。

Godot XR Toolsが動くように下記を追加しました。

  • XRCamera3Dにvr_common_shader_cache.tscnを追加

  • XRController(LeftController)にleft_hand_low.tscnを追加

  • XRController(RightController)にright_hand_low.tscnを追加

  • XROrigin3Dにplayer_body.tscnを追加

Physics Layers | Godot XR Tools (godotvr.github.io)を参考にプロジェクト設定のLayer Names -> 3D物理にレイヤー名を付けました。

Picking up objects物をつかむ

Godot XR Tools作者のYotubeを参考にしました。
シーン->新しい継承シーン から res://addons/godot-xr-tools/objects/pickable.tscnを選択してシーンを作成しました。
出来たシーンにCollisionShape3DのShapeとMeshInstance3Dを足しました。
また手を近づけた時に光るようにXRToolsHighlightRingを足しました。

Materialは、Albedoで紫に、Flip Facesをオンで反転してます。


また、メインシーンに戻ってLeftControllerとRightControllerにfunction_pickup.tscnを足しました。

これで掴めるようになりました。

掴む位置の調整のためgrab_point_hand_left.tscnを追加しました。作者の動画のpart2の4:40秒あたりをそのまましました。バージョンアップで見た目が少し変わっていました。

res://addons/godot-xr-tools/hands/animations/left/Grip Shaft.resを選択しました。

Godot XR Toolsの衝突

Pick up ObjectsのCollisionは次の画像でした。

PlayerBody(player_body.tscn)のCollisionは次の画像でした。もしプレイヤーとぶつかりたく無い物を作りたかったらLayerを1~10以外にする必要があります。(VRで近づけなくてだいぶはまりました)

この記事が気に入ったらサポートをしてみませんか?