【巨人的肩膀上制造世界】——10——Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能

            【巨人的肩膀上制造世界】——10——Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能


目录

1、博客介绍

2、内容

 (1)编辑器预制线条

 (2)编辑器修改线条

 (3)线条的属性

 (4)代码画线

 (5)线条碰撞

3、推送

4、结语


1、博客介绍

       本篇作为插件学习类第10篇文章,介绍一款号称Untiy最好用的画线工具,Vectrosity,博主试了试又看了看例子,确实好使,本篇文章做个简短的介绍。


2、内容

(1)编辑器预制线条

首先,导入插件后,我们可以直接通过Hierarchy面板,右键>UI>VectorLine的形式创建一个线段,这时就可以在视窗和面板内看到生成的线条。

 

 (2)编辑器修改线条

我们选中线条后可以看到在Scene视窗内线条两端会出现能够拖动的圆球,我们可以通过圆球来改变线条的位置和长度

 

按下Shift键后点击Scene视窗,我们可以增加线段点的数量

【巨人的肩膀上制造世界】——10——Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能_第1张图片

 

按下Ctrl键后点击Scene视窗,我们可以删除已存在的线段的点,但最低要保存两个点

【巨人的肩膀上制造世界】——10——Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能_第2张图片

 

按下Alt键我们可以整体的拖动线条的位置

【巨人的肩膀上制造世界】——10——Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能_第3张图片

 

(3)线条的属性

【巨人的肩膀上制造世界】——10——Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能_第4张图片

Style 修改线条整体颜色,宽度和碰撞盒等
Texture 给线条赋上贴图
Partial Line 那些段的线条被显示
Line Points 显示线条上的点的坐标
Colors 设置每段线条的颜色和过度
Widths 设置每段线条的宽度和过度

 

(4)代码画线

上述说的都是在编辑器情况下干的事情,这里说一下在代码中画线,通过几个小例子展示给大家,更多的功能就自己探索吧。

 

//画直线
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方法来绘制在屏幕上。

【巨人的肩膀上制造世界】——10——Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能_第5张图片

 

//画曲线
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的参数
参数一:曲线的起点
参数二:曲线的参考锚点
参数三:曲线的终点
参数四:曲线的参考锚点
参数五:曲线的点数 

【巨人的肩膀上制造世界】——10——Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能_第6张图片

//画圆
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的参数
参数一:圆的圆心位置
参数二:半径

【巨人的肩膀上制造世界】——10——Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能_第7张图片

还有很多封装好的方法呀,围绕模型定点画线等等的,具体的自行查看吧文档吧

 

 (5)线条碰撞

线条是可以添加碰撞器的,而且在特定情况下是可以影响3D物体的,需要设置一下几点

1、线条属性勾选Collider

2、渲染一下相机  VectorLine.SetCamera3D(gameObject);

3、3D模型的刚体和碰撞盒必须设置为2D


3、推送

Github:https://github.com/KingSun5


4、结语

       该插件功能还是很强大的,具体有需要的可以查看文档和查看插件附带的例子,若是觉得博主的文章写的不错,不妨关注一下博主,点赞一下博文,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。

       QQ交流群:806091680(Chinar)

       该群为CSDN博主Chinar所创,推荐一下!我也在群里!

       本文属于原创文章,转载请著名作者出处并置顶!!!!
 

你可能感兴趣的:(【巨人的肩膀上制造世界】——10——Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能)