当事件触发被调用时,我希望GameObject从当前位置旋转到0,0,0。
我已经更新了我的代码,它确实可以运行并且可以执行我想要的操作,但是是否可以添加一个'speed'变量来控制Quaternion.identity之后旋转回0,0,0的速度?
非常感谢
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;
}
}
答案 0 :(得分:1)
您可以将四元数逐渐应用到对象上(按所需的任意多个步骤),以使其随速度或时间而变化。
这称为插值。对于四元数,插值公式称为SLERP:
https://en.m.wikipedia.org/wiki/Slerp
研究它在unity3d中的工作方式。