title: 3rd person camera's y axis not properly spherical around player - Logic problem?
body: <p>I'm making a 3D game in XNA using Ox Engine. There is very little documentation and I have been surviving thus far, but now I've hit a logical road block for a good while and I think it's time to ask for outside help.</p>
  
  <p>All movement and mouse look x work and the camera follows properly however when I move the mouse up/down on the Y axis to make the camera move in its circling "bubble" around the character it causes everything else to go out of sync. The character should <strong>orbited</strong> by the camera, but it also needs to be told what <strong>direction the character is facing</strong>. I cannot seem to have both. </p>
  
  <p>When I have the code to tell it the direction of the character and move "away"(transpose) from it, it's moving the orbit itself:</p>
  
  <p><code></p>
  
  <pre><code>        if (changeY &gt; 0)
          {
              if (camMemory.Y &gt; 110)
                  tempMatrix *= Matrix.CreateFromAxisAngle(model.Orientation.Left, MathHelper.ToRadians(changeY));
          }
          else if (changeY &lt; 0)
          {
              if (camMemory.Y &lt; 400)//FAKE PLACEHOLDER VALUE... highest point in arc goes here
                  tempMatrix *= Matrix.CreateFromAxisAngle(model.Orientation.Left, MathHelper.ToRadians(changeY));       
          }
  
          Vector3 camPos = new Vector3(0, 0, 0) ;
          camMemory = tempMatrix.Translation;
  
          //NOTE: this is the piece that causes the "bubble" to move
          moveAmount = tempMatrix.Forward * 200f;
          /////
          tempMatrix.Translation += moveAmount;
          camPos = tempMatrix.Translation + model.Position;
  
          //Pointer in front, Camera behind, make camera face pointer.
  
  
  
          Engine.Camera.SetTransformByLookTarget(camPos, model.Orientation.Up, trackPos);
  </code></pre>
  
  <p></code></p>
  
  <p><em>This means that by not properly orbiting the character, when he turns the camera is out of place.</em></p>
  
  <p>However when I remedy this problem I am not far enough away from the character to have a proper view and simply multiplying upon <em>tempMatrix.Translation</em> to 'widen' the 'bubble' causes me to be severely out of place. I am bereft of epiphanies. Any insights would be greatly appreciated.</p>
  
  <p><strong>tl,dr</strong>: How do I make the orbiting camera bubble around the character bigger without moving the center point <em>(transpose isn't working or I'm using it wrong!)</em></p>
  
  <p><em>Edit: I wish I could put a bounty on this, lol</em></p>