unity绘制线和绘制面
绘制线条代码,其实就是指定至少两个点,然后赋予贴图即可,不废话,上代码;
using UnityEngine;
using System.Collections; public class LineT_1 : MonoBehaviour {
private LineRenderer lineRender;
private int lineLenght=;
private Vector3 v0 =new Vector3(1.0f,0f,0f);
private Vector3 v1= new Vector3(0f,1.0f,0f);
private Vector3 v2=new Vector3(0f,0f,1.0f);
private Vector3 v3=new Vector3(1.0f,0f,0f);
// Use this for initialization
void Start () {
lineRender=GetComponent<LineRenderer>();
lineRender.SetVertexCount(lineLenght);
} // Update is called once per frame
void Update () {
lineRender.SetPosition(,v0);
lineRender.SetPosition(,v1);
lineRender.SetPosition(,v2);
lineRender.SetPosition(,v3);
}
}
显示结果如图:

可以看出,这里主要就是用了
lineRender.SetPosition(index,point)
这个函数。第一个参数是当前要设置的点的索引,从0 开始; 第二个参数是这个点位置。是一个vector3 类型的值; 下面来看一下绘制面,上代码:
using UnityEngine;
using System.Collections; public class MeshBulider : MonoBehaviour {
private Mesh myMesh;
private Vector3[] vertices;
private Vector2[] uvPoints;
// Use this for initialization
void Start () {
myMesh=GetComponent<MeshFilter>().mesh;
vertices=new Vector3[]{new Vector3(5f,0f,0f),new Vector3(0f,5f,0f),new Vector3(0f,0f,5f),new Vector3(-5f,0f,0f),new Vector3(0f,-5f,0f),new Vector3(0f,0f,-5f)};
uvPoints=new Vector2[]{new Vector2(, ), new Vector2(, ), new Vector2(, ),new Vector2(, ), new Vector2(, ), new Vector2(, )};
} // Update is called once per frame
void Update () { myMesh.vertices=vertices;
myMesh.uv=uvPoints;
//如果不写triangles这个属性的话三角形不会被显示;
myMesh.triangles=new int[]{,,,,,};
}
}
实际上也是指定点,然后赋予贴图,不同的是绘制面的时候指定点用了两步:
第一:声明并实例化一个vector3 类型的数组(这个数组保存了面的各个顶点,所以,这个数组的元素数量也必须是3的倍数);
第二:为mesh 的triangles 属性赋值 ,其值是一个int类型的数组,元素个数与声明的顶点数组一一对应;
运行结果如图:

检视面板:

从图中也可以看出,贴图的渲染也是从第一个点开始渲染的,第一个点就是渲染贴图开始地方,对应贴图的左下角(这个不知道说的对不对,眼下是这么觉的~)。~~~
欢迎大家和我一起一起学习,一起进步~
unity绘制线和绘制面的更多相关文章
- Unity3D研究院之游戏对象的访问绘制线与绘制面详解(十七)
一眨眼学习Unity3D 也有一段时间了,基本已经拿下了这套游戏引擎,回过头来想想以前写的RPG 游戏引擎,越来越发现以前写的就是垃圾.人果然是要不断学习与不断进步,好好学习,天天向上.哇咔咔- 加油 ...
- R绘图 第六篇:绘制线图(ggplot2)
线图是由折线构成的图形,线图是把散点从左向右用直线连接起来而构成的图形,在以时间序列为x轴的线图中,可以看到数据增长的趋势. geom_line(mapping = NULL, data = NULL ...
- ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等--绘制点、线、圆,显示提示信息
ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等--绘制点.线.圆,显示提示信息 /// <summary> /// 绘制界面上的点和线 /// ...
- Unity编辑器 - 使用GL绘制控件
Unity编辑器 - 使用GL绘制控件 控件较为复杂时,可能造成界面卡顿,在EditorGUI中也可以灵活使用GL绘制来提升性能. 以绘制线段为例: using UnityEngine; using ...
- canvas绘制线和矩形
###canvas绘制矩形 HTML中的元素canvas只支持一种原生的图形绘制:矩形.所有其他的图形的绘制都至少需要生成一条路径 1.绘制矩形 canvas提供了三种方法绘制矩形: ----> ...
- Matplotlib 误差线的绘制和子图的创建方式
一.绘制误差线 使用errorbar方法可以绘制误差线. x = np.linspace(0,10,50) dy=0.8 y = np.cos(x) + dy*np.random.randn(50) ...
- 12-UIKit(View绘制、绘制曲线、绘制文字、贴图)
目录: 1. View绘制 2. 绘制曲线 3. 绘制文字 4. 贴图 回到顶部 1. View绘制 1.1 做出自己的视图对象 TRCell : UITableViewCell : UIView U ...
- Unity动态构建mesh绘制多边形算法流程分析和实践
前言 先说一下,写这篇博文的动机,原文的博主代码写的十分潇洒,以至于代码说明和注释都没有,最近恰逢看到,所以以此博文来分析其中的算法和流程 参考博文:https://blog.csdn.net/lin ...
- IOS 绘制基本图形( 画圆、画线、画圆弧、绘制三角形、绘制四边形)
// 当自定义view第一次显示出来的时候就会调用drawRect方法- (void)drawRect:(CGRect)rect { // 1.获取上下文 CGContextRef ctx = UIG ...
随机推荐
- C#方法的重载
方法的重载 参数不同,个数可以相同 参数相同,个数不能相同 static void Main(string[] arr) { Console.WriteLine(M(,)); Console.Read ...
- sscanf 函数
sscanf 函数: 从一个字符串中读进与指定格式相符的数据. 头文件: #include<stdio.h> 返回值: sscanf("1 2 3","%d ...
- edit编辑框相关
从Edit Control获取值,然后通过MessageBox输出出来 void CNowaMagic_MFCDlg::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代 ...
- Unity3d有关图形尺寸大小的注意事项
主要参考了官方文档,然后根据个人的理解撰写该文.Unity3D支持的图形文件格式有 PSD, TIFF, JPG, TGA, PNG, GIF, BMP, IFF, PICT(但根据本人的亲手测试,U ...
- PCB布线的地线干扰与抑制方法
1.地线的定义什么是地线?大家在教科书上学的地线定义是:地线是作为电路电位基准点的等电位体.这个定义是不符合实际情况的.实际地线上的电位并不是恒定的.如果用仪表测量一下地线上各点之间的电位,会发现地线 ...
- C51的模块化设计方法
一个大的单片机程序往往包含很多模块,我是这样组织的: 1.每一个C源文件都要建立一个与之名字一样的H文件(头文件),里面仅仅包括该C文件的函数的声明,其他的什么也不会有,比如变量的定义啊等等不应该有. ...
- JPA中以HibernatePersistence为provider的批量插入问题
为什么要批量插入 要插入10000条数据,如果不批量插入的话,那么我们执行的sql语句将是10000条insert insert into member (group_id, user_id, rol ...
- CH Round #53 -【Nescafé 32】杯NOIP模拟赛
A.GCD Path http://ch.ezoj.tk/contest/CH%20Round%20%2353%20-%E3%80%90Nescaf%C3%A9%2032%E3%80%91%E6%9D ...
- iOS 9之New System Fonts(San Francisco 字体)
金田 此次苹果发布的iOS 9系统测试版目前已经开放下载,新系统将弃用Helvetica字体,改用了San Francisco字体, 包括系统菜单.App名称等各个部分. 最初San Francisc ...
- CSS flex让所有灵活的项目都带有相同的长度,忽略它们的内容:
.flexbox { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; displa ...