Unity 音频资源优化

本文详细介绍了Unity3D游戏引擎的音频参数优化,包括音频格式选择、加载类型、压缩格式等方面。针对不同类型的音频,如背景音乐和音效,提出了具体的优化策略,如使用Streaming减少内存占用,或者根据音频长度和播放频率选择合适的Load Type和Compression Format,以平衡内存、CPU和音质。此外,还提供了通用的资源加载和处理建议,以提高游戏性能。

 


一:音频参数介绍

1.1:Unity3D游戏引擎一共支持4个音乐格式的文件

  • .AIFF 适用于较短的音乐文件可用作游戏打斗音效
  • .WAV 适用于较短的音乐文件可用作游戏打斗音效
  • .MP3 适用于较长的音乐文件可用作游戏背景音乐
  • .OGG 适用于较长的音乐文件可用作游戏背景音乐

导入前的声音格式选择

     短声音:.aiff和.wav

    长声音:.mp3和.ogg


1.2:导入后的声音格式选择

     Force ToMono:如果启用,该音频将向下混合到单声道

    Load In Backgroud: 加载将在一个单独的线程上延迟的时间发生,而不会阻塞主线程

    Ambisonic: 如果音频文件包含有双声编码的音频,那么启用这个选项 


1.3:加载类型(LoadType) 

  1. Decompress On Load:处理较小的声音(load就解压)
  2. Compressed In Memory:较大的声音(保持解压的状态)
  3.  Streaming:使用最少的内存来缓冲压缩数据(很长的音乐)

1.4:Preload Audio Data 预加载


1.5:压缩格式(Compression Format)

  1.  PCM  非常短的音效是最好的,质量高,文件大
  2.  ADPCM大量噪音的声音,需要大量播放,比如脚步声,武器
  3.   Vorbis/MP3 质量低,中等长度背景音乐
     

二:导入优化

2.1. 音频格式

Unity支持许多不同的音频格式,但最终它将它们全部转换为首选格式。音频压缩格式有PCM、ADPCM、Vorbis,不是所有平台都支持这些所有的压缩格式,有些平台,例如WebGL只支持AAC格式。


2.2.默认两项设置

所有音频导入时,默认两项设置,LoadType是"Decompress On Load",压缩格式是“Vorbis”,例如下图原始文件大小计算为35.9 MB,导入的大小计算为10.7 MB。这意味着这个音频剪辑将使您的游戏(存档)大小增加10兆字节,但播放它需要近36兆字节的RAM。


2.3.Load Type的各个选项

  • Compressed In Memory – 音频剪辑将存储在RAM中,播放时将解压缩,播放时不需要额外的存储。
  • Streaming –音频永久存在设备上(硬盘或闪存上) ,播放流媒体方式. 不需要RAM进行存储或播放。
  • Decompress On Load – 未压缩的音频将存储在RAM中。这个选项需要的内存最多,但是播放它不会像其他选项那样需要太多的CPU电源。

   怎么选?长音频播放消耗大量内存,如果播放时不想在内存中进行解压,有两个选择:

(1)Load Type选“Streaming”, Compression Format 选”Vorbis",使用最少的内存,但需要更多的CPU电量和硬盘I/O操作;

(2)Load Type选“Compressed In Memory”, Compression Format 选”Vorbis",磁盘I/O操作被替换成内存的消耗,请注意,要调整“Quaility”滑块以减小压缩剪辑的大小,以交换音质,一般推荐70%左右。

             一般是看到底音乐占据多少内存以及你的目标机型是什么样子的,如果音乐占据的内存本身比较高,你的目标机型的内存又比较小,那么就选择第一种,这种方案会卡一点,否则选择第二种就更好


2.4.声音特效

     (1)对于经常播放的和短的音频剪辑,使用“Decompress On Load”和“PCM或ADPCM"压缩格式。当选择PCM时,不需要解压缩,如果音频剪辑很短,它将很快加载。你也可以使用ADPCM。它需要解压,但解压比Vorbis快得多。

      (2)对于经常播放,中等大小的音频剪辑使用”Compressed In Memory“和”ADPCM“压缩格式,比原始PCM小3.5倍,解压算法的CPU消耗量不会像vorbis消耗那么多CPU。

      (3)对于很少播放并且长度比较短的声音剪辑,使用”Compressed In Memory", ADPCM 这种压缩格式,原因同(2)。

     (4)对于很少播放中等大小的音频,使用”Compressed In Memory“ 和Vorbis压缩格式。这个音频可能太长,无法使用adpcm存储,播放太少,因此解压缩所需的额外CPU电量不会太多。


三:通用优化方式

3.1:资源加载选择

选择中需要的背景音频,在audioclip修改一些设置:取消勾选preload audio data选项,勾选安卓环境下的override for andriod选项,并设置load type为streaming
具体原因,这里禁用的预加载音频preload audio data,减少加载时间。设置load type为streaming,音频剪辑将放入缓冲区,从缓冲区中播放,播放完成后,被卸载,释放内存。 
也可以将使用频繁的音频设置load type为decompress on load,在加载时解压,这样会更流畅一些,当然只是用于频繁使用的音频即可。


3.2:对于大小不同的音频处理

    大点的音频: Streaming,不预加载,Vorbis

   小点的音频:DecompressOnLoad 不预加载  ,Vorbis


参考链接:

https://blog.youkuaiyun.com/e295166319/article/details/52840843

https://blog.youkuaiyun.com/s344951241/article/details/80545709

https://www.cnblogs.com/bearhb/p/11210136.html

https://blog.youkuaiyun.com/u011611902/article/details/56849475


 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独立游戏开发指南

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值