2016-04-21 333 views
0

试图找出如何将Vector3转换为四元数。如果我需要不断更新所述值,也可以吗?如何将Vector3转换为四元数?

+0

由于任何原因,从不使用四元数。你不能使用,访问或设置它们,它们不可用。只需使用** Rotate **,** RotateAround **,如果您只需设置** eulerAngles **或** ** localEulerAngles **即可。 – Fattie

+0

Quaternion.Euler() – aet

+1

[User controlled Quaternion Slerp?](http://stackoverflow.com/questions/36724786/user-controlled-quaternion-slerp) – Fattie

回答

3

你可以很容易地转换到的Vector3四元数通过使用,例如,这样的:

Quaternion quaternion = Quaternion.Euler(v.x, v.y, v.z); 

因此,举例来说,这是

Quaternion rot = Quaternion.Euler(V3.x, V3.y, V3.z); 

应该这样做!

+0

那么@JoeBlow会让我质疑使用四元数是否是最好的方法,因为它们不能被更新。 – Sie

+1

四元数相当复杂,这主要是为什么。看看这些文档,看看他们的主要用途:http://docs.unity3d.com/ScriptReference/Quaternion.html –