面板属性

常用方法:
lineRenderer.enabled =true;//组件开启
LineRenderer.positionCount = i + 1;//添加节点数量
lineRenderer.SetPosition(0, transform.position+new Vector3(0,1,0));//点1
lineRenderer.SetPosition(1, pLayerHp.transform.position+new Vector3(0,1,0));//点2
GL在场景中画线
/// <summary>
/// 使用GL画线的回调
/// </summary>
public void OnRenderObject()
{
//创建材质球
CreateLineMaterial();
//激活第一个着色器通过(在本例中,我们知道它是唯一的通过)
lineMaterial.SetPass(0);
//渲染入栈 在Push——Pop之间写GL代码
GL.PushMatrix();
//矩阵相乘,将物体坐标转化为世界坐标
GL.MultMatrix(transform.localToWorldMatrix);
// 开始画线 在Begin——End之间写画线方式
//GL.LINES 画线
GL.Begin(GL.LINES);
// 设置颜色
GL.Color(color);
//画线起始点;结束点
GL.Vertex(center + new Vector3(DrawSize.x, DrawSize.y, DrawSize.z)); GL.Vertex(center + new Vector3(DrawSize.x, DrawSize.y, -DrawSize.z));
GL.End();
//渲染出栈
GL.PopMatrix();
}
/// <summary>
/// 创建一个材质球
/// </summary>
static void CreateLineMaterial()
{
//如果材质球不存在
if (!lineMaterial)
{
//用代码的方式实例一个材质球
Shader shader = Shader.Find("Hidden/Internal-Colored");
lineMaterial = new Material(shader);
lineMaterial.hideFlags = HideFlags.HideAndDontSave;
//设置参数
lineMaterial.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha);
lineMaterial.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);
//设置参数
lineMaterial.SetInt("_Cull", (int)UnityEngine.Rendering.CullMode.Off);
//设置参数
lineMaterial.SetInt("_ZWrite", 0);
}
}Gizmos画线
可在编辑模式下显示
#if UNITY_EDITOR
void OnDrawGizmos()
{
DrawCenter = transform.position + center;
Gizmos.color = color;
Gizmos.DrawWireCube(DrawCenter, Size);
}
#endif
版权声明:本文为qq_40346899原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。