// ------------------------------------------------------------------------------------------------ protected override void OnChangingMode(MySpectatorCameraMovementEnum oldMode, MySpectatorCameraMovementEnum newMode) { if (newMode == MySpectatorCameraMovementEnum.UserControlled && oldMode == MySpectatorCameraMovementEnum.ConstantDelta) { MatrixD gravityOrientationMatrix; ComputeGravityAlignedOrientation(out gravityOrientationMatrix); m_orientation.Up = gravityOrientationMatrix.Up; m_orientation.Forward = Vector3D.Normalize(Target - Position); m_orientation.Right = Vector3D.Cross(m_orientation.Forward, m_orientation.Up); AlignSpectatorToGravity = false; } }
protected override void OnChangingMode(MySpectatorCameraMovementEnum oldMode, MySpectatorCameraMovementEnum newMode) { if ((newMode == MySpectatorCameraMovementEnum.UserControlled) && (oldMode == MySpectatorCameraMovementEnum.ConstantDelta)) { MatrixD xd; this.ComputeGravityAlignedOrientation(out xd); base.m_orientation.Up = xd.Up; base.m_orientation.Forward = Vector3D.Normalize(base.Target - base.Position); base.m_orientation.Right = Vector3D.Cross(base.m_orientation.Forward, base.m_orientation.Up); this.AlignSpectatorToGravity = false; } }
protected virtual void OnChangingMode(MySpectatorCameraMovementEnum oldMode, MySpectatorCameraMovementEnum newMode) { }