关于Unity图形渲染的性能优化
demi 在 周三, 06/05/2019 - 09:29 提交
图形渲染的性能优化,分两大方面,CPU的优化和GPU的优化。GPU需要处理过多的顶点,多少合适取决于硬件性能和shader复杂度,一般移动设备上不超过10万,PC上不超过3百万;CPU需要处理过多的顶点,一般是因为蒙皮骨骼,布料模拟和粒子系统等。
图形渲染的性能优化,分两大方面,CPU的优化和GPU的优化。GPU需要处理过多的顶点,多少合适取决于硬件性能和shader复杂度,一般移动设备上不超过10万,PC上不超过3百万;CPU需要处理过多的顶点,一般是因为蒙皮骨骼,布料模拟和粒子系统等。
Opaque:用于渲染所有不透明的物体;Cutout:作用:用于渲染有镂空的物体;Transparent:用于渲染有透明效果的物体;Fade:用于渲染实现物体的渐隐和渐现。
lightmode为forwardbase、forawardadd的pass内,_WorldSpaceLightPos0只会含有pixel光源,在forwardbase pass内,只有场景中存在rendermode为important的pixel平行光时,才会含有有效的_WorldSpaceLightPos0和_LightColor0的组合......
Unity3D光照系统中,一共有四种选项,分别为Directional Light(平行光),Point Light(点光源),Spotlight(聚光灯),Area Light(区域光)。
常用必然事件——Awake:脚本实例被创建时调用;Start: Update函数第一次运行之前调用;Update:每帧调用一次;FixedUpdate:每个固定物理时间间隔调用一次;Reset:用户点击检视面板的Reset按钮或者首次添加该组件时被调用。此函数只在编辑模式下被调用。Reset最常用于在检视面板中给定一个最常用的默认值......
Unity 2018.4 LTS长期稳定支持版现已发布,该版本将提供持续2年的稳定支持。Unity LTS版本适用于希望继续开发和发布已有游戏或内容的用户,以及那些想要长时间保持使用一个稳定版本的用户。
前向渲染是通过深度缓冲和颜色缓冲来实现的,使用深度缓冲来决定一个片元是否可见,如果可见,则更新颜色缓冲区中的颜色值。如果场景中有n个物体受m个光源的影响,那么要渲染整个场景,则需要n*m个pass,如果m较多的话,这个开销还是比较大的。
UIElements是Unity全新的保留模式UI框架,面向Unity 2019.1作为公开API发布。现在UIElements是一款可以轻松扩展Unity编辑器的工具,未来版本将加入游戏内支持和可视化制作功能。
表面遮挡住光源路径就会产生阴影,由理想点光源产生的阴影边缘是比较锐利的,而现实世界中的阴影边缘确是模糊的,该模糊部分成为半影。半影的出现,是由于现实世界的点光源不是空间意义上的一个点,它会覆盖一定的面积,就会产生以不同角度掠过物体边缘的光线。
在unity中主要有两种透明效果的实现,透明度测试和透明度混合,透明度测试比较简单暴力,就是对片元的alpha通道的值进行测试,满足条件就留下该片元,不满足就抛弃该片元,所以在本章中主要讨论第二种---透明度混合。