Unity3D性能优化之美术资源制件规范
⼀、场景模型制作规范:
1. 同屏地表⾯数限制在3万⾯以内,要充分考虑锁定视⾓的因素,看不到的模型背⾯可以尽量简单化,离可⾏⾛区域远的建筑模型,都可以做成低
模,因为是不会⾛近看的。
2. 同屏地表drawcall限制50-70个(包含动态建筑),动态建筑可在地表制作测试完摆放效果正确后再单独输出,提交时不能出现在场景地表⾥
⾯。
3. 资源合并规则:区域贴图合并、区域⽹格合并、相同材质合并
4. 尽量勿⽤unity⾃带的草对象,应该⽤刷地表的草纹理
5. 场景⼤建筑和特效资源独⽴,不⽤放地表,由技术动态控制
6. 过⼤的地表,例如超过150⽶(15000像素),可以通过切割地表⽅式输出,程序动态加载
7. 刷怪的区域以及玩家战⽃的区域尽量是平缓的,否则打怪放技能时效果不好控制,并且不宜放⼩建筑和动态建筑,影响性能。
8. 场景模型和地表尽量少⽤透明贴图,同个场景的透明贴图尽量在⼀张纹理
9. 不开启实时灯光,全部效果⽤后期烘焙的⽅式实现
10. 每个场景需制作⾏⾛区域⾯⽚,除地表范围外,⾼度也必须和地⾯⼀致,最后加mesh碰撞体
11. 纹理尺⼨优先⽤256或512,最⼤1024,以1024的计算,⼀个场景纹理个数正常控制在两张以内
⼆、⾓⾊模型制作规范
注意问题:
1. ⾻骼数量过量导致的影响:每根⾻骼都是⼀个独⽴的整体,当⽗⾻骼运动时,会带动⼦⾻骼运动,这个运动过程都是需要实时去计算
的,⽽游戏内场景⽣物基本都处于运动状态下,导致⾻骼的计算⼀直在持续进⾏,⾻骼越多导致由计算引起的性能消耗更⼤。
2. 模型⾯数过量导致的影响:每个模型的⾯都是独⽴的⼀个三⾓形,⽽每个三⾓形及其贴图区域都是需要渲染的,⾯数越多导致渲染的
消耗越⼤。
设置和明确数值:
1. 主⾓1500⾯以下,⼩怪500-800⾯。
2. 主⾓⾻骼控制在40根以下,⼩怪尽量20根左右。
3. 贴图控制在1024以下,也可以是512和256,看具体情况选择。
4. 新⼿阶段,是⼏个职业的装备放⼀起。
5. ⾼级阶段,⼀个职业的⼏套装备放⼀起。
6. 主⾓贴图⼀般控制在四到五张左右
以常规2.5D⼿机游戏同屏3万⾯的标准为例
1. 挂机场景,⼩怪12个,⾓⾊10个,需要限制的⾯数标准为,普通怪物800,⾓⾊2000。
2. 当在BOOS地图时,boos规格可放开⼀点,但都不能超过3000,这时⽀持⾓⾊13个。
3. 在功能场景,同屏出现NPC⽐较少,在需要表现的效果时候,可以放开⾯数,但尽可能不超过2000,这时可⽀持同屏5个NPC, 10个
⾓⾊。
4. 以上只是⼀个通⽤计算,除了场景对象模型外,还有翅膀坐骑宠物,还有UI和特效等,由于会做屏蔽机制,只显⽰主⾓的,这些会占
⼀⼩部分的消耗。我们在制作时,必须以这个标准,看需要的效果可以上下浮动,但挂机的⼩怪不能超过1000,同屏不⼤量出现或者剧情怪物以及坐骑、伙伴、宠物、翅膀等可以放开到1500,NPC不能超过2000,⾓⾊不能超过2500,boss不能超过3000。
⾻骼规格
1. 对挂机⼩怪的限制也是最⾼的,不能做太多的效果表现,要⽤最简单的⾻骼组成,25根⾻骼是最佳配置,最多不能超过30根。
2. 剧情怪和精英怪以及伙伴、宠物、坐骑、翅膀等,看效果可放开到40。
3. NPC需要表现效果的,都不能超过40根。
4. 主⾓加上飘带和头发等需要效果的⾻骼,最⼤不能超过50根,可⽀持三条⾻线,⼀条三根⾻骼的飘带和两条⾻线,⼀条三根⾻骼的头
发。
5. Boss体型较⼤,需要做真实效果,可以放开到60根,但包括各种⾝上的附带物。
三、动作制作规范:
1. 主⾓:普攻技能动作,限制在20帧以下;⾮普攻技能,限制在30帧以下
2. ⾮主⾓:待机和跑步限制在8到10帧,休闲可放开
四、特效制作规范:
特效资源网⽬前特效⼀般有两种模式,⼀种是发射粒⼦系统,⼀种是直接模型加u3d⾃带的动画系统。
总体⽽⾔就是控制绘制⾯积,控制绘制批次,控制制作动画的⼤⼩。下⾯是制作的时候应该注意问题:
1. ⾸先要确定消耗的时间⼤部分是在第⼀取决于你的绘制⾯积,然后是粒⼦数⽬
2. 不能⽤很多很透明的,⾯积很⼤的叠加,⽐如云的效果,即使你的粒⼦数⽬少,⽐如你的⾯积超级⼤,⼀个粒⼦就是⼀个屏幕⼤⼩,
然后叠加了好⼏个,那么绘制压⼒会特别⼤
3. 对于粒⼦发射mesh的,相当于⼀个mesh就是⼀个批次,所以对于这个要严格控制数量
4. 对于⼀个技能特效没有严格的控制多少个粒⼦系统,毕竟这个跟时长有关系,但是还是尽量能精简。⽐如对于主⾓⾊同⼀时间最好控
制在存在12以内存在的,有些复杂的可以往上加⼀些。
5. 千万不能出现⽐如⼀个技能⾥⾯有30个粒⼦系统,很多粒⼦系统是因为alpha变为0看不到,⽽是要做到在那个时间点是0个粒⼦。因为
alpha为0⼀样会进⾏绘制,只是看不到效果⽽已。
6. 制作粒⼦系统的时候,由于粒⼦系统本来带有很多动画。⽐如,千万不要去k颜⾊的帧,因为粒⼦系统本⾝⾃带就有,这样会增加
animator⽂件⼤⼩,初始化会多初始化很多数据。
7. 如果是粒⼦系统⾃带的动画数据就⽤粒⼦系统⾃带的调,多k帧会增加初始化时间。
设置和明确数值:
1. 单个发射器的最⼤粒⼦数不得超出12个,⼀般8-9个即可;
2. 极限20个粒⼦以内(仅限于特殊需要全屏或者整个特效只有10个粒⼦系统以内的,单个粒⼦最⼤数量可以接近极限)
3. 禁⽌粒⼦系统发射复杂模型(⽤到的特效模型总顶点数不得超过300个顶点且注意模型在不给顶点透明的情况下,UV数不得超过1
套);
4. 粒⼦系统只准⽤默认⾃带的particle类shader
5. 禁⽌使⽤超级粒⼦发射器,即粒⼦系统发射粒⼦系统
6. 粒⼦系统scaling mode必须为Hierarchy
7. Cast shadow .Receive shadows. light probes及reflection probes保持关闭
8. 贴图尺⼨128以内序列图256 能⽤⼩贴图的尽量⽤⼩贴图;贴图格式⽤png或者tga;贴图分辨率只能有16, 32,64 ,128等这种,不要
有类似76X129这种奇怪的分辨率。
9. 特效制作原则尽量⽤模型K动画去做能不⽤粒⼦系统的尽量不⽤粒⼦去表现(对于⼀次性爆炸的模型动画必须K Mesh Renderer
Enabled的动画不能只靠color的透明度去控制彻底消失,切记)
10. ⼀次性发射的粒⼦系统,最⼤粒⼦数量和爆发粒⼦数量要保持⼀致。
1. 特效⾥的模型保证红框内的选项,⼀个特效模型只能⽤⼀个材质球;
1. 导⼊model下的模型⽂件,属性⾯板要保证红框内的选项,animation和materials下去掉勾,不要导⼊动画和材质。Rig下如果没有使⽤
到动画也去掉打勾。
1. 摄像机参数,注意这个会影响特效⼤⼩,制作时⼀定要去掉勾选HDR
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论