private void ResetCamera(BaseCamera camera) { camera.BeginInit(); var targetPositionCamera = camera as TargetPositionCamera; if (targetPositionCamera != null) { targetPositionCamera.Heading = 30; targetPositionCamera.Attitude = -20; targetPositionCamera.Bank = 0; targetPositionCamera.Distance = 200; targetPositionCamera.TargetPosition = new Point3D(0, 0, 0); } else { var freeCamera = camera as FreeCamera; if (freeCamera != null) { freeCamera.CameraPosition = new Point3D(100, 150, -300); freeCamera.TargetPosition = new Point3D(0, 0, 0); } } camera.Offset = new Vector3D(0, 0, 0); camera.EndInit(); }