我無法獲得正確的模型方向。在這個項目中,用戶加載3個DXF文件。模型的XNA方向
- DXF 1是由3dfaces表示的模型。
- DXF 2是3dpoly,代表相機在左側行駛的路徑。
- DXF 3是3dpoly爲迎面而來的交通提供路徑。
前兩個數據集在C#/ XNA開發中正確處理。用戶可以使用上下鍵盤按鍵沿着道路行駛。但是我在第三個過程中失敗了。我無法確定迎面而來的交通方向是否正確。這個位置沒問題,每100米一輛貨車,但方向不對。
最奇怪的是將模型轉換到正確的位置和方向導致模型在相機上的正常方法!我哪裏做錯了?我已經可以在以下網址的源代碼,這樣你就可以查看代碼,看看我錯在哪裏(拉鍊包括用於測試的DXF文件):提前
http://www.4shared.com/zip/Lk3xmCtO
謝謝..凱文。
這是最不正確的部分:
Matrix worldMatrix = Matrix.CreateTranslation(VanPos[vi]);
Matrix[] transforms = new Matrix[Van.Bones.Count];
Van.CopyAbsoluteBoneTransformsTo(transforms);
foreach (ModelMesh modmesh in Van.Meshes)
{
foreach (BasicEffect be1 in modmesh.Effects)
{
be1.World = transforms[modmesh.ParentBone.Index] * worldMatrix;
這導致模型被放置在攝像頭位置。 只使用CreateTranslation將模型放置在正確的位置,但方向不正確。
http://dc617.4shared.com/img/ZZaacc6f/s2/0.6480764457213543/opposite.png – zeppeldep
你真的應該在代碼中包含代碼的相關部分,而不是鏈接到一個zip文件。特別是設置汽車矩陣的部分 – Dervall
:(.. ..抱歉,但我認爲XNA的基本原理我不明白,開發人員能夠發現核心問題的唯一方法是看看整個項目,它仍然很短,很容易看,整個開發還沒有完成 – zeppeldep