我正在尝试在 Unity 中制作一个游戏,当玩家(使用 oculus 任务控制器)抓住对象时,他可以在不移动对象的情况下在固定位置旋转它。我在将控制器的本地位置转换为对象的区域设置位置并使用 c# 旋转它时遇到问题。请帮助我,我还是新手。
**编辑:这是我最后一次尝试:
[Header("Controller")]
public OVRInput.Button grabButton;
public GameObject target;
public float speed=0.01f;
//Quaternion m_MyQuaternion;
public Vector3 targetPosition;
void Update()
{
if (OVRInput.Get(grabButton))
{
targetPosition = new Vector3(taregt_eulerAngX, taregt_eulerAngY, target_eulerAngZ);
if (Vector3.Distance(transform.eulerAngles, targetPosition) > 0.01f)
{
transform.eulerAngles = Vector3.Lerp(transform.rotation.eulerAngles, targetPosition, Time.time * speed);
}
}
}
在这种情况下,目标是左手,所以当我抓住 gameobj 时,它会相应地旋转到手(控制器)