Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 需要一个对象从当前位置旋转到新位置_C#_Unity3d_Rotation - Fatal编程技术网

C# 需要一个对象从当前位置旋转到新位置

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

我希望在调用事件触发器时,游戏对象从当前位置旋转到0,0,0

我已经更新了我的代码,这确实有效,也符合我的要求,但是否可以添加一个“速度”变量来控制它在四元数.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;
}

}

您可以将四元数逐渐应用于对象(按您所需的步骤进行),使其根据速度或时间变化

这就是所谓的插值。对于四元数,插值公式称为SLERP:


研究它在unity3d中是如何工作的。

那么你想让它朝向默认方向,还是想让它移动到0,0,0?旋转到0,0,0?你想旋转还是仅仅捕捉到0,0,0?旋转就是这样,它会旋转看起来你读的unity文档不多。。因为“旋转”保持当前的旋转量。。也许你可以从
currentposition(0,0,0)
没有意义开始。另外。。你说的是旋转还是位置。。这是两件不同的事情,你怎么用这些名字毫无意义。。