public CameraProjection(CameraProjectionType type, float zNear, float zFar, float fovOrScale) { Type = type; ZNear = zNear; ZFar = zFar; switch (type) { case CameraProjectionType.Perspective: { Fov = fovOrScale; Scale = 1; break; } case CameraProjectionType.Orthographic: { Fov = 0; Scale = fovOrScale; break; } default: throw new ArgumentOutOfRangeException(); } }
public static GameObject CreateCamera(CameraData cameraData) { CameraProjectionType camType = (CameraProjectionType)cameraData.type; Debug.LogFormat("Camera - Token:{0}, Name:{1}, Projection Type:{2}, VerticalFov:{3}, AspectRatio:{4}, HorizontalMag:{5}, NearClip:{6}, FarClip:{7}", cameraData.entityToken, cameraData.displayName, camType, cameraData.verticalFov, cameraData.aspectRatio, cameraData.horizontalMag, cameraData.nearClip, cameraData.farClip); // Get transformation data var transform = MarshalData.GetXFormFromUnmanagedArray(cameraData.xform); // Create a new game object GameObject cameraInst = new GameObject(cameraData.displayName); // Set transformation SceneTransmissionProtocolUtilities.UpdateObjectHierarchy(cameraInst, null, transform); // Add camera component Camera camera = cameraInst.AddComponent <Camera>(); SetCameraData(camera, cameraData); // Add token store PackageMapper.AddUniqueTokenStore(cameraInst, cameraData.entityToken); return(cameraInst); }
public Camera() : base() { _fieldOfView = MathHelper.ToRadians(45); _aspectRatio = (float)Application.GraphicsDevice.Viewport.Width / (float)Application.GraphicsDevice.Viewport.Height; _nearPlane = 1.0f; _farPlane = 500.0f; _projectionType = CameraProjectionType.Perspective; clearColor = Color.Black; depth = 0; }
public static bool UpdateCamera(CameraData cameraData) { CameraProjectionType camType = (CameraProjectionType)cameraData.type; Debug.LogFormat("Camera Update - Token:{0}, Name:{1}, Projection Type:{2}, VerticalFov:{3}, AspectRatio:{4}, HorizontalMag:{5}, NearClip:{6}, FarClip:{7}", cameraData.entityToken, cameraData.displayName, camType, cameraData.verticalFov, cameraData.aspectRatio, cameraData.horizontalMag, cameraData.nearClip, cameraData.farClip); // Get transformation data var transform = MarshalData.GetXFormFromUnmanagedArray(cameraData.xform); // Get camera game object GameObject cameraInst = PackageMapper.GetObjectFromToken(cameraData.entityToken) as GameObject; if (cameraInst) { // Set transformation SceneTransmissionProtocolUtilities.UpdateObjectHierarchy(cameraInst, null, transform); // Get camera component Camera camera = cameraInst.GetComponent <Camera>(); if (camera) { SetCameraData(camera, cameraData); } else { Debug.LogErrorFormat("Camera Update error! Camera component not found! Token:{0}"); return(false); } } else { Debug.LogErrorFormat("Camera Update error! Camera game object not found! Token:{0}"); return(false); } return(true); }
public void SetupOrthographicCamera(float width, float height, float nearPlaneDistance, float farPlaneDistance) { ProjectionType = CameraProjectionType.Orthographic; projection = Matrix.CreateOrthographic(width * zoom, height * zoom, nearPlaneDistance, farPlaneDistance); }
public void SetupPerspectiveCamera(float fieldOfView, float aspectRatio, float nearPlaneDistance, float farPlaneDistance) { ProjectionType = CameraProjectionType.Perspective; projection = Matrix.CreatePerspectiveFieldOfView(fieldOfView, aspectRatio, nearPlaneDistance, farPlaneDistance); }
public EditorCamera(CameraProjectionType type, GraphicsDevice device) { this.device = device; ProjectionType = type; }
private void OnGUI() { scrollviewPos = EditorGUILayout.BeginScrollView(scrollviewPos); style = new GUIStyle(EditorStyles.largeLabel); style.fontStyle = FontStyle.Bold; style.fixedWidth = 120; GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUILayout.Label("Canvas options", style); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.Space(10); createCanvas = EditorGUILayout.Toggle("Create new canvas", createCanvas); if (createCanvas) { GUILayout.Space(5); style = new GUIStyle(EditorStyles.foldoutHeader); style.fixedWidth = 185; style.fontStyle = FontStyle.Bold; canvasFoldOut = EditorGUILayout.Foldout(canvasFoldOut, "Canvas advanced options", true, style); if (canvasFoldOut) { CanvasOptions(); GUILayout.Space(5); } } style = new GUIStyle(EditorStyles.largeLabel); style.fontStyle = FontStyle.Bold; style.fixedWidth = 120; GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUILayout.Label("Minimap options", style); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.Space(15); minimapMode = (MinimapMode)EditorGUILayout.EnumPopup("minimap version", minimapMode); switch (minimapMode) { case MinimapMode.CAMERA_RENDER: createCamera = EditorGUILayout.Toggle("Create camera?", createCamera); if (createCamera) { cameraProjection = (CameraProjectionType)EditorGUILayout.EnumPopup("Projection", cameraProjection); //define culling mask if (cameraProjection == CameraProjectionType.Orthographic) { //define size } else { //define fov } } break; case MinimapMode.CUSTOM_TEXTURE: CustomTexture = (Sprite)EditorGUILayout.ObjectField("Map texture", CustomTexture, typeof(Sprite), false); break; } //list of custom waypoints to show on map. //image for player //show icons on border? //compass //minimap position //minimap size //border? //custom border? //Create radar button CreateButton(); EditorGUILayout.EndScrollView(); }