绘制线条代码,其实就是指定至少两个点,然后赋予贴图即可,不废话,上代码;

  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class LineT_1 : MonoBehaviour {
  5. private LineRenderer lineRender;
  6. private int lineLenght=;
  7. private Vector3 v0 =new Vector3(1.0f,0f,0f);
  8. private Vector3 v1= new Vector3(0f,1.0f,0f);
  9. private Vector3 v2=new Vector3(0f,0f,1.0f);
  10. private Vector3 v3=new Vector3(1.0f,0f,0f);
  11. // Use this for initialization
  12. void Start () {
  13. lineRender=GetComponent<LineRenderer>();
  14. lineRender.SetVertexCount(lineLenght);
  15. }
  16.  
  17. // Update is called once per frame
  18. void Update () {
  19. lineRender.SetPosition(,v0);
  20. lineRender.SetPosition(,v1);
  21. lineRender.SetPosition(,v2);
  22. lineRender.SetPosition(,v3);
  23. }
  24. }

显示结果如图:

可以看出,这里主要就是用了

  1. lineRender.SetPosition(index,point)
    这个函数。第一个参数是当前要设置的点的索引,从0 开始; 第二个参数是这个点位置。是一个vector3 类型的值;
  2.  
  3. 下面来看一下绘制面,上代码:
  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class MeshBulider : MonoBehaviour {
  5. private Mesh myMesh;
  6. private Vector3[] vertices;
  7. private Vector2[] uvPoints;
  8. // Use this for initialization
  9. void Start () {
  10. myMesh=GetComponent<MeshFilter>().mesh;
  11. 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)};
  12. uvPoints=new Vector2[]{new Vector2(, ), new Vector2(, ), new Vector2(, ),new Vector2(, ), new Vector2(, ), new Vector2(, )};
  13. }
  14.  
  15. // Update is called once per frame
  16. void Update () {
  17.  
  18. myMesh.vertices=vertices;
  19. myMesh.uv=uvPoints;
  20. //如果不写triangles这个属性的话三角形不会被显示;
  21. myMesh.triangles=new int[]{,,,,,};
  22. }
  23. }

实际上也是指定点,然后赋予贴图,不同的是绘制面的时候指定点用了两步:

第一:声明并实例化一个vector3 类型的数组(这个数组保存了面的各个顶点,所以,这个数组的元素数量也必须是3的倍数);

第二:为mesh 的triangles 属性赋值 ,其值是一个int类型的数组,元素个数与声明的顶点数组一一对应;

运行结果如图:

检视面板:

从图中也可以看出,贴图的渲染也是从第一个点开始渲染的,第一个点就是渲染贴图开始地方,对应贴图的左下角(这个不知道说的对不对,眼下是这么觉的~)。~~~

欢迎大家和我一起一起学习,一起进步~

unity绘制线和绘制面的更多相关文章

  1. Unity3D研究院之游戏对象的访问绘制线与绘制面详解(十七)

    一眨眼学习Unity3D 也有一段时间了,基本已经拿下了这套游戏引擎,回过头来想想以前写的RPG 游戏引擎,越来越发现以前写的就是垃圾.人果然是要不断学习与不断进步,好好学习,天天向上.哇咔咔- 加油 ...

  2. R绘图 第六篇:绘制线图(ggplot2)

    线图是由折线构成的图形,线图是把散点从左向右用直线连接起来而构成的图形,在以时间序列为x轴的线图中,可以看到数据增长的趋势. geom_line(mapping = NULL, data = NULL ...

  3. ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等--绘制点、线、圆,显示提示信息

    ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等--绘制点.线.圆,显示提示信息 /// <summary> /// 绘制界面上的点和线 ///  ...

  4. Unity编辑器 - 使用GL绘制控件

    Unity编辑器 - 使用GL绘制控件 控件较为复杂时,可能造成界面卡顿,在EditorGUI中也可以灵活使用GL绘制来提升性能. 以绘制线段为例: using UnityEngine; using ...

  5. canvas绘制线和矩形

    ###canvas绘制矩形 HTML中的元素canvas只支持一种原生的图形绘制:矩形.所有其他的图形的绘制都至少需要生成一条路径 1.绘制矩形 canvas提供了三种方法绘制矩形: ----> ...

  6. Matplotlib 误差线的绘制和子图的创建方式

    一.绘制误差线 使用errorbar方法可以绘制误差线. x = np.linspace(0,10,50) dy=0.8 y = np.cos(x) + dy*np.random.randn(50) ...

  7. 12-UIKit(View绘制、绘制曲线、绘制文字、贴图)

    目录: 1. View绘制 2. 绘制曲线 3. 绘制文字 4. 贴图 回到顶部 1. View绘制 1.1 做出自己的视图对象 TRCell : UITableViewCell : UIView U ...

  8. Unity动态构建mesh绘制多边形算法流程分析和实践

    前言 先说一下,写这篇博文的动机,原文的博主代码写的十分潇洒,以至于代码说明和注释都没有,最近恰逢看到,所以以此博文来分析其中的算法和流程 参考博文:https://blog.csdn.net/lin ...

  9. IOS 绘制基本图形( 画圆、画线、画圆弧、绘制三角形、绘制四边形)

    // 当自定义view第一次显示出来的时候就会调用drawRect方法- (void)drawRect:(CGRect)rect { // 1.获取上下文 CGContextRef ctx = UIG ...

随机推荐

  1. c++回调实现

    回调是A将一个函数指针传给B,然后调用B,B在执行自身函数后,再在合适的时候执行A的这个函数指针,这样就能避免A和B的相互包含和链接,在大型项目中回调是一种打破循环依赖的常用技术. typedef v ...

  2. MySQL学习笔记(5) - 修改和删除数据库

    1.完整语句 ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACHER SET [=] charset_name; 2.修改数据库的编码方式 al ...

  3. JavaScript 高级程序设计 第5章引用类型 笔记

    第五章 引用类型 一.object类型 1.创建方法: 1.使用new 操作符创建 var person=new object() Person.name=”Nicholasa” Porson.age ...

  4. hibernate像MySQL数据库里面存值是中文乱码的解决合辑

    解决办法一: 1.把数据库表每一行改成gb2312_chinese(使用PHPMyAdmin)   2.导入时候还是不行,因此查网上的资料说hibernate持久化层在传输过程中未设置编码格式,这样在 ...

  5. jquery实现简单鼠标经过图片预览效果

    html结构:<div class="prebtn"><img src=""/></div> css代码:#preview{ ...

  6. localhost 与 127.0.0.1 的区别

    localhost与127.0.0.1的区别是什么?相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次解析.看来这个入门问题还有人不清楚,其实这两者是有区别的. ...

  7. PHP打开PDO_MySQL扩展的配置方法

    PHP中的PDO其实是一个很好用的扩展,在一些PHPCMS系统中,开发者大多都有用到,那么如何开启PDO和PDO_MySQL扩展呢?方法同样很简单: 打开php.ini配置文件,找到extension ...

  8. Pyzo -- 好用的 Python 轻量级 IDE

    近期 yvivid 使用 Python 进行科学计算类应用(如matlab部分应用场景) 比较好的 发行版本为 Anaconda: A free distribution for the SciPy ...

  9. KEIL的混合编程操作

    http://hi.baidu.com/txz01/item/21ad9d75913a7b28d7a89c12 这一篇来讲讲混合编程的问题,在网上找了一下,讲混合编程的文件章也有不少,但进行实例操作讲 ...

  10. NOI2015

    D1T1 并查集. #include<cstdio> #include<cstdlib> #include<iostream> #include<fstrea ...