1. Add grabbable hats to the scene
- 以下のように Hat と Hook を用意
- Hat はこれまでと同じく Grab 可能に
- XR Grab Interactable をアタッチ
- Rigidbody の Collisition Detection を
Contenious Dynamicに - XR Grab Interactable の
Smooth Position/Rotationを enable
2. Turn the hook into a socket
- Hook の先端に
Socket 1,Attachという Empty Object を作るAttachはSocket 1のさらに子オブジェクト
- Socket 1 には
Sphere ColliderとXR Socket Interactorをアタッチ
- Sphere Collider は
Is Trigger及び、 Radius を調整 XR Socket InteractorにはAttach TransformにAttachGameObject をセット
Attachは Socket にセットされる GameObject の位置・方向になるため、以下のように Hat の前方が下に向くようにしておく- Unity は Z が前方なので、前方を下に向かせれば Hat も下を向いてかけられる。
- Y つまり、Up も Hook に対して前方にしておけば Hat の頭部分が向くようになる


3. Duplicate the sockets and attach hats
Socket 1(内部にAttach) を複製して、Hook の各フック箇所にセット- それぞれの
XR Socket InteractorのStarting Selected Interactableに Hat を設定しておけば、開始時に最初から Socket にかかっている状態になる
4. Put hats on your head
- 自分でかぶれるようにする
- Socket に
Attachを指定しない代わりに、少しだけ上にずらす XR Socket InteractorとSphere ColliderをアタッチRadiusは Hook より少し大きめにしておく
5. Prevent other GameObjects from acting like hats
Layer を使って、なんでも Hat と同じように「頭にかぶる」、「Hook にかける」ができないように。
- Layer に新しく
Hatsを作成 XR Grab Interactableを持つものに対して以下のようにセット- Hats
- Hats 以外
Defaultのまま
- Hats
XR Socket Interactorを持つもの(現在は Hook と MainCamera のみ) を以下のように設定- Hat に反応するもの
- それ以外
- おそらく
EverythingからDefaultに変更
- おそらく
- Hat に反応するもの
XR Interaction Toolkit 設定での Interaction Layers への反映
上記で利用される Layer は Project Settings の XR Interaction Toolkit の Interaction Layers に追加されるようです。








