正確な「骨」の上で、モデルを別のモデルに取り付ける難しさに応えます。いくつかのフォーラムを検索しましたが、結果はありませんでした。多くの人が同じ質問をしているのを見ましたが、実際の結果には反応がありません。スレッドが見つかりました:
https://gamedev.stackexchange.com/questions/21129/how-to-attach-two-xna-models-together
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();
}
}