【美术】Unity 性能 Review

发表于2018-01-23
评论0 2.9k浏览

本文首发于知乎专栏:MACK的游戏开发笔记,欢迎各位关注。


除了每天的代码review,每个版本还会做一些性能,配置,资源等等的review。最近整理了一些检查项,这是美术相关的部分检查项,主要是性能相关。


    • 是否有多维子材质:多维子材质材质测试,三个子材质,50个物体,使用多维自材质12帧,330个dc,343面。拆开之后20帧,154dc,134面。多维子材质Unity无法动态合并。
    • 叠加模式贴图,可以不用Alpha通道
    • 特效粒子贴图是否合并
    • 是否有些粒子能使用序列帧,不过和视角有关,去掉alpha贴图合并
    • 动画boneweight,没有特殊需求的情况下受两根骨骼影响就够了。
    • 资源不需要animation的在Rig里选择none而不是默认的legacy否则会自动生成animator
    • 动画的更新可以设置Culling
      Mode:剔除模式:Always Animate表示即使摄像机看不见也要进行动画播放的更新,Cull Update
      Transform表示摄像机看不见时停止动画播放但是位置会继续更新,Cull Completely表示摄像机看不见时停止动画的所有更新。
    • 模型,贴图和动画不要勾选Read/Write这样会在内存中再开辟一份做更新。
    • 贴图不需要Lightmap的例如角色不能勾生成Lightmap的UV。
    • 模型文件通常是勾压缩的而且是high,如果满足不了再降低或者关闭【实际测试高会有些问题,中还不错,看情况】。
    • 材质是游戏内添加的所以这个勾不需要勾。
    • 这个选项是做表情动画的一般也不需要勾。
    • 不需要mipmap的贴图不能勾生成Mipmap。Mipmap旨在有效降低渲染带宽的压力,提升游戏的渲染效率。但是,开启Mipmap会将纹理内存提升1.33倍。对于具有较大纵深感的3D游戏来说,3D场景模型和角色我们一般是建议开启Mipmap功能的,但是UI或者俯视角的游戏开启Mipmap并不会提升渲染效率,反倒会增加无谓的内存占用。
    • 法线的计算方式,不需要Normal的时候选none。如果不使用发现勾了发现本身就会浪费不必要的内存,更严重的是如果项目对Mesh进行Draw
      Call Batching操作的话,合并后的大mesh将也带Normal信息造成极大浪费,特别如果合并的Mesh中只要有一个带了Normal那么合并所有的顶点都会带Normal,Color,Tangent。
    • 如果动作不使用挂点可以勾Optimize【挂点这种判断不出是否有用的点可能会被优化掉】。
    • 美术场景等不需要动画的Rig的AnimationType应该是none
    • 美术资源,贴图格式最好设置成ETC2
    • 美术资源,部分Generic和Humanoid可以Optimize Game
      Objects
    • 界面拾取问题:去掉接受按键消息的勾
    • 美术资源,字体文件设置成Dynamic,字体贴图在用的时候才会渲染。这部分内存没被Unity统计,所以设置成静态的也看不到。
    • 美术资源,静态资源都勾上Static。
    • 美术资源,GraphicSetting里如果不用系统的Shader,把这些Shader设置成no,减小一点包大小。
    • Shader可以设置预加载防止游戏内卡顿【实际遇到过】。
    • 关闭不使用的Shader,减少包体大小。
    • 美术资源,如果一些贴图的Alpha通道压缩效果不好,增加一些白噪声。
    • 美术资源:面数控制在5w面以内,才能保证低配安卓设备流畅。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引