2014-01-26 76 views
2

我在Unity場景中的主攝像頭上附加了一個腳本,使我能夠使用良好的舊OpenGl線繪製以原點爲中心的等軸網格。GL.Lines Unity3D(C#) - 未在編輯視圖中呈現的線條

如Unity的文檔(there)所示,我啓動了關於「OnPostRender」事件的繪圖;問題是行只能在遊戲視圖中繪製,而不是在編輯視圖中(即使使用[ExecuteInEditMode]指令)。

有沒有辦法讓他們在那裏畫?

-

順便說一句,這裏是該函數的代碼(C#):

void OnPostRender() 
{ 
    CreateLineMaterial(); 
    // set the current material 
    lineMaterial.SetPass(0); 

    GL.Begin(GL.LINES); 

    GL.Color(mainColor); 

    // Draw x lines 
    for (int x = - gridSizeX/2; x <= gridSizeX/2; x++) { 
     GL.Vertex3 (- gridSizeX/4 + x, - gridSizeX/8, 0 - x * 0.5f); 
     GL.Vertex3 (gridSizeX/4 + x, gridSizeX/8, 0 - x * 0.5f); 
    } 
    // Draw y lines 
    for (int y = - gridSizeY/2; y <= gridSizeY/2; y++) { 
     GL.Vertex3 (- gridSizeY/4 + y, gridSizeY/8, 0 - y * 0.5f); 
     GL.Vertex3 (gridSizeY/4 + y, - gridSizeY/8, 0 - y * 0.5f); 
    } 
    GL.End(); 
} 

回答

3

神,我就知道會是這樣。我在整個下午都陷入了困境,當我最終決定在這裏提交問題時,我實際上找到了解決方案。

所以我很抱歉你浪費時間。

順便說一句,解決方案只是在OnDrawGizmos事件上繪製網格...