/// <summary> /// Calculates values for this state as interpolated between states passed /// </summary> /// <param name="psFrom"></param> /// <param name="psTo"></param> /// <param name="step"></param> public void Interpolation(VoxelModelPartState psFrom, VoxelModelPartState psTo, float step) { Vector3.Lerp(ref psFrom._translation, ref psTo._translation, step, out _translation); Vector3.Lerp(ref psFrom._rotationOffset, ref psTo._rotationOffset, step, out _rotationOffset); Vector3.Lerp(ref psFrom._scale, ref psTo._scale, step, out _scale); Quaternion.Slerp(ref psFrom._rotation, ref psTo._rotation, step, out _rotation); _transform = null; }
public VoxelModelPartState(VoxelModelPartState copyFrom) { ActiveFrame = copyFrom.ActiveFrame; Scale = copyFrom.Scale; Rotation = copyFrom.Rotation; Translation = copyFrom.Translation; RotationOffset = copyFrom.RotationOffset; BoundingBox = copyFrom.BoundingBox; }