gpt4 book ai didi

c# - unity 在最小和最大距离之间旋转

转载 作者:行者123 更新时间:2023-11-30 16:45:22 25 4
gpt4 key购买 nike

我正在努力使拖动对象成为可能。这个物体只能旋转这么多。 (类似于门)。

这里是经过编辑的代码,可以旋转一个有效的对象。我有 2 个向量用于 maxrotation 和 minrotation。

只要用户拖动可交互对象,就会调用此代码。 (类似更新,但仅在拖动时)

        if (GestureManager.Instance.IsNavigating &&
HandsManager.Instance.FocusedGameObject == gameObject)
{
//speed and navigiation of rotation
float rotationFactor;
rotationFactor = ManipulationManager.Instance.ManipulationPosition.y * RotationSensitivity;
totransform.Rotate(new Vector3(rotationFactor, 0, 0));
}

如果我可以在这里使用 if 语句,那就太好了。我尝试了很多东西,但仍然没有用。

如前所述,此处粘贴的代码有效。该对象应该是可拖动的,但只能拖动到特定点。

totransform 是将被旋转的变换

如有任何想法,我们将不胜感激。

亲切的问候。

最佳答案

我想你想看看eulerAngles .检查您获得的值,然后在进行旋转之前设置一个 if 语句。这是一个示例代码,供您查找所需的值:

if (GestureManager.Instance.IsNavigating &&
HandsManager.Instance.FocusedGameObject == gameObject)
{
//speed and navigiation of rotation
float rotationFactor = ManipulationManager.Instance.ManipulationPosition.y * RotationSensitivity;

Debug.Log(totransform.eulerAngles);
if (totransform.eulerAngles.x < 100) {
totransform.Rotate(new Vector3(rotationFactor, 0, 0));
}
}

关于c# - unity 在最小和最大距离之间旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42277113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com