none
поворот вокруг своей оси RRS feed

Ответы

  • А посмотреть примеры слабо ?

    Просто поверните вокруг оси используя для примера следующий код.

    // Set the position of the model in world space, and set the rotation.
    Vector3 modelPosition = Vector3.Zero;
    float modelRotation = 0.0f;
    
    // Set the position of the camera in world space, for our view matrix.
    Vector3 cameraPosition = new Vector3(0.0f, 50.0f, 5000.0f);
    
    protected override void Draw(GameTime gameTime)
    {
     graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
    
     // Copy any parent transforms.
     Matrix[] transforms = new Matrix[myModel.Bones.Count];
     myModel.CopyAbsoluteBoneTransformsTo(transforms);
    
     // Draw the model. A model can have multiple meshes, so loop.
     foreach (ModelMesh mesh in myModel.Meshes)
     {
      // This is where the mesh orientation is set, as well 
      // as our camera and projection.
      foreach (BasicEffect effect in mesh.Effects)
      {
       effect.EnableDefaultLighting();
       effect.World = transforms[mesh.ParentBone.Index] * 
        Matrix.CreateRotationY(modelRotation)
        * Matrix.CreateTranslation(modelPosition);
       effect.View = Matrix.CreateLookAt(cameraPosition, 
        Vector3.Zero, Vector3.Up);
       effect.Projection = Matrix.CreatePerspectiveFieldOfView(
        MathHelper.ToRadians(45.0f), aspectRatio, 
        1.0f, 10000.0f);
      }
      // Draw the mesh, using the effects set above.
      mesh.Draw();
     }
     base.Draw(gameTime);
    }
    

    если что-то непонятно, то напишите что именно.
    • Предложено в качестве ответа Artem Nikolaev 10 августа 2011 г. 10:44
    • Помечено в качестве ответа Abolmasov DmitryModerator 10 августа 2011 г. 13:05
    10 августа 2011 г. 8:37