欢迎光临散文网 会员登陆 & 注册

4_艺术资源的优化

2023-06-26 00:35 作者:Object404  | 我要投稿

音频资源

可以通过这3个选项的设置指定音频的加载方式

Load In Background 

  • 决定加载声音时,数据是从主线程加载,还是在后台异步加载

  • 使用异步加载时可以通过AudioClip.loadState属性来检查加载进度,只有加载好后音频才能播放


Preload Audio Data 

  • 决定音频数据是在场景初始化期间就加载还是使用时加载,禁用后场景的初始化速度会更快,但第一次播放时,CPU会根据Load In Background 的设置决定是否占用主线程加载这个音频

  • 可以手动调用 AudioClip.LoadAudioData()加载 AudioClip.UnloadAudioData()卸载,

  • 上面两个方法都会根据Load In Background 的设置决定是否占用主线程


Load Type

  •  定义音频数据会以什么形式加载到内存中,有3种加载方式

  • Decompress on Load:加载整个文件,并全部解压

  • Compressed in Memory:加载整个文件,不解压,播放时边播边解压

  • Streaming:一边加载一边解压


音频的压缩格式设置,压缩格式的可选种类会因为平台不同而变化

  • Vorbis:压缩率大(3-40:1),解压速度慢

  • MP3:压缩率中(2-12:1),解压速度较慢

  • ADPCM:压缩率小(33.5:1),解压速度快

  • PCM:未压缩,解压速度最快,体积最大

音频相关的推荐设置

统一要求

强制单声道(降低50%内存占用),根据效果选择是否勾上Normalize

重新采样到较低的频率(减小文件,优化内存占用)

设置为 Override Sample Rate,优先选择22050HZ,如果音质不能接受,就选择441001HZ(最好不要高于这个值)


纹理资源

纹理资源最好保证长宽都为2的次幂,这样设置压缩格式时才不会受到限制,同时GPU也可以更快进行纹理采样


如果导入的图片为完全不透明状态,那么对Alpha值的计算就是无意义的,应该设置为None

  • None:无论纹理是否有Alpha通道,导入的纹理都没有Alpha通道

  • Input Texture Alpha:使用纹理的Alpha通道

  • From Gray Scale: 根据灰度值计算透明度,黑色为透明,白色为不透明

如果没有特殊需求,关闭Read/Write


mip map开启后,会生成不同尺寸的纹理,使用了该纹理的贴图在离摄像机较远的情况下会使用低分辨率纹理

2D游戏需要关闭纹理的mip map,3D游戏只有场景纹理需要开启mip map,UI关闭mip map


如果没有特殊需求,没必要选择 Trilinear

Point(no filter):不过滤采样,直接输出对应的像素

Bilinear:双线性过滤,对邻近的像素进行插值处理,使得边缘平滑,不会有明显锯齿

Trilinear:三线性过滤,在开启mip map后,三线性过滤可以在不同分辨率贴图的切换间做到更加平滑的效果


纹理压缩格式

  • BC7:图片不需要为2的幂次的贴图,可以在不同操作系统上使用

  • DXT:图片需要为2的幂次的贴图,相比BC7压缩率更高

    • DXT1:不支持透明通道

    • DXT2:支持透明通道

  • ETC:几乎所有的安卓设备都支持ETC压缩,所以在移动平台上广泛使用,图片需要为2的幂次的贴图

    • ETC1:不支持透明通道

    • ETC2:支持透明通道,但内存占用大于ETC1

  • ASTC:图片不需要为2的幂次的贴图,缺点是兼容不完善,无法在iphone6以下的设备上运行,且解码时间较长

  • PVRTC:专为PowerVR显卡设计,仅支持Iphone Ipad 和部分安卓机器


不同平台的压缩格式推荐



4_艺术资源的优化的评论 (共 条)

分享到微博请遵守国家法律