3d打印
焦卫峰

1
2
3
4
5
6

新建目录

发布时间:2020-08-22 20:30   发布人:焦卫峰   浏览次数:412

7.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)