我要模擬汽車在道路網絡上的移動。首先,我用userindexedprimitives繪製道路,並且它工作正常。在那之後的特定時刻,我將模型添加到場景中。這些模型正在前進,而且似乎沒有問題。從背後看它們看起來很不錯,因爲它們按照創作的順序大致相互關聯。但從前面看,該應用程序總是最後一次添加車輛,等等,因此它們相互吸引,沒有遮擋。也許它可以在圖像上識別(鏈接已刪除,請參閱更新)。我使用的效果文件是THIS,CurrentTechnique是「ColoredNoShading」。首先,我認爲問題可能是這個設置,但其他可能性是拋出關於缺少頂點信息(COLOR0或NORMAL等)的例外,我沒有處理它們......也許解決方案很簡單,只是我沒有'噸找出...爲什麼要按創建順序繪製XNA模型?
有人可以幫我這個嗎?預先
由於
該代碼是基於這樣的方法:
private void DrawModel(Model model, Matrix world, Matrix view, Matrix projection)
{
foreach (ModelMesh mesh in model.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
{
effect.World = world;
effect.View = view;
effect.Projection = projection;
}
mesh.Draw();
}
}
相關視圖和投影矩陣:使用DepthStencilState
:
viewMatrix = Matrix.CreateLookAt(new Vector3(0, 170, 0), new Vector3(0, 0, 0), new Vector3(0, 0, -1));
projectionMatrix = Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4, graphics.GraphicsDevice.Viewport.AspectRatio, 1.0f, 30000.0f);
effect.CurrentTechnique = effect.Techniques["ColoredNoShading"];
effect.Parameters["xProjection"].SetValue(projectionMatrix);
effect.Parameters["xView"].SetValue(viewMatrix);
UPDATE財產更好,但在THIS新形象親瑕疵是可見的......通過車輛的眼鏡,我們只能看到由用戶指定的原始圖繪製的頂點,而沒有模型。
你可以添加'View'和'Projection'聲明嗎? – pinckerman