C# 需要一个对象从当前位置旋转到新位置
我希望在调用事件触发器时,游戏对象从当前位置旋转到0,0,0 我已经更新了我的代码,这确实有效,也符合我的要求,但是否可以添加一个“速度”变量来控制它在四元数.identity之后旋转回0,0,0的速度 非常感谢C# 需要一个对象从当前位置旋转到新位置,c#,unity3d,rotation,C#,Unity3d,Rotation,我希望在调用事件触发器时,游戏对象从当前位置旋转到0,0,0 我已经更新了我的代码,这确实有效,也符合我的要求,但是否可以添加一个“速度”变量来控制它在四元数.identity之后旋转回0,0,0的速度 非常感谢 using System.Collections; using System.Collections.Generic; using UnityEngine; public class rotate : MonoBehaviour { public GameObject spinme
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class rotate : MonoBehaviour
{
public GameObject spinme;
public float speed;
public void spin()
{
spinme.transform.rotation = Quaternion.identity;
}
}您可以将四元数逐渐应用于对象(按您所需的步骤进行),使其根据速度或时间变化 这就是所谓的插值。对于四元数,插值公式称为SLERP:
研究它在unity3d中是如何工作的。那么你想让它朝向默认方向,还是想让它移动到0,0,0?旋转到0,0,0?你想旋转还是仅仅捕捉到0,0,0?旋转就是这样,它会旋转看起来你读的unity文档不多。。因为“旋转”保持当前的旋转量。。也许你可以从
currentposition(0,0,0)
没有意义开始。另外。。你说的是旋转还是位置。。这是两件不同的事情,你怎么用这些名字毫无意义。。