title: XNA C# creating an Isometric view with 3D models
body: <p>I'm trying to make a simple isometric game engine but have some problems with the camera. When i have it like this i can see my model from the front. But i want to see it from an isometric perspective. I tried using a lot of methods but none seem to work. Perhaps I got stuck in the code itself? Can you guys help me with the code perhaps?</p>
  
  <pre><code>public class Camera : PositionedObject
  {
  
      #region Fields
      private Matrix cameraRotation;
  
      #endregion
  
  
      #region Properties
      public Matrix View
      {
          get;
          set;
      }
  
      public Matrix Projection
      {
          get;
          protected set;
      }
  
      public Vector3 Target
      {
          get;
          set;
      }
      #endregion
  
      #region Constructor
      public Camera(Game game, Vector3 position, Vector3 target, Vector3 rotation, bool Orthographic, float near, float far)
          : base(game)
      {      
          Position = position;
          RotationInRadians = rotation;
          Target = target;
  
  
          if (Orthographic)
          {
              Projection = Matrix.CreateOrthographic(Game.Window.ClientBounds.Width, Game.Window.ClientBounds.Height,
                  near, far);
          }
          else
          {
              Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4,
                  (float)Game.Window.ClientBounds.Width / (float)Game.Window.ClientBounds.Height, near, far);
          }
  
  
  
  
      }
      #endregion
  
      #region Public Methods
  
      public override void Initialize()
      {
          base.Initialize();
          cameraRotation = Matrix.Identity;
  
      }
  
  
  
      public override void Update(GameTime gameTime)
      {
          base.Update(gameTime);
  
          cameraRotation = Matrix.CreateFromAxisAngle(cameraRotation.Forward, RotationInRadians.Z)
              * Matrix.CreateFromAxisAngle(cameraRotation.Right, RotationInRadians.X)
              * Matrix.CreateFromAxisAngle(cameraRotation.Up, RotationInRadians.Y);
  
          Target = Position + cameraRotation.Forward;
          View = Matrix.CreateLookAt(Position, Target, cameraRotation.Up);
      }
  
      public void Draw(BasicEffect effect)
      {
          effect.View = View;
          effect.Projection = Projection;
      }
      #endregion
  }
  </code></pre>