Unity利用GL划线

来源:互联网 发布:mac口红flamingo试色 编辑:程序博客网 时间:2024/04/27 14:18

利用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>


0 0
原创粉丝点击