ニュース

Top  >   27. 移動・テレポート・掴む  >   Q, 銃や剣など、持つ場所(持ち方)を固定したい

Q, 銃や剣など、持つ場所(持ち方)を固定したい

2026/03/18

メインコンテンツへスキップ
< すべてのカテゴリに戻る

A,結論

持つ位置を固定したい場合は、Grab Interactable の Attach Transform を使って持ち手を定義します。

原因 / 背景

  • オブジェクトの原点で掴ませると、剣や銃のような道具は不自然な位置・角度で手に付いてしまいます。
  • XR では持ち方を明示的に作るのが基本です。

実装 / 手順

  1. オブジェクトの子に持ち手用 Transform を作り、その位置と向きを実際の握りに合わせます。
  2. XR Grab Interactable の Attach Transform に設定し、必要なら左右別に持ち手を用意してください。
  3. 複数の持ち方が必要なら、状況に応じて Attach Transform を切り替える設計も有効です。

サンプルコード

using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit;

[RequireComponent(typeof(XRGrabInteractable))]
public class FixedGripSetup : MonoBehaviour
{
    [SerializeField] private Transform attachPoint;

    private XRGrabInteractable _grabInteractable;

    private void Awake()
    {
        _grabInteractable = GetComponent<XRGrabInteractable>();
        if (attachPoint != null)
        {
            _grabInteractable.attachTransform = attachPoint;
        }
    }
}

※ 実機確認が必要な項目は、Editor だけで判断せず対象デバイスでも必ず動作確認してください。

難易度:Level 2(初心者)
対象プラットフォーム:PC,Android,VR,Unity
関連キーワード:xr,グリップ,位置調整,持ち方

Level 1-2 向けバナー