ZhangZhouSpecialEquipment/Assets/DrawLine.cs

62 lines
1.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DrawLine : MonoBehaviour
{
public Camera camera;
public Material m;
private Transform startpos;
private Transform endpos;
LineRenderer lineRenderer;
// Start is called before the first frame update
void Start()
{
GameObject line = new GameObject();
line.name = "Line";
lineRenderer = line.AddComponent<LineRenderer>();
startpos = transform;
endpos = transform.GetChild(0);
line.layer = 8;
//首尾相连
lineRenderer.loop = true;
//开始结束宽
lineRenderer.startWidth = 0.02f;
lineRenderer.endWidth = 0.02f;
//开始结束颜色
lineRenderer.startColor = Color.white;
lineRenderer.endColor = Color.red;
lineRenderer.material = m;
//设置点
lineRenderer.positionCount = 2;
//是否设置世界坐标系,即是否随对象移动而移动
lineRenderer.useWorldSpace = false;
//让线段受光的影响,会接收光的数据进行着色器计算
lineRenderer.generateLightingData = true;
}
// Update is called once per frame
void Update()
{
lineRenderer.SetPosition(0, startpos.position);
lineRenderer.SetPosition(1, endpos.position);
endpos.LookAt(camera.transform);
}
public void HideLine()
{
lineRenderer.enabled = false;
}
public void ShowLine()
{
lineRenderer.enabled = true;
}
}