public MovableQuat(Matrix transform) { Matrix3 rotation = new Matrix3 (transform); m_rotation = rotation.getQuaternion (); m_position = transform.Translation; m_scale = new Vector3 (1.0f); }
public MovableQuat(Vector3 forward, Vector3 up, Vector3 position) { Matrix3 rotation = new Matrix3 (forward, up, true); m_rotation = rotation.getQuaternion (); m_position = position; m_scale = new Vector3 (1.0f); }
public void decompose(out Vector3 scale, out Quaternion rotation) { EVector3 right = new EVector3 (this.Right); scale.X = right.normalize (); EVector3 up = new EVector3 (this.Up); scale.Y = up.normalize (); EVector3 forward = new EVector3 (this.Forward); scale.Z = forward.normalize (); Matrix3 m = new Matrix3 (right, up, forward); rotation = m.getQuaternion (); }
public MovableQuat(Matrix3 rotation) { m_rotation = rotation.getQuaternion (); m_position = Vector3.Zero; m_scale = new Vector3 (1.0f); }
public void billboard(Camera camera) { Vector3 forward = camera.Position - m_position; forward.Normalize (); Matrix3 billboard = new Matrix3 (forward, camera.Up); m_rotation = billboard.getQuaternion (); }