我在Unity场景中的主摄影机上附加了一个脚本,该脚本使我能够使用良好的旧版OpenGl线绘制以原点为中心的等距网格。

如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();
}

最佳答案

天哪,我知道会是这样。我整个下午都陷入困境,当我最终决定在这里提交问题时,我实际上找到了解决方案。

因此,对于您浪费的时间,我深表歉意。

顺便说一句,解决方案只是在OnDrawGizmos事件上绘制网格...

关于c# - GL.Lines Unity3D(C#)-线未在编辑 View 中呈现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21358494/

10-13 03:16