版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(第三版)Unity虚拟现实与游戏从0到1讲师:刘国柱第17章:Unity常用组件与插件课程目录011234概述LineRendererDoTween插件粒子系统第一章:概述
线渲染器(LineRender)常用在游戏与虚拟现实项目中的三维画线、画图等领域。例如王者荣耀游戏中的攻击范围圈、激光武器发射的激光线等应用。DoTween与ITween都是常用在模型运动处理、模型路径动画效果的常用辅助插件。由于两者的功能非常近似,加之前者DoTween插件的功能更加完善所以本书籍以DoTween做详细讲解。
所谓粒子系统就是由大量且微小的游戏对象所组成的组合体,例如日常生活中的火焰、烟尘、瀑布等。游戏与虚拟现实项目中使用粒子系统可以很好的模拟日常生活中的某些自然现象,以及更好的表现游戏壮观、瑰丽的场景。在游戏中起到一种模拟真实、合理夸张的游戏特效,可以很好的使玩家投入到开发人员所构造出来的魅力无限的虚拟世界,身心得到愉悦!课程目录011234概述LineRenderer&TrailRendererDoTween插件粒子系统第二章:LineRenderer&TrailRenderer什么是“线渲染器”?线渲染器(LineRenderer)是一个包含两个或更多3D空间中点的数组集合且在每两个点之间绘制平直的线。(官方API定义;TheLineRenderercomponenttakesanarrayoftwoormorepointsin3Dspace,anddrawsastraightlinebetweeneachone.)以上官方定义简单来说:就是绘制一个三维的线段,前提是先定义三维空间的几个点,然后系统会自动连接这些点,从而最终显示为一个可见(三维)线段。需要注意的是这条线段是具备“广告牌”性质的,也就是说无论摄像机从哪个方向拍摄,三维线段都是可见的。线渲染器的功能:
可以在Unity项目中绘制各种2D/3D图形,生成特定图像。第二章:LineRenderer&TrailRenderer线条编辑与属性LineRender组件属性Width:
线段宽度Positions:
顶点数量Materials:
材质第二章:LineRenderer&TrailRendererLineRender组件属性(续)Position/Size:顶点数量手工绘制线条顶点第二章:LineRenderer&TrailRenderer编码绘制图案坐标数值绘制图像开发步骤:1:定义LineRenderer组件2:设置“三维点”数量3:设置“三维点”位置信息第二章:LineRenderer&TrailRenderer激光射线:利用LineRender组件绘制看不见的射线定义射线代码,激发设计靶墙。定义LineRenderer组件。定义LineRenderer组件的顶点数量与位置信息第二章:LineRenderer&TrailRenderer拖尾组件与应用TrailRenderer组件重要属性Width拖尾宽度Time拖尾时间Color拖尾颜色Materials拖尾材质第二章:LineRenderer&TrailRendererTrailRenderer测试对指定模型添加TrailRender组件运行程序,让模型运动起来,查看拖尾效果。如果效果不良,修改属性参数进行修改。第二章:LineRenderer&TrailRenderer课程目录011234概述LineRenderer&TrailRendererDoTween插件粒子系统第三章:DoTween插件什么是DoTween插件?
是一款Unity引擎中的插件,用于处理动画效果。提供了简单而强大的API,使得游戏与VR项目中创建与管理动画变得更加容易。
如何安装插件?方法1:从UnityAssetStore直接下载与导入,也可以通过GitHub获取最新版本的插件,且导入项目中。方法2:直接在Unity编辑器的PackageManger搜索“DOTween”下载。方法3:从课程配套下载资源包中获取,解压到项目视图的Assets/Plugins目录下即可。第三章:DoTween插件DoTween官方网址:链接:可以通过官网详细进一步掌握与学习更多细节知识。第三章:DoTween插件基础常用功能1:移动、旋转、缩放、震动、弹跳移动、旋转、缩放transform.DOMove(goTarget.transform.position,2F);transform.DORotate(newVector3(180,0,0),2F);transform.DOScale(newVector3(0.1F,0.1F,0.1F),2F);震动transform.DOShakePosition(10,5);transform.DOShakeRotation(10,5);transform.DOShakeScale(10,5);弹跳transform.DOPunchPosition(goTarget.transform.position,10F);transform.DOPunchRotation(newVector3(180,0,0),2F);transform.DOPunchScale(newVector3(1.5F,1.5F,1.5F),2F);第三章:DoTween插件2:材质的过渡、朝向、多函数并行材质过渡 Materialma=transform.GetComponent<MeshRenderer>().material;ma.DOColor(Color.blue,10F);//颜色的过渡处理。 ma.DOColor(Color.clear,5F);
朝向
transform.DOLookAt(goTarget.transform.position,2F);多函数并行transform.DOMove(goTarget.transform.position,2F);transform.DOScale(newVector3(0.1F,0.1F,0.1F),2F);第三章:DoTween插件3:DoTween链式编程与参数循环次数transform.DOMove(goTarget.transform.position,2F).SetLoops(3);反方向动画transform.DOMove(goTarget.transform.position,2F).SetLoops(3).From();累加效果transform.DOMove(goTarget.transform.position,2F).SetLoops(3,LoopType.Incremental);动画延迟transform.DOMove(goTarget.transform.position,2F).SetDelay(3F);运动曲线transform.DOMove(goTarget.transform.position,2F).SetEase(Ease.Linear);transform.DOMove(goTarget.transform.position,2F).SetEase(Ease.Flash,3,0);回调函数transform.DOMove(goTarget.transform.position,2F).OnComplete(prograssOk);transform.DOMove(goTarget.transform.position,2F).OnComplete(()=>print("动画执行完毕了"));transform.DOMove(goTarget.transform.position,2F).OnStart(()=>Debug.Log("开始运行了!"));第三章:DoTween插件路径动画与协程1:路径动画publicGameObjectgoHero;publicVector3[]VecPaths=newVector3[3];
//基础路径移动动画goHero.transform.DOPath(VecPaths,10F);
//曲线移动动画goHero.transform.DOPath(VecPaths,10F,PathType.CatmullRom,PathMode.Full3D,10);第三章:DoTween插件2:DOTween与协程
等待动画播放完成之后
voidStart(){//单次
_Tweener=goHero.transform.DOMove(trTarget.position,2F).SetLoops(1);StartCoroutine(Wait1());
}IEnumeratorWait1(){//等待动画播放完成之后
yieldreturn_Tweener.WaitForCompletion();print("动画开始了");
}更多功能
等待动画开始时机
等待线程被kill掉之后
等待某个时间点第三章:DoTween插件摄像机特效第三章:DoTween插件1:改变摄像机背景色
//注意:先确保摄像机的ClearFlags改为SolidColorCameracam=transform.GetComponent<Camera>();cam.DOColor(Color.red,2F);//背景色为红色2:摄像机镜头放大效果
cam.DOFieldOfView(30F,3F);3:摄像机晃动效果cam.DOShakePosition(2,10);文字特效与序列动画控制
第三章:DoTween插件1:文字打印机特效publicTextTxt=null;Txt.DOText("你好,打字机打字机效果",2F);2:序列动画控制Sequenceseq=DOTween.Sequence();
seq.Append(goHero.transform.DOMove(trPos1.transform.position,1));seq.Append(goHero.transform.DOMove(trPos2.transform.position,2));//插入与前置状态seq.Insert(...);seq.Prepend(...);//队列的回调函数seq.InsertCallback(0,Process_Start);课程目录011234概述LineRenderer&TrailRendererDoTween插件粒子系统第四章:粒子系统粒子系统概述
Unity粒子系统的创建主要分为二种方式,第一种采用在层级视图中直接创建的方式,而后者是在游戏对象的对应属性窗口中添加粒子系统组件。
第四章:粒子系统粒子组件属性
粒子系统是Unity提供粒子系统中最简单最基本的组件
初始化与发射器模块(ParticleSystem)
喷射模块(Emission)
形状模块(Shape)
生命周期内速度控制(VelocityoverLifetime)
生命周期内速度限制(LimitVelocityoverLifetime)
生命周期内继承速度(InheritVelocity)
生命周期控制粒子受力(ForceoverLifetime)
颜色模块(ColoroverLifetime)
颜色随速度变化(ColorbySpeed)
第四章:粒子系统粒子组件属性
粒子系统是Unity提供粒子系统中最简单最基本的组件(续)生命周期内大小模块(SizeoverLifetime)大小随速度变化(SizebySpeed)生命周期内旋转控制(RotationoverLifetime)角速度随速度变化(RotationbySpeed)外力作用力模块(ExternalForces)噪波(Noise)碰撞模块(Collision)触发模块(Triggers)子粒子发射模块(SubEmitters)贴图切片动画(TextureSheetAnimation)光线模块(Lights)拖尾(Trails)粒子渲染模块(Renderer)第四章:粒子系统粒子系统示例步骤1:首先在层级视图中点击鼠标右键建立“粒子系统”(ParticleSystem)。然后点击属性窗口中的“形状"(Shape)选项,Shape属性选择“Cone”、角度(Angle)选择为“0”、半径(Radius)选择0.1。这样粒子系统显示为类似一缕青烟的外观形状。步骤2:设置粒子的“发射持续时间”(Duration)为1秒,开始生命周期(StartLifetime)为1,开始速度(StartSpeed)为10,开始大小(StartSize)设置为随机在两个固定数值之间取数值(RandomBetweenTwoConstants)模式,设置0.5与1.5。
第四章:粒子系统粒子系统示例(续)
步骤3:
选择发射器(Emission)属性选项,设置发射率(RateoverTime)为每秒20
步骤4:
设置粒子的颜色变化,勾选“颜色随生命周期变化”(ColorOverLifetime)。在“GradientEditor”弹
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广元四川广元市昭化区招聘2025届农村订单定向医学本科生3人笔试历年参考题库附带答案详解
- 安徽安徽财经大学管理岗位专业技术辅助岗位人才派遣人员招聘9人笔试历年参考题库附带答案详解
- 大庆2025年黑龙江大庆市直属学校选调教师97人笔试历年参考题库附带答案详解
- 合肥2025年安徽合肥长丰县双凤经济开发区招聘城市管理执法辅助人员笔试历年参考题库附带答案详解
- 南宁2025年广西南宁市经济信息中心招聘笔试历年参考题库附带答案详解
- 凉山2025年四川凉山冕宁县第三幼儿园招聘编制外幼儿教师25人笔试历年参考题库附带答案详解
- 临沂2025年山东临沂大学招聘工作人员6人笔试历年参考题库附带答案详解
- 高中校园“扫黑除恶”专项主题班会
- 耐药肿瘤患者的适应性富集策略与治疗方案探索-1
- 耐药菌感染暴发时的抗菌药物资源调配策略
- 临床正确标本采集规范
- 福建省福州市福清市2024-2025学年二年级上学期期末考试语文试卷
- 2025年CAR-NK细胞治疗临床前数据
- 班团活动设计
- 基金通道业务合同协议
- 党参对人体各系统作用的现代药理研究进展
- 交通银行理财合同范本
- 林业结构化面试题库及答案
- 肺结节的影像学表现
- 药厂新员工培训课件
- 放射性皮肤损伤护理指南
评论
0/150
提交评论