今回はつかんでいるオブジェクトをスナップして配置する方法を紹介します。
スナップとは決められた範囲に入ると自動的に位置や回転が固定されることです。
配置するためのボードの設定
PlaneとCubeを生成します。Planeの名前を「BasePanel」「Cube」の名前をBasePointとします。

Planeは見た目の台座の役目があり、Cubeは実際にオブジェクトをはめるための判定と位置の設定の役割があります。
以下のように BasePanel と BasePoint のTransformを以下のように設定します。


BasePoint にAdd Componentから「XR Socket Interactor」を追加します。

BasePoint の「XR Socket Interactor」のHover Socket Snappingにチェックを入れます。これによってオブジェクトを持っているときにスナップ位置に入った時に自動的にスナップすることができます。

BasePoint のColliderの Is Trigger にチェックを入れます。

Mesh Renderer のチェックを外します。

配置するオブジェクトの設定
Cubeを生成します。名前を「SnapBlock」にします。Transformを以下のように設定します。

Add Componentから「XR Grab Interactable」を追加します。

今回は宙に浮かせて回転させないようにするために SnapBlock の「RigidBody」を Use Gravity のチェックを外し、 Is Kinematic にチェックを入れます。

実行
今回はオブジェクトのスナップの仕方について紹介しました。