protected override void CreateScene() { //Create a 3D camera var camera3D = new FixedCamera("Camera3D", new Vector3(2f, 0f, 2.8f), new Vector3(.5f, 0, 0)) { BackgroundColor = backgroundColor }; EntityManager.Add(camera3D); this.CreateCube3D(); // Create a 2D camera var camera2D = new FixedCamera2D("Camera2D") { ClearFlags = ClearFlags.DepthAndStencil }; // Transparent background need this clearFlags. EntityManager.Add(camera2D); this.CreateSliders(); this.CreateGrid(); this.CreateDebugMode(); }
protected override void CreateScene() { RenderManager.BackgroundColor = Color.CornflowerBlue; //RenderManager.DebugLines = true; var random = WaveServices.Random; var freeCamera = new FreeCamera("FreeCamera", new Vector3(0, 10, -10), Vector3.Zero) { FarPlane = 100 }; freeCamera.Entity.AddComponent(new CameraFrustum()); EntityManager.Add(freeCamera); var fixedCamera = new FixedCamera("FixedCamera", new Vector3(20, 50, -20), new Vector3(20, 0, 20)); EntityManager.Add(fixedCamera); RenderManager.SetActiveCamera(fixedCamera.Entity); RenderManager.SetFrustumCullingCamera(freeCamera.Entity); int num = 15; for (int i = 0; i < num; i++) { for (int j = 0; j < num; j++) { if (random.NextBool()) { Entity cube = CreateCube("Cube" + (j + (i * num)), new Vector3(j * 3, 0, i * 3)); EntityManager.Add(cube); } else { Entity sphere = CreateSphere("Sphere" + (j + (i * num)), new Vector3(j * 3, 0, i * 3)); EntityManager.Add(sphere); } } } TextBlock textBlock = new TextBlock("Message"); textBlock.Text = "Press 1 or 2 to change the camera"; EntityManager.Add(textBlock); AddSceneBehavior(new SelectCamera(freeCamera, fixedCamera), SceneBehavior.Order.PreUpdate); }
protected override void CreateScene() { // Lights DirectionalLight light = new DirectionalLight("light", new Vector3(-10f, 7f, -5f)); EntityManager.Add(light); RenderManager.FrustumCullingEnabled = false; // Game Behavior GameBehavior gameBehavior = new GameBehavior(); // Create Player this.Player = this.modelFactoryService.CreatePlayer(gameBehavior); EntityManager.Add(this.Player); // Create Camera var camera = new FixedCamera("mainCamera", Vector3.Zero, Vector3.Zero); // Setted in GameBehavior Init camera.BackgroundColor = Color.CornflowerBlue; this.GameCamera = camera.Entity.FindComponent<Camera3D>(); EntityManager.Add(camera); // Add Scene Behavior this.AddSceneBehavior(gameBehavior, SceneBehavior.Order.PostUpdate); }
protected override void CreateScene() { var random = WaveServices.Random; var freeCamera = new FreeCamera("FreeCamera", new Vector3(0, 10, -10), Vector3.Zero) { FarPlane = 100 }; freeCamera.BackgroundColor = Color.CornflowerBlue; freeCamera.Entity.AddComponent(new CameraFrustum()); EntityManager.Add(freeCamera); var fixedCamera = new FixedCamera("FixedCamera", new Vector3(20, 50, -20), new Vector3(20, 0, 20)); fixedCamera.Entity.FindComponent<Camera3D>().Viewport = new Viewport(0, 0.6f, 0.4f, 0.4f); fixedCamera.ClearFlags = ClearFlags.DepthAndStencil; EntityManager.Add(fixedCamera); RenderManager.SetFrustumCullingCamera(freeCamera.Entity); int num = 15; for (int i = 0; i < num; i++) { for (int j = 0; j < num; j++) { if (random.NextBool()) { Entity cube = CreateCube("Cube" + (j + (i * num)), new Vector3(j * 3, 0, i * 3)); EntityManager.Add(cube); } else { Entity sphere = CreateSphere("Sphere" + (j + (i * num)), new Vector3(j * 3, 0, i * 3)); EntityManager.Add(sphere); } } } }
private void CreateSecurityCamera(Vector3 position, Vector3 startLookAt, Vector3 endLookAt, TimeSpan timeOffset) { FixedCamera camera = new FixedCamera("securityCam_" + this.cameras.Count, position, startLookAt) { // Create RenderTarget to the camera RenderTarget = WaveServices.GraphicsDevice.RenderTargets.CreateRenderTarget(350, 256), FieldOfView = MathHelper.ToRadians(80), NearPlane = 0.01f, FarPlane = 15, }; camera.Entity.AddComponent(new SecurityCameraBehavior(startLookAt, endLookAt, timeOffset)); // This camera will not render the GUI layer camera.LayerMask[DefaultLayers.GUI] = false; // Register as secondary camera this.RenderManager.AddSecondaryCamera(camera.Entity); EntityManager.Add(camera); this.cameras.Add(camera); this.cameraRenderTargets[camera] = camera.RenderTarget; }
public SelectCamera(FreeCamera freeCamera, FixedCamera fixedCamera) : base("SelectCameraBehavior") { this.freeCamera = freeCamera; this.fixedCamera = fixedCamera; }