前提
XR Grab Interactableを使用した場合のオブジェクトとコントローラーとの位置調整を無効化したいです。
実現したいこと
unityのVR空間でXR.Interaction.ToolkitのXR Grab Interactable機能を利用してオブジェクトのTransformの値を変更せずに掴み、任意のPositionとRotationでオブジェクトを空間上に設置する。
発生している問題・エラーメッセージ
1.XR Grab Interactableを利用してオブジェクトを掴むとオブジェクトが自動的にVR上の手と位置調整されてしまう。
(Cubeであれば特定の面が手の方向を向くように回転されます。)
2.スクリプトにて位置調整を無効化しようと試みましたが、反映されませんでした。
位置調整無効化を企図して作成したスクリプト
言語C#
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR;
using UnityEngine.XR.Interaction.Toolkit;
public class grab_muki : MonoBehaviour
{
public GameObject bloc;
public Transform transform;
public void OnSelectEntered(XRGrabInteractable xrGrabInteractable) { bloc = GameObject.Find("Bloc1"); transform = bloc.GetComponent<Transform>(); xrGrabInteractable.selectingInteractor.attachTransform.position = transform.position; xrGrabInteractable.selectingInteractor.attachTransform.rotation = transform.rotation; }
}
試したこと
1.上記のスクリプトをオブジェクトにアタッチしましたが、無効化できませんでした。
2.アタッチ後、スクリプト内のGameObject、 Transformの参照先の設定を試行錯誤しましたがスクリプトは機能しませんでした。
3.Inspector内のXRGrabInteractableの設定項目を場合分けしながらオンオフを試しましたが無効化できませんでした。
4.ネット上にて設定等を検索しましたが解決しませんでした。
補足情報(FW/ツールのバージョンなど)
unityバージョン:2019.4.40f1

あなたの回答
tips
プレビュー