赞
踩
• 压缩过的音频文件如果小于200KB以下的音频文件使用
• 如果大于200KB建议使用这压缩方式
• 声音长度超过5秒建议使用这个压缩方式
• 如果是背景音乐或者是特别长的音频文件的话,建议用流的方式加载
• 可以避免卡顿
• 缺点:CPU会有占用,不过应该不影响
• 必须要用wav格式才可以播放,其他格式是不支持的
• 如果打AB包要用流式来加载音频,否则不会播放声音,会出现报错
• 大多数声音采用Vorbis压缩设置
• 对于简短,常用的音效采用解码速度快的ADPCM格式
• IOS平台或不打算循环的声音可以选择Mp3格式
• 音频采样率
• 在移动平台的话尽量设置成22050HZ,在移动平台的话特别大的采样率其实没什么用,只会增加内存占用
• 统一单位
• 导出的网格必须是多边形拓扑,不能是贝塞尔曲线,样条曲线,细分曲面等
• 在导出之前确保所有Deformers都烘焙到网格模型上
• 不建议模型使用的纹理随模型导出
• 如果需要导入Blend Shape Normals时,必须指定光滑组SmoothGroups
• 建议导出时不携带如摄像机,灯光,材质等场景信息,容易造成资源冗余
• 最小化面熟,不需要微三角形面,三角面尽量分布均匀
• 合理的拓扑结构与平滑组,尽可能时闭包,而不是通过没有焊接的面去组合,可能会引起U3D烘焙错误,也会产生额外的三角形顶点和边
• 一个模型尽量少的使用材质个数,材质数的增多会引起shader和贴图的暴涨
• 尽可能少的蒙皮网格,同一个模型下尽量使用相同的蒙皮网格,特殊情况除外
• 尽可能少的骨骼数量,因为后期可能引起蒙皮动画的cpu和gpu双方的性能瓶颈
• FX与IK节点分离,导出时删除IK骨骼节点
• 默认的纹理类型格式
• 法线贴图,可将颜色通道转换为适合实时法线贴图格式
• 在编辑器GUI空间上使用纹理请选择此类型
• 在2D游戏中使用的Sprite或UGUI使用的纹理请选择此类型
• 鼠标光标自定义纹理类型
• 用于光照Cookie坚硬类型的纹理
• 光照贴图类型的纹理,编码格式取决于不同平台
• 如果原始图片文件只有一个通道,请选择此类型
• 纹理小会造成欠采样,纹理显示模糊
• 纹理大会造成过采样,纹理显示噪点
• 利用SceneView->DrawMode->Mipmap来查看在游戏摄像机视角下那些纹理过采样,那些纹理欠采样来调整纹理大小
• 红色位置代表的是过采样
• 蓝色的位置代表的是欠采样
• 如果蓝色过多的话,大场景会产生雾气效果,可以暂时忽略
• 近景处建议调整纹理大小或者改变它的mipmap等级
• 所以在渲染中会擦用一些硬件支持的纹理压缩格式,如ASTC,ETC,ETC2,DXT等
• 如图未压缩、ETC2、ASTC6*6、三种格式文件大小对比、在质量相差不大的情况下ASTC6*6压缩下大小可以减少到接近未压缩的十分之一
• 一是采用共同纹理图集的多个静态网格资源可以进行静态合批处理,减少DrawCall调用次数
• 二是纹理图集可以减少碎纹理过多,因为他们打包在一个图集离,通过压缩可以更有效的利用压缩,降低纹理的内存成本和冗余数据
• 美术需要合理规划模型,并且要求模型有相同材质着色器,或需要制作通道图去区分不同材质。制作和修改成本较高
• 2D
• 最常用的2D纹理,默认选项
• Cube
• 一般用于天空盒与反射探针,默认支持Default,Normal,Single Channel集中类型纹理,可以通过Assets>Create>Legacy>CubeMap生成,也可以通过C#代码Camera.RenderToCubeMap在脚本中生成
• 2DArray2D
• 纹理数组,可以极大提高大量相同大小和格式的纹理访问效率,但需要特定平台支持,可以通过引擎Systeminfo.supports2DArrayTextures接口运行时查看是否支持
• 3D
• 通过纹理位图方式存储或传递一些3D结构化数据,一般用于体积仿真,如雾效,噪声体积数据,距离场,动画数据等信息,可以外部导入,也可运行时程序化创建
• 默认选择InputTextureAlpha就好,如果去顶不适用原图中的Alpha通道,可以选择None。另外From Gray Scale 我们一般不会选用
• 指定Alpha通道是否开启半透明,如果位图像素不关心是否要半透明可以不开启此选项这样Alpha信息只需要站1bit。节省内存
• 是否忽略png文件中的gamma属性,这个选项是否忽略取决于png文件中设置不同gamma属性导致的显示不知正常,一般原图制作流程没有特殊设置,这个选项一般默认就好
• 默认选择Input Texture Alpha就好,如果确定不适用原图中的Alpha通道,可以选择None。另外From Gray Scale 我们一般不会选用
• 逐级减低分辨率来保存纹理副本。相当于生成离纹理LOD、渲染纹理时,将根据像素在屏幕中占据的纹理空间大小选择合适的Mipmap级别进行采样
• 优缺点
• 优点
• GPU不需要在远距离上对对象进行全分辨率纹理采样、因此可以提高纹理采样性能
• 同时也能解决了远距离下的过次阿阳导致噪点问题,提高了纹理渲染质量
• 缺点
• 由于Mipmap纹理要生成低分辨率副本,会造成额外的内存开销
• Generate MipMaps
• 什么时候不需要生成MipMaps
• 2D场景
• 固定视角,摄像机无法缩放远近
• Border MipMaps默认不开启,只有纹理时LightCookies类型时,开启此选项来避免colors blending现象导致颜色渗透到较低级别的MipLeve纹理边缘上
• MipMapFiltering
• Box最简单,随尺寸减小,MipMap纹理变得平滑模糊
• Kaiser,避免平滑模糊的锐化过滤算法
• Mip Maps Preserve Coverage
• 只需要纹理在开启mipmap后也需要做AlphaCoverage时开启。默认不开启
• Fadeout Mip Maps,纹理Mipmap随Mip级淡化为灰色,一般不开启,只有在雾效较大时开启不影响视觉效果。
• 使用双线性过滤平衡性能和视觉质量
• 有选择地使用三线性过滤,因为与双线性过滤相比,它需要更多的内存带宽。
• 使用双线性和2*各向异性过滤,而不是三线性和1*各向异性过滤,因为这样做不仅视觉效果更好,而且性能也更高
• 保持较低的各向异性级别,仅对关键游戏资源使用高于2的级别
• 纹理过滤
• Nearest Point Filtering:临近点采样过滤最简单、计算量最小的纹理过滤形式
• 但在近距离观察时、纹理会呈现块状
• Bilinear Filtering:双线性采样过滤会对临近纹素采样并插值化处理、对纹理像素进行着色
• 双线性过滤会让像素看上去平滑渐变、但近距离观察时、纹理会变得模糊
• Trilinera Filtering:三线性过滤除与双线性过滤相同部分外、还增加了MipMap等级之间的采样差值混合
• 用来平滑过渡消除MipMap之间的明显变化
• Anisotropic Filtering:各向异性过滤可以改善纹理在倾斜角度下的视觉效果、
• 适合用与地表纹理
•
•
• None
• 动画
• Legacy
• 旧版动画,不要用
• Generic
• 通用骨骼框架
• Hunmannoid
• 人形骨骼框架
• 无动画选择None
• 非人性动画选择Generic
• 人形动画
• 人形动画需要Kinematices或AnimationRetargeting功能,或者有自定义骨骼对象是选择Humanoid Rig
• 其他选择GenericRig,在骨骼数差不多的情况,Generic Rig 回避Humanoid Rig节省30%甚至更多的CPU的时间
• 默认4根骨头但对于一些不重要的动画对象可以减少到1根,节省计算量
• 在Quality也可以设置
• 建议开启,在导入时自动剔除没有蒙皮顶点的骨骼
• 在Avatar和Animatior 组件中删除导入游戏角色对象的变换层级结构,而是用Unity动画内部结构骨骼,消减骨骼transform带来的性能开销。
• 可以提高动画角色性能,但有些情况下会造成角色动画错误这个选项可以尝试开启但要看表现效果而定。
• 注意如果你的角色时可以换装的,在导入时不要开启此选项,但在换装后再运行时代码时通过调用 AnimatorUtility.Optimize TransformHierarchy接口仍然可以达到此选项效果
• 只应用Maya文件各种DCC工具的文件,而且里面采用了流体,布料等才会起作用
• 将动画曲线重新采样维四元数值,并为动画美珍生成一个新的四元数关键帧,尽当导入动画文件包含欧拉曲线时才会显示此选项
• Off
• 不压缩,质量最高,内存消耗最大
• Keyframe Reduction
• 减少冗余关键帧,减小动画文件大小和内存大小
• Keyframe Reduction and Compression
• 减小关键帧的同时对关键帧存储数据进行压缩,只影响文件大小
• Optimal
• 仅适用于Genneric 与Humanoide 动画类型,Unity决定如何进行压缩
• 导入用户自定义属性一般对应DCC工具中的extraUserProperties字段中定义的数据
• 如果想要更精细的动画效果可以调的更低
• 如果在不影响视觉效果下可以把Error调的更大这样可以节省内存,降低动画文件大小
• 类型
• Rotation Error
• Position Error
• Scale Error
• 比如跑5个单位,那么这五个单位都会认为,同一帧的动作
• 位置曲线
• 四元数曲线Resample Curves开启会有
• 欧拉曲线
• 缩放曲线
• 肌肉曲线,Humanoid类型下会有
• 一般属性动画曲线,如颜色,材质等
• 精灵动画曲线,一般2D系统下会有
• 曲线总数
• 这个数值越大,Animation Clip运行时越差
• 优化为常熟的曲线
• 在压缩的面板的三种Error的数据越大,这个常数也就越多
• 使用了密集数据(线性插值后的离散值)存储
• 使用了流式数据(插值的时间和切线数据)存储
• 一般为32K~64K顶点
• 根据UI元素深度关系进行排序
• 检查UI元素的覆盖关系
• 检查UI元素材质并进行合批
• 由于UI元素做Alpha Blend,我们在做UI时很难保障每一个像素不被重画,UI的Overdraw太高,这会造成片元着色器利用率过高,造成GPU负担
• 也就是同一个像素的位置重复绘制多次,这就造成了“Overdraw”次数过多
• 阴影种类
• 禁用:节省非常多的开销
• 硬阴影:边缘锐利,需要一定的开销
• 软阴影:边缘柔和,计算开销更大
• 阴影分辨率
• 阴影分辨率越高,场景中的阴影效果越好也会导致计算开销越大
• 方向光产生阴影的方法
• Close Fit:产生的阴影分辨率较高,但相机移动时候,阴影可能会有抖动现象
• Stable Fit:能够避免抖动,但是分辨率较低
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。