Add missed Quaternion constructor to C#
This commit is contained in:
parent
0a0e99cadc
commit
9487a6ea32
|
@ -572,6 +572,30 @@ namespace Godot
|
|||
}
|
||||
}
|
||||
|
||||
public Quaternion(Vector3 arcFrom, Vector3 arcTo)
|
||||
{
|
||||
Vector3 c = arcFrom.Cross(arcTo);
|
||||
real_t d = arcFrom.Dot(arcTo);
|
||||
|
||||
if (d < -1.0f + Mathf.Epsilon)
|
||||
{
|
||||
x = 0f;
|
||||
y = 1f;
|
||||
z = 0f;
|
||||
w = 0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
real_t s = Mathf.Sqrt((1.0f + d) * 2.0f);
|
||||
real_t rs = 1.0f / s;
|
||||
|
||||
x = c.x * rs;
|
||||
y = c.y * rs;
|
||||
z = c.z * rs;
|
||||
w = s * 0.5f;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Composes these two quaternions by multiplying them together.
|
||||
/// This has the effect of rotating the second quaternion
|
||||
|
|
Loading…
Reference in New Issue