【巨人的肩膀上制造世界】——10——Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能
目录
1、博客介绍
2、内容
(1)编辑器预制线条
(2)编辑器修改线条
(3)线条的属性
(4)代码画线
(5)线条碰撞
3、推送
4、结语
本篇作为插件学习类第10篇文章,介绍一款号称Untiy最好用的画线工具,Vectrosity,博主试了试又看了看例子,确实好使,本篇文章做个简短的介绍。
首先,导入插件后,我们可以直接通过Hierarchy面板,右键>UI>VectorLine的形式创建一个线段,这时就可以在视窗和面板内看到生成的线条。
我们选中线条后可以看到在Scene视窗内线条两端会出现能够拖动的圆球,我们可以通过圆球来改变线条的位置和长度
按下Shift键后点击Scene视窗,我们可以增加线段点的数量
按下Ctrl键后点击Scene视窗,我们可以删除已存在的线段的点,但最低要保存两个点
按下Alt键我们可以整体的拖动线条的位置
Style | 修改线条整体颜色,宽度和碰撞盒等 |
Texture | 给线条赋上贴图 |
Partial Line | 那些段的线条被显示 |
Line Points | 显示线条上的点的坐标 |
Colors | 设置每段线条的颜色和过度 |
Widths | 设置每段线条的宽度和过度 |
上述说的都是在编辑器情况下干的事情,这里说一下在代码中画线,通过几个小例子展示给大家,更多的功能就自己探索吧。
//画直线
var linePoints = new List();
linePoints.Add (new Vector2(0, 0));
linePoints.Add (new Vector2(200,500));
var line = new VectorLine("Line", linePoints, 2.0f);
line.Draw();
所有的画线均是通过实例一个VectorLine来实现的,最基本的画线就是添加坐标后,
实例时赋值给VectorLine,最后调用Draw方法来绘制在屏幕上。
//画曲线
var line3 = new VectorLine("CurveLine", new List(110),null, 5.0f, LineType.Continuous, Joins.Weld);
line3.MakeCurve(new Vector2(0, 0),new Vector2(0,100),new Vector2(300,0),new Vector2(300,300),100);
line3.Draw();
我们先看VectorLine的参数信息
参数一:"CurverLine"是生成的线条在Hierarchy面板上的名字
参数二:new List(110) 是存放曲线点的链表,曲线的点数不能大过链表的长度
参数三:null 这里是设置线条的贴图
参数四:5.0f 这里设置线条的宽度
参数五:LineType 这里设置线条的类型
参数六:Joins 这里是设置两条线段之间的过度方式
我们再看曲线方法MakeCurve的参数
参数一:曲线的起点
参数二:曲线的参考锚点
参数三:曲线的终点
参数四:曲线的参考锚点
参数五:曲线的点数
//画圆
var line3 = new VectorLine("CurveLine", new List(110),null, 5.0f, LineType.Continuous, Joins.Weld);
line3.MakeCircle(new Vector3(100,100),100);
line3.Draw();
同样是先实例VectorLine,在调用画圆方法MakeCircle
我们看MakeCircle的参数
参数一:圆的圆心位置
参数二:半径
还有很多封装好的方法呀,围绕模型定点画线等等的,具体的自行查看吧文档吧
线条是可以添加碰撞器的,而且在特定情况下是可以影响3D物体的,需要设置一下几点
1、线条属性勾选Collider
2、渲染一下相机 VectorLine.SetCamera3D(gameObject);
3、3D模型的刚体和碰撞盒必须设置为2D
Github:https://github.com/KingSun5
该插件功能还是很强大的,具体有需要的可以查看文档和查看插件附带的例子,若是觉得博主的文章写的不错,不妨关注一下博主,点赞一下博文,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。
QQ交流群:806091680(Chinar)
该群为CSDN博主Chinar所创,推荐一下!我也在群里!
本文属于原创文章,转载请著名作者出处并置顶!!!!