IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> [团队] 在Unity项目中使用FMOD来管理你的音效 -> 正文阅读

[游戏开发][团队] 在Unity项目中使用FMOD来管理你的音效

Hello各位小伙伴, 今天来聊一下Unity项目中的音效管理.

我目前正在研发的项目, 使用了FMOD的来管理音效和背景音乐.

FMOD本身是一款免费的音频集成工具. 自身的音效编辑器还拥有强大的编辑功能.

首先, 做一个简单的入门说明:

获取FMOD编辑器:

首先进入官网 https://www.fmod.com/download 下载对应平台的编辑器软件 (需要先注册一个FMOD的账号)

选择对应你操作系统的软件版本, 下载并安装:

安装软件, Mac系统直接拖拽, Windows可以选择你要安装的路径

打开FMOD Studio 编辑器,?默认打开就是一个新工程, 可以先选择保存工程, 下一步方便我们使用. 如果已经有现成的项目. 可以选择菜单上的 File/Open, 或者干脆直接双击 *.fspro 打开项目.

首先我们需要从外部将各个原始的音频文件导入项目, 可以使用菜单 File/Import Assets... 来导入.

原音频文件会从目标目录拷贝到项目 Assets 目录下.

但是实际操作起来, 一个比较快的方式是直接将你想要的资源拷贝到项目?Assets 目录下, 建议对于所有的音频文件进行统一的命名和整理. 在例子中我们统一采用 字母小写 + 下滑线的方式命名各种音频.?

编辑音频项目[Studio]

导入资源后, 我们要开始建立对应的音频事件.?

首先进入工程后, 我们可见刚导入的音效文件显示 #unimported 的标签. 选中对应的音效, 在右键菜单内点击 Import 导入音频

?

?导入后, 在音效 ui_click 上, 右键菜单, 选择 Create Event. 鉴于这是一个普通的UI点击音效, 无需特殊设置, 可以选择 2D Action. (3D音效对应你的游戏场景, 可选择3D环绕立体声, 视情况而定)

而对于背景音乐 music_level_1.mp3, 之后需要设置循环播放, 所以选择 2D Timeline.?然后进入到 Events 面板, 点击对应的音频, 在右侧 Timeline 编辑界面上点击右键, 并选择 Add Loop Region 为其添加循环事件属性

?

OK, 目前已有的一个点击音效和一段BGM已经准备就绪, 但是右侧仍显示 #unassigned 的字样. 我们需要将每个音频分配到对应的 .bank 文件内, 压缩为对应的二进制文件. FMOD默认有一个 Master Bank, 不要轻易的删除这个文件. 我们可将目前的两个文件都分配到 Master Bank 即可?

对了, 别忘了 Ctrl + S 保存你的工程.

导出Bank文件[Studio]

编辑工作完成后, 下一步是打包Bank文件

首先, 设置一下你输出的平台, 打开软件的 Perferences 菜单, Build页, 根据你发布的平台来设置你要打包的平台类型. PC和Mac应用使用Desktop预设即可, 手游可以添加Mobile平台, 并配置压缩品质 (Demo里我们使用默认的配置)

Built banks output directory 选框内, 可将路径直接设置到当前对应的Unity项目音频配置路径内.

设置完毕后, 进入 File/Build 构建当前平台的Bank, 多平台请直接选择 Build All Platforms

本例中, 将构建路径设置为Unity项目根目录下 FMOD 文件夹内, 构建后如图:?

?

导入FMOD插件[Unity]

在FMOD官网可下载到对应Unity版本的Plugins插件包:

?打开Unity项目. 双击导入插件包, 并按照提示进行整合和设置.

导入后, 首次弹出引导面板时可进行对应的配置

?在上步中若设置过Unity项目路径, 则可直将 Multiple Platform Build 路径设置为 /FMOD 目录

如果在一开始不小心关闭了初始化引导也不要紧, 可以直接进入FMOD Settings 文件内进行配置?

?

导入后请打开 FMOD/Event Browser 进行确认, 观察音效是已获得更新:

调用音频事件[Unity]

音频导入结束后, 便可着手编辑音频事件了.

基于MonoBehaviour的组件调用可以直接参照教程和例子

音频事件可直接挂载到 GameObject 上, 通过属性菜单可为指定的音频事件编辑开始和结束的事件

如果是中大型项目, 有完善的音频管理器, 可在对应调用的环节使用代码触发音频播放:

这里贴一段示例引用, 注意: 音效路径可在 FMOD/Event Browser 中复制得到

using FMOD.Studio;
using FMODUnity;
using UnityEngine;

public class Main : MonoBehaviour
{
    // 音效实例引用
    private EventInstance _sfxButtonClicked;
    
    /// <summary>
    /// 按钮点击时播放音效
    /// </summary>
    public void OnButtonClick()
    {
        if (!_sfxButtonClicked.isValid())
            _sfxButtonClicked = CreateInstance("event:/ui_click");
        
        _sfxButtonClicked.start();
    }
    
    /// <summary>
    /// 创建音效
    /// </summary>
    /// <param name="eventPath"></param>
    /// <returns></returns>
    public EventInstance CreateInstance(string eventPath)
    {
        var instance = RuntimeManager.CreateInstance(eventPath);
        return instance;
    }
}

注意事项

当前版本的FMOD自带ignore配置, 请导入插件后, 自行将对应的忽略配置添加到 .gitignore文件中:

?Editor 运行时展示的 FMOD Debug 面板可在 FMOD Settings 内设置关闭

若Bank 文件过大, 或者基于未来动态扩展考虑, 可将部分音频分配到不同Bank内, 在导入时需要选择对应的类型, 默认是将Bank文件拷贝到 Streaming Assets路径下. 也可以作为 AB 包导入并进行热更操作.

以上!

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-12-16 18:01:25  更:2021-12-16 18:03:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 21:02:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码