62 lines
1.5 KiB
C#
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;
|
|
}
|
|
}
|