- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
粒子系统性能-剔除
我们曾发布过关于 粒子系统中使用不同曲线模型的性能的文章。今天我们将研究一下粒子系统的剔除。
只有在系统行为可以被预测时才能使用剔除。
开启一个模块不仅会影响这个模块的开销,而且可能由于从程序化的模块切换为非程序化的模式而影响到整个系统的开销。
通过脚本改变的值将不会被剔除。
使用自定义的剔除可以提供性能上的优势,但只有开发人员才能判断是否适合。需要考虑特效类型,玩家是否会注意到在它们不可见时动画停止了,以及是否可以预测影响的区域?
程序化模式
每个粒子系统都有两种执行模式,程序化和非程序化。
程序化模式下可以知道粒子系统在任意时间的状态(无论过去还是将来),但是非程序化系统中这些都是不可预测的。这意味着可以将程序化系统在任何时刻快进(或回退)到任意位置。
当粒子系统处于所有相机的范围之外时,它将被剔除。这种情况出现时,程序化系统会停止更新。当粒子系统重新可见时它将快进到新的时刻。非程序化的系统则无法这样做,即使是不可见时它也必须持续更新系统,因为它是不可预测的。
举个例子,下面的系统是可预测的。它位于本地坐标系中,所以粒子系统的位移无关紧要,粒子系统不受例如碰撞、触发器或者风之类的外力影响。这意味着可以计算出粒子系统生存周期的边界(黄色边框),并且可以安全地将其在不可见的时候剔除。
通过将粒子系统改为世界坐标系,可以将其变为不可预测的。粒子生成后需要对当前位置进行采样。粒子所在位置是不可预测的,也不知道它之前和之后处于何地。因此即便粒子系统本身已经不可见,系统也必须持续更新来保证重新可见时粒子位置是正确的。
将系统改为世界坐标系,粒子系统将不可预测。如果粒子不可见时不持续更新,那么系统就无法知道粒子的位置。
是什么打破了程序化模式,如何知道已经打破?
当粒子系统不再支持程序化模式时,检视面板会显示一个小图标。将鼠标移动到这个图标上将提示出不再支持程序化模式的原因,并且该粒子系统将不能被剔除。也可以通过查看粒子系统的包围盒来判断是否是程序化模式,如果包围盒只包含粒子并且不断改变表明当前没有使用程序化模式。
下面是一些打破程序化模式的一些情况。
*一个曲线如果多于8个分段就无法支持程序化模式。如果曲线不是从0.0开始,或者不是以1.0结束,则一个分段指一串键值再加一个键值。
在播放器中使程序化模式无效
程序化模式基于确切知道系统在不受外部影响的情况下在任意时刻的状态。如果通过脚本或播放模式下在编辑器中改变了某个值,那么之前的假设将不成立,程序化模式就会失效。也就是说即使一个系统已经使用了程序化安全设置,程序化模式也不可能再有效,粒子系统也不会被剔除。
通过脚本改变值或发射粒子都会使得程序化模式无效,这点可以通过检查场景中系统的边框来判断。如果边框持续变化,那么程序化模式就不再有效。
某些时候可以通过使用粒子系统的内置功能而非脚本来改变属性,以避免程序化模式失效。
在已停止的粒子系统上调用播放会重置系统并使得程序化模式重新生效。
性能示例
程序化系统和非程序化系统有着明显的性能差异。当粒子系统不在屏幕范围内时尤为显著。在一个包含了120个默认系统的场景中,每个粒子系统产生1000个粒子,下面显示的是本地坐标系(程序化)和世界坐标系(非程序化)之间的的性能差异。左侧显示的是没发生剔除时,右侧是发生剔除时。?
自定义剔除
下图显示的是简单的2D雨效果,它使用了碰撞模块(打破了程序化模式)。
使用了碰撞模块后的系统无法预测。碰撞体可能发生移动,或者它们自身的属性也可能随时间变化。这意味着无法预测粒子未来所在的位置,因此粒子系统在屏幕之外时也需要持续更新。
简单的雨效果使用了碰撞模块来产生飞溅的效果。黄色框表示边界。
可以看到碰撞发生在某个特定区域中,并且在整个粒子生命周期中不会移动该区域,但粒子系统并不知道这些。
这样的效果在不可见时不更新也没关系,所以可以通过自定义剔除提高性能。
可以在Unity的剔除系统中嵌入CullingGroup ,这样就可以使用边界球创建剔除区域。当该区域变为可见或不可见时会发送一条通知,以便不可见时暂停粒子系统并在重新可见时恢复。这样做的缺点是,屏幕之外的粒子会是静止的,这可能对某些效果有影响。避免这个缺点的方法是将粒子系统模拟快进一些来伪装粒子系统在不可见时仍然工作的假象。
自定义的边界球体包括了雨效果的影响区域。
100个雨系统的性能?
自定义剔除并非适用于所有特效。左侧的系统使用了自定剔除,可以发现与右侧的无剔除版本并不同步。这也说明了为什么非程序化系统在不可见时也必须要持续更新。
您可能关注的文档
- KC8-嵌入式技术应用 10. 制作桌面图标 制作桌面图标-KC08141210-d01.doc
- KC10-基于LabVIEW的物联网应用程序设计 GSM通讯设备使用与编程 GB TO unicode转换表及转换函数-KC10121901-c03.doc
- KC11-云计算及其应用 为vCenter Server准备虚拟机 KC11020201-l03-为vCenter Server准备虚拟机.docx
- KC11-云计算及其应用 以HTML方式使用VMware View桌面 KC11020318-l03-以HTML方式使用VMware View桌面.docx
- KC11-云计算及其应用 在数据源中添加DSN连接 KC11020305-l03-在数据源中添加DSN连接.docx
- KC13-基于Android的应用程序开发 百度地图自动导航例程 KC13080101-b25-文献资料:Android百度地图系列教程.doc
- KC13-基于Android的应用程序开发 智能小车的带云台的摄像头安装 教学案例:视频监控智能小车硬件部分-KC13010401-b38.doc
- KC13-基于Android的应用程序开发 智能小车的主板与WIFI模块安装 教学案例:电子制作数字电路智能循迹小车-KC13010302-b31.docx
- KC13-基于Android的应用程序开发 智能小车的主板与WIFI模块安装 教学案例:基于单片机的多功能智能小车设计论文-KC13010302-b27.doc
- KC14-智慧商超工程应用系统 .NET服务器开发基础 KC14141311-r03-授课教案:.NET服务器开发基础.docx
- 中国国家标准 GB/T 20867.1-2024机器人 安全要求应用规范 第1部分:工业机器人.pdf
- 《GB/T 20867.1-2024机器人 安全要求应用规范 第1部分:工业机器人》.pdf
- 《GB/T 23423-2024飞机主舱集装货物装载机》.pdf
- GB/T 23423-2024飞机主舱集装货物装载机.pdf
- 中国国家标准 GB/T 23423-2024飞机主舱集装货物装载机.pdf
- 《GB/T 4706.114-2024家用和类似用途电器的安全 第114部分:饮用水处理装置的特殊要求》.pdf
- 中国国家标准 GB/T 4706.114-2024家用和类似用途电器的安全 第114部分:饮用水处理装置的特殊要求.pdf
- GB/T 4706.114-2024家用和类似用途电器的安全 第114部分:饮用水处理装置的特殊要求.pdf
- GB/T 4706.120-2024家用和类似用途电器的安全 第120部分:紫外线辐射水处理器具的特殊要求.pdf
- 中国国家标准 GB/T 4706.120-2024家用和类似用途电器的安全 第120部分:紫外线辐射水处理器具的特殊要求.pdf
最近下载
- 接受美学视角下的儿童文学翻译——以《小王子》为例.docx
- 做情绪的主人 一 认识情绪 课件.ppt
- 六年级上册英语教案-Module 4 Unit 1 Thanksgiving is my favourite festival∣外研版(三起).docx VIP
- 新动物防疫管理制度.doc
- 电工培训课件PPT(共-95张).ppt
- 第1课 社会主义在中国的确立与探索【中职专用】-【名师课堂】高一思想政治《中国特色社会主义》备课精品课件(高教版2023·基础模块).pptx
- 质量控制实验室GMP指南1300问完整版.pdf VIP
- 医学影像学-消化系统的影像学诊断.ppt
- 旅游界app项目创业计划书.pptx VIP
- 第1课 铰链四杆机构的组成及分类公开课教案教学设计课件资料.pptx VIP
文档评论(0)