我有一輛車的車型,車身是分開的,4個輪胎是分開的,但它們在同一個FBX文件中。我可以旋轉車身和其工作,但輪胎不會圍繞自己的軸旋轉。如何繞其自己的軸旋轉ModelMesh?
foreach (BasicEffect effect in carModel.Meshes[0].Effects)
{
effect.EnableDefaultLighting();
effect.World = transforms[carModel.Meshes[0].ParentBone.Index] * carWorldMatrix;
effect.Projection = camera.projectionMatrix;
effect.View = camera.viewMatrix;
}
carModel.Meshes[0].Draw();
foreach (BasicEffect effect in carModel.Meshes[1].Effects)
{
effect.EnableDefaultLighting();
effect.World = transforms[carModel.Meshes[1].ParentBone.Index] * tireMatrix;
effect.Projection = camera.projectionMatrix;
effect.View = camera.viewMatrix;
}
carModel.Meshes[1].Draw();
創建旋轉我只是使用Matrix.CreateRotationY(金額)。我怎樣才能在自己的軸上旋轉車輪。我只是測試1輪現在,不是所有人
它不起作用。輪胎跟隨汽車旋轉,但不在自己的軸上旋轉,它繞着汽車旋轉。 – user1281566
這可能是因爲您選擇了Matrix.CreateRotationY而不是Maatrix.CreateRotationX ...或Z.只有您可以分辨輪子旋轉的軸。我認爲你自從你提出了Y軸旋轉 –
我有點解決了這個問題,但我無法解決它。 FBX文件包含車身和4個車輪。輪子被放置在他們認爲是在FBX文件中的位置,在XNA中它們被放置在他們的位置,而汽車的原點也是輪子的原點,所以當它們旋轉時,它們繞着這個原點旋轉。我手動嘗試通過移動車輪的向量並將其移動到中心位置,旋轉車輪並將其移回原位,從而找出汽車的原點。 – user1281566