VR4RoboticArm2/VR4RoboticArm/Assets/Scripts/CustomKnob.cs
2025-09-11 15:53:18 +03:00

53 lines
1.3 KiB
C#

using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit;
using UnityEngine.XR.Interaction.Toolkit.Interactables;
public class CustomKnob : XRGrabInteractable
{
[SerializeField] private Transform offsetChild;
[SerializeField] private Transform father;
private Vector3 initialPos;
private Quaternion initialRot;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
initialPos = transform.position;
initialRot = transform.rotation;
}
// Update is called once per frame
void Update()
{
watchTheHandle();
}
private void watchTheHandle()
{
Vector3 globalPositionHandle = transform.parent.TransformPoint(transform.position);
Vector3 globalPostionOffset = transform.parent.TransformPoint(offsetChild.transform.position);
Vector3 offset = globalPositionHandle - globalPostionOffset;
father.transform.LookAt(offset);
}
protected override void OnSelectEntered(SelectEnterEventArgs args)
{
base.OnSelectEntered(args);
Debug.Log("Salut");
}
protected override void OnSelectExited(SelectExitEventArgs args)
{
base.OnSelectExited(args);
transform.position = initialPos;
transform.rotation = initialRot;
}
}