/// <summary> /// transfer from one entity to another, preserving transform information /// </summary> internal override void PrepareForTransfer(Entity toEntity) { Position = Entity.Transform.WorldPosition(true) - toEntity.Transform.WorldPosition(true); Core.Mathematics.Quaternion inverted = toEntity.Transform.WorldRotation(); inverted.Invert(); Rotation = Entity.Transform.WorldRotation() * inverted; }
public static void SphericalLinear(ref Core.Mathematics.Quaternion value1, ref Core.Mathematics.Quaternion value2, float t, out Core.Mathematics.Quaternion result) { Core.Mathematics.Quaternion.Slerp(ref value1, ref value2, t, out result); }
public static void Cubic(ref Core.Mathematics.Quaternion value1, ref Core.Mathematics.Quaternion value2, ref Core.Mathematics.Quaternion value3, ref Core.Mathematics.Quaternion value4, float t, out Core.Mathematics.Quaternion result) { // TODO Investigate: Squad doesn't seem to do the same thing as implicit derivatives throw new NotImplementedException(); }