public void SwapFocus() { var testFocus = GameObject.Find("TestFocus"); CameraFollowObject.SetFollowTarget(testFocus, 3); }
// Use this for initialization void Awake() { Instance = this; //do something when game object is activated .. if you want to }
protected override void LoadContent(PloobsEngine.Engine.GraphicInfo GraphicInfo, PloobsEngine.Engine.GraphicFactory factory, IContentManager contentManager) { base.LoadContent(GraphicInfo, factory, contentManager); #region Models ///Cria um modelo Controlavel pelo teclado { SimpleModel sm = new SimpleModel(factory, "..\\Content\\Model\\cubo"); sm.SetTexture(factory.CreateTexture2DColor(1, 1, Color.Blue), TextureType.DIFFUSE); DeferredNormalShader shader = new DeferredNormalShader(); IMaterial mat = new DeferredMaterial(shader); CharacterControllerInput character = new CharacterControllerInput(this, new Vector3(100, 150, 1), 1, 1, 50, Vector3.One * 10, 0.5f); character.AheadKey = Keys.G; character.BackKey = Keys.T; character.LeftKey = Keys.F; character.RightKey = Keys.H; character.JumpKey = Keys.R; character.Characterobj.CharacterController.MaxSpeed = 35f; character.Characterobj.CharacterController.JumpSpeed = 15f; player = new IObject(mat, sm, character.Characterobj); this.World.AddObject(player); } ///Cria o cenario padrao de sempre ;) { SimpleModel sm = new SimpleModel(factory, "..\\Content\\Model\\cenario"); IPhysicObject pi = new TriangleMeshObject(sm, Vector3.Zero, Matrix.Identity, Vector3.One, MaterialDescription.DefaultBepuMaterial()); DeferredNormalShader shader = new DeferredNormalShader(); IMaterial mat = new DeferredMaterial(shader); IObject obj3 = new IObject(mat, sm, pi); this.World.AddObject(obj3); } #endregion #region Cameras cam0 = new CameraFollowObject(player); ///Dando um nome a ela (para poder recupera-la depois) cam0.Name = "follow"; cam0.FarPlane = 3000; ///Adiciona ao Manager (NAO ESTA SENDO ATIVADA, APENAS ADICIONADA) this.World.CameraManager.AddCamera(cam0, cam0.Name); ///Ativa a camera atual (AO ADICIONAR UMA CAMERA AO WORLD USANDO mundo.AddCamera(cam) A CAMERA EH AUTOMATICAMENTE ATIVADA ) this.World.CameraManager.SetActiveCamera(cam0.Name); ///Adiciona na lista circular camerasNames.Value = cam0.Name; camerasNames.Next(); cam1 = new CameraFirstPerson(GraphicInfo); ///Dando um nome a ela (para poder recupera-la depois) cam1.Name = "first person"; cam1.FarPlane = 3000; ///Adiciona ao Manager (NAO ESTA SENDO ATIVADA, APENAS ADICIONADA) this.World.CameraManager.AddCamera(cam1, cam1.Name); ///Ativa a camera atual (AO ADICIONAR UMA CAMERA AO WORLD USANDO mundo.AddCamera(cam) A CAMERA EH AUTOMATICAMENTE ATIVADA ) this.World.CameraManager.SetActiveCamera(cam1.Name); ///Adiciona na lista circular camerasNames.Value = cam1.Name; //camerasNames.Next(); #endregion ///Objeto que permite atirar bolas de luzes na cena lt = new LightThrowBepu(this.World, factory); #region NormalLight ///Conjunto de luzes direcionais DirectionalLightPE ld1 = new DirectionalLightPE(Vector3.Left, Color.White); DirectionalLightPE ld2 = new DirectionalLightPE(Vector3.Right, Color.White); DirectionalLightPE ld3 = new DirectionalLightPE(Vector3.Backward, Color.White); DirectionalLightPE ld4 = new DirectionalLightPE(Vector3.Forward, Color.White); DirectionalLightPE ld5 = new DirectionalLightPE(Vector3.Down, Color.White); float li = 0.4f; ld1.LightIntensity = li; ld2.LightIntensity = li; ld3.LightIntensity = li; ld4.LightIntensity = li; ld5.LightIntensity = li; this.World.AddLight(ld1); this.World.AddLight(ld2); this.World.AddLight(ld3); this.World.AddLight(ld4); this.World.AddLight(ld5); #endregion { SimpleConcreteKeyboardInputPlayable ik = new SimpleConcreteKeyboardInputPlayable(StateKey.PRESS, Keys.Space, ChangeCamera); BindKeyCommand bk = new BindKeyCommand(ik, BindAction.ADD); CommandProcessor.getCommandProcessor().SendCommandAssyncronous(bk); } }