我正在使用XNA 3.1繪製2D HUD會渲染我的3D模型?
我最近使用Components.Add(myComponent)
在我的遊戲中創建了2D平視顯示器(HUD)。 HUD看起來很好,顯示了2D地圖,十字線和幀率計數器。事情是,每當HUD出現在屏幕上時,遊戲中的3D對象都不再正確繪製。
離我的玩家更遠的東西可能會在距離更近的地方得到,當我走過它們時,模型有時會失去定義。當我移除HUD時,所有繪製都正常。
是否有任何已知的問題需要注意?我應該如何在3D遊戲區域繪製2D HUD?
這是它看起來就像沒有GameComponent
:
這裏是它的外觀與GameComponent
(在這種情況下,它只是一些文字離屏幕的左上角,顯示幀率)注意到後面的樹是如何出現在樹前更接近攝像機:
HUD渲染代碼中的某處會更改流水線狀態,以後不會恢復。確保繪製模型時設置*所有必要的狀態*。這包括混合/光柵化器/深度模板狀態,視口,着色器,採樣器,輸入佈局,深度緩衝區和渲染目標。你能提供一個截圖來縮小問題的範圍嗎? – Lucius 2013-02-18 15:00:44
感謝您的回覆。我一回到工作崗位就會提供屏幕截圖。 – PaulG 2013-02-18 15:10:07
在繪製模型之前,嘗試'GraphicsDevice.DepthStencilState = DepthStencilState.Default;'。 – Lucius 2013-02-19 00:39:39