2012-06-02 26 views
4

中的模型轉換之後檢索模型位置,該模型位於here,位於012Be14NoXNA教程提供的方法中,如果我可以檢索模型正在繪製的新位置,將所有轉換應用到目。我已經編輯了一些我需要的方法。有沒有人知道我可以做到這一點的方式?在應用XNA

public void DrawModel(Camera camera) 
    { 
     Matrix scaleY = Matrix.CreateScale(new Vector3(1, 2, 1)); 
     Matrix temp = Matrix.CreateScale(100f) * scaleY * rotationMatrix * translationMatrix * Matrix.CreateRotationY(MathHelper.Pi/6) * translationMatrix2; 
     Matrix[] modelTransforms = new Matrix[model.Bones.Count]; 
     model.CopyAbsoluteBoneTransformsTo(modelTransforms); 
     if (camera.getDistanceFromPlayer(position+position1) > 3000) return; 
     foreach (ModelMesh mesh in model.Meshes) 
     { 
      foreach (BasicEffect effect in mesh.Effects) 
      { 
       effect.EnableDefaultLighting(); 
       effect.World = modelTransforms[mesh.ParentBone.Index] * temp * worldMatrix; 
       effect.View = camera.viewMatrix; 
       effect.Projection = camera.projectionMatrix; 
      } 
      mesh.Draw(); 
     } 
    } 
+0

您可以在http://gamedev.stackexchange.com/上找到更多答案。 – rcdmk

回答

0

使用Vector3.Transform方法將矩陣應用到您的位置向量。

+0

您是否閱讀過該問題?這個答案完全沒用,我展示了你在源代碼中完全告訴我的知識。 如果您閱讀了這個問題,您會發現我需要在轉換後檢索新的矢量,而不是應用轉換。 – Glen654

+0

有什麼區別? – ekolis

+1

差異在於接收更新的位置,而不是設置新的位置。設置位置需要簡單的矩陣應用,但接收新的位置有點困難 – Glen654