我在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();
}
答案 0 :(得分:3)
上帝,我知道会是这样的。我整个下午都陷入困境,当我最终决定在这里提交问题时,我实际上找到了解决方案。
所以我为你浪费的时间道歉。
顺便说一句,解决办法只是在OnDrawGizmos事件上绘制网格......