Axiom.Samples.CameraTrack.CameraTrackingSample.SetupContent C# (CSharp) Метод

SetupContent() защищенный Метод

protected SetupContent ( ) : void
Результат void
		protected override void SetupContent()
		{
			// setup some basic lighting for our scene
			SceneManager.AmbientLight = new ColorEx( 0.3f, 0.3f, 0.3f );
			SceneManager.CreateLight( "CameraTrackLight" ).Position = new Vector3( 20, 80, 50 );

			SceneManager.SetSkyBox( true, "Examples/MorningSkyBox", 5000 );
			// create an ogre head entity and attach it to a node
			Entity head = SceneManager.CreateEntity( "Head", "ogrehead.mesh" );
			SceneNode headNode = SceneManager.RootSceneNode.CreateChildSceneNode();
			headNode.AttachObject( head );
			CameraManager.setStyle( CameraStyle.Manual );// we will be controlling the camera ourselves, so disable the camera man
			Camera.SetAutoTracking( true, headNode );// make the camera face the head


			// create a camera node and attach camera to it
			SceneNode camNode = SceneManager.RootSceneNode.CreateChildSceneNode();
			camNode.AttachObject( Camera );

			// set up a 10 second animation for our camera, using spline interpolation for nice curves
			Animation anim = SceneManager.CreateAnimation( "CameraTrack", 10 );
			anim.InterpolationMode = InterpolationMode.Spline;
			// create a track to animate the camera's node
			NodeAnimationTrack track = anim.CreateNodeTrack( 0, camNode );

			// create keyframes for our track
			track.CreateNodeKeyFrame( 0 ).Translate = new Vector3( 200, 0, 0 );
			track.CreateNodeKeyFrame( 2.5f ).Translate = new Vector3( 0, -50, 100 );
			track.CreateNodeKeyFrame( 5 ).Translate = new Vector3( -500, 100, 0 );
			track.CreateNodeKeyFrame( 7.5f ).Translate = new Vector3( 0, 200, -300 );
			track.CreateNodeKeyFrame( 10 ).Translate = new Vector3( 200, 0, 0 );

			// create a new animation state to track this
			animState = SceneManager.CreateAnimationState( "CameraTrack" );
			animState.IsEnabled = true;
			base.SetupContent();
		}
	}