1
2
3
4
5
6
  • AR开发
7
8
  • 系统优化与发布

TrailRenderer与LineRender

发布时间:2021-02-26 22:49   发布人:焦卫峰   浏览次数:337

1.TrailRenderer

应用举例:

刀光剑影、切水果游戏等

 

重要参数:

Width:宽度,可以使用曲线

Time:持续时间

Color

Meterial:可以使用材质实现美轮美奂的光影效果

2.LineRender组件

应用举例:

愤怒的小鸟拉弹弓的动画、连连看的画线等等

 

LineRender组件主要的用途就是画线,将这个组件加载到对象上,然后设置路径,跟线的材质,就能在Game视图下显示线段了。

 

1.在一个对象上加上LineRender组件

2.附上材质Materials

3.设置一下路径Positions

 

Positions

路径设置,这个可以用代码控制

LineRenderer m_LineRender = GetComponent<LineRenderer>();

 

m_LineRender.positionCount = X;

m_LineRender.SetPosition(int index,Vector3 v);

 

//使用数组实现,首先也要对positionCount赋值

m_LineRender.SetPositions(v);

愤怒的小鸟弹弓实现:

先使用LineRenderer组件画两条线,尾端分开,头端都为(-5,1)。代码如下:

public LineRenderer line1,line2;  //获取两个线性渲染

    Vector3 oldPos;

       void Start () {

        oldPos = new Vector3(-5, 1, 0);

       }

       void Update () {

        Vector3 mouPos =

            new Vector3(Input.mousePosition.x, Input.mousePosition.y, 3f);

        //记录鼠标坐标

        Vector3 mousePosTemp =

            Camera.main.ScreenToWorldPoint(mouPos);

        //将屏幕上鼠标一点转世界空间中一点

        if (Input.GetMouseButton(0)){    //跟随鼠标移动

            line1.SetPosition(0, mousePosTemp);

            line2.SetPosition(0, mousePosTemp);

        }

        if (Input.GetMouseButtonUp(0)){    //复位

            line1.SetPosition(0, oldPos);

            line2.SetPosition(0, oldPos); 

        }

       }

 

用LineRenderer实现画图功能

画一笔要产生一个GameObject对象,该对象添加LineRenderer组件(还可以考虑使用Prefab)