   Two Camera Systems At the same Time
  I'm trying to implement two camera systems the user can switch between to navigate the scene.  One is free viewer like in a typical 3D modeling/viewer program, and the other is first person camera.  The scene start with default free-viewer camera system.  What I'm trying to do is to make both camera systems merge smoothly, so that the viewer can switch from one to the other without changing the scene view perspective, but the way it's navigated.Is there anyway of implementing this or anybody has done that before?Help appreciated.   
  We did that before. When switching, we just set the position and orientation, of the current camera, to the other one you want to switch to. ;  Simply interpolate (linear, cosine, whatever your taste prefers) between the two modelview matrices your camera definitions yield. This works independently from your specific set of camera parameters.   ;  Well this code give me crap i dunno why. any idea? Matrix rotX = Matrix.CreateRotationX( (float) BasicCalc.DegToRad( pitch ) ); forwardV = Vector3.Transform( Vector3.Forward, rotX ); Matrix rotY = Matrix.CreateRotationY( (float) BasicCalc.DegToRad( yaw ) ); forwardV = Vector3.Transform( forwardV, rotY ); rightV = Vector3.Transform( Vector3.Right, rotY ); upV = Vector3.Cross( rightV, forwardV ); forwardV.Normalize(); rightV.Normalize(); upV.Normalize(); m = Matrix.CreateLookAt( pos, forwardV, upV );   ;  There are some other potential problems with your code, but assuming CreateLookAt() is a typical 'look-at' function, it should probably be:m = Matrix.CreateLookAt( pos, pos + forwardV, upV );;  Actually what I'm doing is creating the camera forward, right and up vectors pointed in the right direction based on yaw and pitch angle, a typical first person viewer.The pos is the location of the camera regardless of these angles.;  Anyway I still cannot merge both systems so that when switching from one to another, I still get the same perspective.  For the viewer it's only the way of navigating through the scene.   ;Quote:Original post by SamboriAnyway I still cannot merge both systems so that when switching from one to another, I still get the same perspective.  For the viewer it's only the way of navigating through the scene.Quote:Original post by phresnelSimply interpolate (linear, cosine, whatever your taste prefers) between the two modelview matrices your camera definitions yield. This works independently from your specific set of camera parameters.If you have your two modelview matrices, you could either do a matrix interpolation, or you could extract the position vector and the direction vectors, and interpolate sanely between them (by sanely I mean e.g. that you keep the right angle), and then stuff a new modelview matrix with that. This works independently from your specific set of camera parameters.   ;  Ok let me get this right.  I already have a view matrix based on free-camera.  then the user switch to first-person camera control, I want to keep the same view, and proceed from there with FP camera.  then switching back to free-view, will continue the view of the FP's.  How can interpolation be utilized here?Thanks.   ;  That's a little more tricky. What you have to do is take the FP camera matrix, and from there, work backwards to extract the parameters of the free-viewer camera system required to generate that exact same view. If your free-viewer camera is defined by position, forward-vector, and up-vector, that's simple: position's in the fourth column (negated), forward-vector is in the third column (possibly negated), and up-vector is fixed.   