2012-12-19 73 views
1

我遇到了模型附加到「骨骼」上的另一個模型的困難。 我搜索了幾個論壇,但沒有結果。我看到很多人都問過同樣的問題,但沒有真正的結果沒有迴應。發現 主題:如何將模型綁定到特定骨骼上的另一個模型?

https://gamedev.stackexchange.com/questions/21129/how-to-attach-two-xna-models-together

https://gamedev.stackexchange.com/questions/44515/how-can-i-attach-a-model-to-the-bone-of-another-model

https://stackoverflow.com/questions/11391852/attach-model-xna

但我認爲這是可能的。

這裏是我的代碼示例的固定一個我的球員

private void draw_itemActionAttached(Model modelInUse) 
    { 
     Matrix[] Model1TransfoMatrix = new Matrix[this.player.Model.Bones.Count]; 
     this.player.Model.CopyAbsoluteBoneTransformsTo(Model1TransfoMatrix); 
     foreach (ModelMesh mesh in modelInUse.Meshes) 
     { 
      foreach (BasicEffect effect in mesh.Effects) 
      { 
       Matrix model2Transform = Matrix.CreateScale(1f) * Matrix.CreateFromYawPitchRoll(0, 0, 0); 

       effect.World = model2Transform * Model1TransfoMatrix[0]; //root bone index 
       effect.View = arcadia.camera.View; 
       effect.Projection = arcadia.camera.Projection; 
      } 
      mesh.Draw(); 
     } 
    } 
+0

所以你問如何將一個模型父母? –

+0

嗯是的。我只想在另一個模型(角色)上附加另一個模型(物體,武器等)在特定的骨骼(右手)上。 –

回答

2

的手的方法可以改變的「魔方」,但要做到這一點的常用方法是將一個或多個骨骼添加到您的「裝備可以「,不管他們是否手持。這樣可以在運行時將對象的骨骼添加到玩家的身上,從而在需要的位置「裝備」物品。

一些閱讀:http://en.csharp-online.net/XNA_Game_Programming%E2%80%94PlayerWeapon

+0

Waouhh!我會看到你的鏈接,我回去說話的結果...這個鏈接對我來說似乎是完美的我的問題。 –

+1

非常感謝你的朋友!對不起,我忘了回答時間 –