Unity中音效插件

这一篇文章是3月初开始写的初稿的,在听了公司邀请Wwise的人来演讲后,继续完善这篇文章。首发于(http:zhutaorun.win)

一.为什么使用第三的插件

  • 因为unity本身做的音效系统做的不够好,对于了很多的声音效果确实没办法满足,需要更多复杂的效果原生满足不了
  • 因为第三插件,让程序与音效师之间的配合更方便多了,原来的合作方式是程序需要很多的工作,而音效师能够发挥的空间有限,准确的说,Wwise提供了一套音效师与程序配合的流程
  • 方案成熟,以Wwise为例,从事音效这块很多年,2000年公司成立,到2015年王者荣耀使用,很多项目选择使用,端游守望先锋

    简要

    Unity3d随着版本进度更新,关于音效部分。还是原来的2D音效,以及3D音效。Unity提供的音效播放,还有第三方提供的解决方案,FMode和Wwise.

如何在Unity中使用Fmode Studio
Unity中FMOD音插件使用
Wwise
音频引擎为什么会推荐使用Wwise

二.实践部分

个人是把Wwise官网的课程上101课程完成了。大学时候上过数字音频的,看到拉杆有点熟悉的感觉。重新把官方的Cube加入游戏音效的过程,确实很好。
对于程序只要约定对应的音效的事件名称。
对于音效资源文件的优化,因个人版本限制,并没有完成

三.课程内容

主讲人是程序出生,做音频程序开发的。2006年加入Wwise,目前负责大中华地区的推广和培训,内容概况

1.工作上分工合作

设计师
  • 装包 指定事件装入指定包SoundBank
  • 分包 按照玩法、内存和IO需要合并或拆分包
  • 流播放 设定音乐等长文件从磁盘串流播放
  • 增量更新 按项目发布计划合理加包或复用
    程序员
  • 设定加载路径,加载包
    • SetBasePath(),AddBasePath()
    • LoadBank()【阻塞vs.异步】
  • 拆分媒体后的加载
    • PrepareEvent()
    • PrepareBank()
  • 可选 自定义底层IO

    2.Wwise优化

    基于音效的优化需要音效设计师和程序配合
    a.包体优化
    音效师部分
  • 设尺寸超标预警
  • 设计编解码方案,Vorbis编码格式可让音效包体缩小20倍
  • 按平台太取舍内容
  • 采用合成和MIDI
    b.内存
    音效师部分
  • 设计分包
  • 设计流播放
    程序部分
  • 设计内存池和阀值,(超出的时候,根据音效优先级,低级卸载)
  • 加载/卸载包
  • 可选定制管理器
    CPU
    音效师部分
  • 设音量下限
  • 设计发声数上限
  • 设计优先级
  • 设计虚声部行为
  • 优化效果器
    程序部分
  • 解码缓存
  • 线程优化
    I/O
    程序部分
  • 可选定制平台底层I/O
  • 可选定制流管理器
    监测与调试
    音效师部分
  • 联机到游戏中监测
  • 分析Profiler数据
    程序部分
  • 联机到游戏中监测
  • 录制Profiler数据
  • 录制音效
  • 性能回调
  • 可选自定义日志

    小结

  • 只要在同一局域网络下,移动设备可以联机测试,这点很好
  • Profiler记录文件,交由音效师来查找问题,在官方计时支持时也是需要提供记录文件
  • 对于分包设计,则需要音效师对于游戏项目有足够的了解
  • 注意Debug包和release包,在cup占用上debug包大概有20左右,release包大概0.5左右。
  • 好的音效系统在游戏体验上有着极大的区别。
文章目录
  1. 1. 一.为什么使用第三的插件
  2. 2. 简要
  3. 3. 二.实践部分
  4. 4. 三.课程内容
    1. 4.1. 1.工作上分工合作
      1. 4.1.1. 设计师
      2. 4.1.2. 程序员
    2. 4.2. 2.Wwise优化
      1. 4.2.1. a.包体优化
      2. 4.2.2. b.内存
      3. 4.2.3. CPU
      4. 4.2.4. I/O
      5. 4.2.5. 监测与调试
  5. 5. 小结
|