public void ChangeCameraMode(OrbitCamera.ControlType type) { Camera.Control = type; if (type == OrbitCamera.ControlType.Walk) { SetMaxViewingLevel(World.WorldSizeInVoxels.Y); var below = VoxelHelpers.FindFirstVoxelBelowIncludingWater(new VoxelHandle(World.ChunkManager, GlobalVoxelCoordinate.FromVector3(new Vector3(Camera.Position.X, World.WorldSizeInVoxels.Y - 1, Camera.Position.Z)))); Camera.Position = below.WorldPosition + Vector3.One * 0.5f + Vector3.Up; } }
public void ChangeCameraMode(OrbitCamera.ControlType type) { Camera.Control = type; if (type == OrbitCamera.ControlType.Walk) { Master.SetMaxViewingLevel(VoxelConstants.ChunkSizeY + 1); var below = VoxelHelpers.FindFirstVoxelBelowIncludeWater(new VoxelHandle(ChunkManager.ChunkData, GlobalVoxelCoordinate.FromVector3(new Vector3(Camera.Position.X, VoxelConstants.ChunkSizeY - 1, Camera.Position.Z)))); Camera.Position = below.WorldPosition + Vector3.One * 0.5f + Vector3.Up; } }