Unity3D游戏引擎之游戏对象的访问绘制线与绘制面详解.docVIP

Unity3D游戏引擎之游戏对象的访问绘制线与绘制面详解.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Unity3D游戏引擎之游戏对象的访问绘制线与绘制面详解

一眨眼学习Unity3D 也有一段时间了,基本已经拿下了这套游戏引擎,回过头来想想以前写的RPG 游戏引擎,越来越发现以前写的就是垃圾。人果然是要不断学习与不断进步,好好学习,天天向上。哇咔咔~ 加油!! 最近做一个项目须要去绘制线与绘制面,那么把这两天的学习笔记整理一下,一是给自己留作备忘,二是方便初学者学习。 任何一个无规则曲线它都是有若干个线段组成,及时是圆形它也是又若干个线段组成的,也就是说将若干个线段拼接起来就是我们须要的无规则曲线~那么在3D 的世界中我们须要知道 X Y Z 三个点来确定一条3D线段。 首先先使用Unity编辑器的方式来添加一条线~ Unity - GameObject - Create Empty 创建一个空的对象,我命名为line。然后点击 Component - Miscellaneous - Line Renderer 给line添加一个线渲染器的属性,Line Renderer是非常中的属性,下面我会详细的说明。 Create - Material 创建一个材质,做来这个线段的贴图,下面我们看看Line Renderer的一些重要参数。 Cast Shadows: 是否投射阴影。 Receive Shadows: 是否接收阴影。 Materials :设置材质,这里可以设置多个材质, line就是上面我们创建的材质,这里我给line这个材质涂上了红颜色。 Positions:这个属性就比较重要了,它是专门设置线段在3D 世界中的点的坐标,size 设置点的数量 为3 那么将会有3个点,Element 0 Element 1 Element 2 这三个点将确定这条曲线分为两段,第一段是(0,0,1) 到 (0,0,2) ,第二段是 (0,0,2) 到(0,0,4)。 Paramerters StartWidth :设置起点的宽度 EndWidth: 设置终点的宽度 ,这两项数值默认为1,但是现实起来很宽,所以一般都设置为0.几~ Start Color: 设置起点颜色 Start Color: 设置终点颜色 Use World Space 使用世界坐标系 大家看看效果,清楚的可以看到曲线分为两部分,第一部分较短 第二部分较长。 怎么样? 绘制线的方法不难学吧?在已知线段位置的情况下我们可以使用上面的方法去设置这条线,但是如果线段的位置是在游戏过程中动态的产生就得在代码中去动态的去设置。 创建脚本Main.cs 绑定到摄像头上,运行游戏绘制线的话须要在Main中去拿到line这个对象的实例。这就是一个比较重要的知识点了。 一些重要的方法,在编辑器中编辑的一些东西,在代码中也可以做到。 LineRenderer.SetWidth(0.1,0.1) ; 设置线段起始点与结束点的宽度 (参数1 为起始点 参数2为结束点) LineRenderer.SetColor(Color.black,Color.white); 设置线段起始点与结束点的颜色 (参数1 为起始点颜色 参数2为结束点颜色) LineRenderer.SetVertexCount(5); 设置线段数量。 LineRenderer.useWorldSpace = true; 是否使用世界坐标系,和上面编辑器对应。 [csharp] view plaincopy using UnityEngine; using System.Collections; using System.Threading; public class Main : MonoBehaviour { //游戏对象,这里是线段对象 private GameObject LineRenderGameObject; //线段渲染器 private LineRenderer lineRenderer; //设置线段的个数,标示一个曲线由几条线段组成 private int lineLength = 4; //分别记录4个点,通过这4个三维世界中的点去连接一条线段 private Vector3 v0 = new Vector3(1.0f,0.0f,0.0f); private Vector3 v1 = new Vector3(0.0f,1.0f,0.0f); private Vector3 v2 = new Vector3(0.0

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档