C# 旋转对象并在特定点停止
我已经访问了许多链接,并给出了一些可能的答案,但我仍然不知道如何实现这一点 我在一个轴点内有一个对象(实际上它是一扇门),我想将门旋转90度,然后停在那里,此时我的门旋转并且从不停止 我刚刚做了这个:C# 旋转对象并在特定点停止,c#,unity3d,unity5,C#,Unity3d,Unity5,我已经访问了许多链接,并给出了一些可能的答案,但我仍然不知道如何实现这一点 我在一个轴点内有一个对象(实际上它是一扇门),我想将门旋转90度,然后停在那里,此时我的门旋转并且从不停止 我刚刚做了这个: using UnityEngine; using System.Collections; public class moveLastDoor : MonoBehaviour { private bool rotating = true; public void Update()
using UnityEngine;
using System.Collections;
public class moveLastDoor : MonoBehaviour {
private bool rotating = true;
public void Update()
{
if(transform.rotation.y < 90f)
transform.Rotate(0f,10f*Time.deltaTime,0f);
}
}
使用UnityEngine;
使用系统集合;
公共类moveLastDoor:单一行为{
私有布尔旋转=真;
公共无效更新()
{
if(变换旋转y<90f)
变换。旋转(0f,10f*时间。增量,0f);
}
}
如何在特定的所需点停止旋转?问题在于
变换。旋转是一个四元数。您应该以这种方式进行比较:
if(transform.rotation.eulerAngles.y<90f)
在这里,您可以找到有关Unity旋转和四元数的更多信息:
几个小时前刚刚回答了这个问题。你在找什么?看看那里的RotateObject
函数。记住从Start函数调用一次,或者仅在Update函数中需要时调用。不要像那样把它放在Update函数中,因为它在完成运行后会被再次调用。