Unity3D 画线插件 Vectrosity_Simple2DLine
2016-01-29 15:17
681 查看
http://blog.csdn.net/g__dragon/article/details/21088147
Vectrosity是一个很方便的画线插件,用它我们可以画出2D,3D,贝塞尔,圆,椭圆等各种线条图案。
:链接: http://pan.baidu.com/s/1pJjTFjt 密码: uesn
首先导入Vectrosity,导入后是这样的
打开Sences,看第一个Demo
Vectrosity插件采用的脚本都是用JS编写的,在第一个Demo中有三个脚本
,全部运行的效果是这样的。
这里我改为C# 的写法来书写脚本。
第一种最简单的方法画线:
void Start(){
VectorLine.SetLine(Color.white, new Vector2(0, 0), new Vector2(Screen.width - 1, Screen.height - 1));}
VectorLine类是Vectrosity的最基础的类,而SetLine是它的静态方法。
static VectorLine Setline(Color color,float time=Mathf.Infinity,Vector2[]/Vector[3] params points )
第一个参数设置线的颜色,第二个设置它显示的时间,默认可以不设置,第三个设置它线上的点的二维数组或三维数组用于链接二维点坐标或三维点坐标。
第二种方法:
void Start(){
Vector2[] linePoints= {new Vector2(0, Random.Range(0, Screen.height)), // 第一个点在屏幕最左边
new Vector2(Screen.width-1, Random.Range(0, Screen.height))}; // 第二个在屏幕右边,高度都随机
// 定义一个 VectorLine 对象,名字是“Line” 使用linePoints数组内的点, 并且使用默认材质, 线的宽度是2像素
VectorLine line = new VectorLine("Line", linePoints, null, 2.0f);
// 画出这条线
line.Draw();
}
这是Vectrosity插件最常用的方法,先定义一个二维或三维数组,用于保存线内包含的点,然后再定义一个VectorLine对象 就是一个线对象,参数已解释,最后调用Draw方法画线。
用Vectrosity画线,就是这么简单。。。
[csharp] view
plain copy
using UnityEngine;
using System.Collections;
using Vectrosity;
public class TestLine : MonoBehaviour
{
public Material lineMaterial;
private VectorLine line;
private Vector2 [] points;
// Use this for initialization
void Start()
{
points = new Vector2[]{new Vector2(100,100),new Vector2(200,200)};
line = new VectorLine("Line", points, lineMaterial, 3f, LineType.Discrete, Joins.Weld);
}
// Update is called once per frame
void Update()
{
points[1] = new Vector2(Input.mousePosition.x,Input.mousePosition.y);
line.Draw();
}
}
Vectrosity是一个很方便的画线插件,用它我们可以画出2D,3D,贝塞尔,圆,椭圆等各种线条图案。
:链接: http://pan.baidu.com/s/1pJjTFjt 密码: uesn
首先导入Vectrosity,导入后是这样的
打开Sences,看第一个Demo
Vectrosity插件采用的脚本都是用JS编写的,在第一个Demo中有三个脚本
,全部运行的效果是这样的。
这里我改为C# 的写法来书写脚本。
第一种最简单的方法画线:
void Start(){
VectorLine.SetLine(Color.white, new Vector2(0, 0), new Vector2(Screen.width - 1, Screen.height - 1));}
VectorLine类是Vectrosity的最基础的类,而SetLine是它的静态方法。
static VectorLine Setline(Color color,float time=Mathf.Infinity,Vector2[]/Vector[3] params points )
第一个参数设置线的颜色,第二个设置它显示的时间,默认可以不设置,第三个设置它线上的点的二维数组或三维数组用于链接二维点坐标或三维点坐标。
第二种方法:
void Start(){
Vector2[] linePoints= {new Vector2(0, Random.Range(0, Screen.height)), // 第一个点在屏幕最左边
new Vector2(Screen.width-1, Random.Range(0, Screen.height))}; // 第二个在屏幕右边,高度都随机
// 定义一个 VectorLine 对象,名字是“Line” 使用linePoints数组内的点, 并且使用默认材质, 线的宽度是2像素
VectorLine line = new VectorLine("Line", linePoints, null, 2.0f);
// 画出这条线
line.Draw();
}
这是Vectrosity插件最常用的方法,先定义一个二维或三维数组,用于保存线内包含的点,然后再定义一个VectorLine对象 就是一个线对象,参数已解释,最后调用Draw方法画线。
用Vectrosity画线,就是这么简单。。。
[csharp] view
plain copy
using UnityEngine;
using System.Collections;
using Vectrosity;
public class TestLine : MonoBehaviour
{
public Material lineMaterial;
private VectorLine line;
private Vector2 [] points;
// Use this for initialization
void Start()
{
points = new Vector2[]{new Vector2(100,100),new Vector2(200,200)};
line = new VectorLine("Line", points, lineMaterial, 3f, LineType.Discrete, Joins.Weld);
}
// Update is called once per frame
void Update()
{
points[1] = new Vector2(Input.mousePosition.x,Input.mousePosition.y);
line.Draw();
}
}
相关文章推荐
- 【我的书】Unity Shader的书 — 目录(2016.5.19最后一次更新)
- 【Unity Shader】2D动态云彩
- 【Unity Shader】2D动态云彩
- Unity3D项目之 Survival Shooter 记录
- EVP5 Unity5 汽车物理引擎demo分析
- Unity全屏模糊
- unity+slua热更流程演示
- 关于 Unity UGUI 中修改 Mask 组件下 Image 等子节点组件的材质无效的问题
- unity c# enum
- Unity WebPlayer自定义进度条界面
- [置顶] 一些值得学习的Unity教程
- unity3D 插件plugins
- 使用unity做的绩点计算器
- 【Unity Shader】HSV和RGB互转的shader实现
- Unity3d之剥离 alpha 通道
- 美术同学最近自己找了个shader用来做动态的草和旗,结果出了一些问题(顶点动画shader)
- Unity手游:自动寻路Navmesh入门
- Unity渲染队列
- Unity3d中单例模式的使用
- Unity Assets目录下的特殊文件夹名称