2016-01-13 149 views
1

我使用GIS數據來模擬一個小城市的地圖,在大多數對象上使用常量網格和網格渲染器(灰色和藍色在圖像中)。但有些元素,如房屋或污水渠有時通過使用網格和UnityEngine.Graphics.DrawMesh函數突出顯示。Unity 3D:Graphics.DrawMesh無法在Unity 5.3.1f中工作

enter image description here

正如你可以在圖片中看到,在4.6.1f使用相同的代碼將呈現網狀,而在5.3.1它不是。儘管您可以看到網格在場景視圖中設置。

這是代碼:

protected Mesh m; 

public void Update() 
{ 
    if ((isActiveAndEnabled) && (m!=null)) 
     Graphics.DrawMesh(
      m, transform.localPosition, 
      transform.localRotation, material, 14); //14 = Map Layer 
} 

場景,相機設置保持不變。我已經檢查是否if((isActiveAndEnabled)& &(m!= null))條件是真的 - 它是。任何想法可能會導致這個問題?

+2

Unity3D 5.x中有很多錯誤。可能是其中之一。只要檢查網格的法線,也許他們翻轉。 –

+1

說傑裏你可以通過刪除「5.x」使你的第一句話更準確:) – Fattie

+0

我擔心它可能只是Ol'Buggy Unity再次:/謝謝! –

回答

0

的問題是,地圖和HighlightedAreas上都transform.position.z = 0;打下雖然這不是在Unity 4.6.1一個問題,我認爲它不會是一個在5.X

enter image description here

我試圖移動父對象突出靠近照相機,但因爲我用localPosition它並不會影響孩子。移動孩子,我能夠看到突出顯示的區域並意識到我的錯誤。

代碼改爲

Graphics.DrawMesh(
     m, transform.position, 
     transform.localRotation, material, 14); 

,並改變了父對象突出transform.z