/// <summary>
///
/// </summary>
/// <param name="camera"></param>
private void SetupCamera( Camera cam )
{
// create a pivot at roughly the character's shoulder
cameraPivot = cam.SceneManager.RootSceneNode.CreateChildSceneNode();
// this is where the camera should be soon, and it spins around the pivot
cameraGoal = cameraPivot.CreateChildSceneNode( new Vector3( 0, 0, 15 ) );
// this is where the camera actually is
cameraNode = cam.SceneManager.RootSceneNode.CreateChildSceneNode();
cameraNode.Position = cameraPivot.Position + cameraGoal.Position;
cameraPivot.SetFixedYawAxis( true );
cameraGoal.SetFixedYawAxis( true );
cameraNode.SetFixedYawAxis( true );
// our model is quite small, so reduce the clipping planes
cam.Near = 0.1f;
cam.Far = 100;
cameraNode.AttachObject( cam );
pivotPitch = 0;
}