应用举例:
刀光剑影、切水果游戏等
重要参数:
Width:宽度,可以使用曲线
Time:持续时间
Color
Meterial:可以使用材质实现美轮美奂的光影效果
应用举例:
愤怒的小鸟拉弹弓的动画、连连看的画线等等
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)