利用GL划线
<span style="font-size:14px;">using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
private Material lineMaterial; // 一个材质
//系统自动调用 OnPostRender()
void CreateLineMaterial()
{
if (!lineMaterial)
{
//实例化材质
lineMaterial = new Material("Shader \"Lines/Background\" { Properties { _Color (\"Main Color\", Color) = (1,0.5,1,1) } SubShader { Pass {" + " ZWrite off " + " Blend SrcAlpha OneMinusSrcAlpha" + " Colormask RGBA " + "Lighting Off Offset 1, 1 Color[_Color] }}}");
//设置材质属性
lineMaterial.hideFlags = HideFlags.HideAndDontSave;
lineMaterial.shader.hideFlags = HideFlags.HideAndDontSave;
}
}
void OnPostRender()
{
CreateLineMaterial();
lineMaterial.SetPass(0);
GL.Begin(GL.LINES); // GL开始划线
for (int i = 0; i < 10; i++)
{
Debug.Log("draw i:" + i);
GL.Vertex3(0, 0, 0); //开始坐标
GL.Vertex3(0, 4, 0); //结束坐标
GL.Vertex3(i, 0, 0); //开始坐标
GL.Vertex3(i, 5, 0); //结束坐标
GL.Vertex3(i, 0, 0); //开始坐标
GL.Vertex3(i, 5, 0); //结束坐标
GL.Vertex3(i, 0, 0); //开始坐标
GL.Vertex3(i, 5, 0); //结束坐标
}
GL.End(); //GL结束划线
}
}
</span>