【Unity】3.5 导入音频文件

分类:Unity、C#、VS2015

创建日期:2016-04-05

一、简介

音频文件 (Audio File) 资源的选择原则应该以无故障地流畅运行为宗旨。下面列出了常用的音频文件。

.AIFF 在导入时转换为未压缩的音频,最适合短音效。

.WAV 在导入时转换为未压缩的音频,最适合短音效。

.MP3 在导入时转换为 Ogg Vorbis,最适合较长的音乐曲目。

.OGG 压缩的音频格式,最适合较长的音乐曲目。

导入音频文件到Unity中时,可以选择其最终格式并将其推入立体声道或单声道。

要访问导入设置 (Import Settings),请在工程视图 (Project View) 中选择音频片段 (Audio Clip),然后在检视器 (Inspector) 中查找音频导入程序 (Audio Importer)。在此,您可将片段 (Clip) 压缩为 Ogg Vorbis 格式,并将其推入单声道或立体声回放,然后微调其他选项,如进行非常重要的加载时解压缩 (Decompress On Load) 设置。

导入音频文件后,就可以将音频文件添加至游戏对象 (GameObject)。将音频文件拖入至游戏对象 (GameObject) 时,此音频 (Audio) 文件将自动创建一个音频源组件 (Audio Source Component)。

二、细节描述

使用音频文件 (Audio Files) 时,需要注意以下细节。

1、原生 (Native) 和压缩 (Compressed)

Unity中的音频可以是原生 (Native) 或 压缩 (Compressed) 音频。Unity 支持大部分常见格式。默认模式为原生 (Native),即导入原始文件中的音频数据时,不对其做任何更改。但是,Unity 也可在导入时只启用导入程序中的压缩 (Compressed) 选项压缩音频数据。

原生 (Native) 和压缩 (Compressed) 模式的区别如下:

  • 原生 (Native):原生(例如.wav文件、.aiff文件等)适用于短音效。这类音频数据容量较大,但无需在运行时对声音解码。
  • 压缩 (Compressed): 音频数据容量较小,但需要在运行时对数据进行解压缩,这将产生处理开销。Unity会将音频编码为 Ogg Vorbis(Mac/PC/控制台 (Consoles))或 MP3(移动平台),具体取决于定位。

如果希望获得最佳音质,请提供 WAV 或 AIFF(包括 PCM 数据)等未压缩格式的音频,让 Unity 为你进行编码。如果你只定位 Mac 和 PC 平台(包括独立式和网页播放器两种),则导入 Ogg Vorbis 文件不会降低质量。但是,在移动平台上导入时,将 Ogg Vorbis 和 MP3 文件重新编码为 MP3 文件会对音质有轻微影响。

2、音频源 (Audio Source)

Aud音频源 (Audio Source) 在场景中播放音频片段 (Audio Clip) 。如果音频片段 (Audio Clip) 为三维片段,则源在给定位置进行播放并会随着距离而衰减。音频可以在扬声器之间散播(散播 (Spread))并在三维与二维之间变形(平移级别 (PanLevel))。这可以使用衰减曲线 (falloff curve) 随着距离进行控制。此外,如果侦听器处于一个或多个混响区域 (Reverb Zone)内,则会对源应用混响。(仅限专业版)可以将各个过滤器应用于每个音频源 (Audio Source),以获得甚至更丰富的音频体验。

下面描述了与音频源相关的属性及功能。

  • 音频片段 (Audio Clip):对将播放的声音片段文件的引用。
  • 静音 (Mute):如果启用,声音会进行播放,但会静音。
  • 绕过效果 (Bypass Effects):这是用于快速“绕过”应用于音频源 (Audio Source) 的过滤器效果。关闭/打开所有效果的方便途径。
  • 唤醒时播放 (Play On Awake):如果启用,声音会在场景启动时开始播放。如果禁用,需要在脚本中使用 Play() 命令启动它。
  • 循环 (Loop):启用此项可使音频片段 (Audio Clip) 在达到结尾时循环。
  • 优先级 (Priority):确定此音频源 (Audio Source) 在场景中共存的所有音频源 (Audio Source) 间的优先级。(优先级 (Priority):0 = 最重要。256 = 最不重要。默认 = 128。)。将 0 用于音乐轨道可避免它偶尔换出。
  • 音量 (Volume):与音频侦听器 (Audio Listener) 相距一个世界坐标单位(一米)处的声音高低程度。
  • 音调 (Pitch):由于音频片段 (Audio Clip)减慢/加快而形成的音调变化量。值 1 为正常播放速度。
  • 三维声音设置 (3D Sound Settings):音频片段 (Audio Clip) 为三维声音时应用于音频源 (Audio Source) 的设置。
  • 平移级别 (Pan Level):设置三维引擎对音频源 (Audio Source) 的影响程度。
  • 散播 (Spread):设置在扬声器空间中相对于三维立体声或多声道声音的散播角度。
  • 多普勒级别 (Doppler Level):确定对此音频源 (Audio Source) 应用的多普勒效应量(如果设置为 0,则不应用任何效应)。
  • 最小距离 (Min Distance):在最小距离 (MinDistance) 内,声音会保持为可能的最高音量。在最小距离 (MinDistance) 外,它会开始衰减。增大声音的最小距离 (MinDistance) 可使其在三维世界坐标中“更大声”,减小它可使其在三维世界坐标中“更安静”。
  • 最大距离 (Max Distance):声音停止衰减处的距离。超过此点,它会保持为与侦听器相距最大距离 (MaxDistance) 处的音量,不会再衰减。
  • 滚降模式 (Rolloff Mode):声音的降低速度。值越高,在听到声音之前便必须越接近侦听器。(这由一个图形确定)。
  • 对数滚降 (Logarithmic Rolloff):在接近音频源 (Audio Source) 时,声音较高,但是在远离对象时,它会以极快速度降低。
  • 线性滚降 (Linear Rolloff):离音频源 (Audio Source) 越远,可以听到的声音越少。
  • 自定义滚降 (Custom Rolloff):来自音频源 (Audio Source) 的声音的行为取决于设置滚降图的方式。
  • 二维声音设置 (2D Sound Settings):音频片段 (Audio Clip) 为二维声音时应用于音频源 (Audio Source) 的设置。
  • 二维平移 (Pan 2D):设置引擎对音频源 (Audio Source) 的影响程度。

列出这些属性的目的是为了弄明白英文单词属性的含义。

3、音频侦听器 (Audio Listener)

音频侦听器 (Audio Listener) 充当类似于麦克风的设备。它从场景中的任何给定音频源 (Audio Source) 接收输入,并通过计算机扬声器播放声音。对于大多数应用程序,最有意义的是将侦听器附加到相机 (Camera)。如果音频侦听器 (Audio Listener) 处于混响区域 (Reverb Zone) 边界内,则会对场景中的所有可听见声音应用混响。(仅限专业版)而且,音频效果 (Audio Effect) 可以应用于侦听器,并且将应用于场景中的所有可听见声音。

你的场景中只能有一个音频监听器 (Audio Listener),并且监听器通常附属于主相机 (Main Camera)。

4、音频片段 (Audio Clip)

音频片段 (Audio Clip) 包含音频源 (Audio Source)。 Unity 支持单声道、立体声和多声道音频资源(最多八个声道)。Unity 可以导入的音频文件格式包括 .aif、.wav、.mp3 和 .ogg 。Unity 还可以导入 .xm、.mod、.it 和 .s3m 格式的 tracker modules(跟踪器模块)。跟踪器模块资源的行为方式与 Unity 中的任何其他音频资源相同,不过资源导入检视器中不提供波形预览。

任何导入至 Unity 的音频文件都可在脚本中找到其音频片段 (Audio Clip) 的实例,它实际上是一个实用的音频数据存储工具。

  • 音频格式 (Audio Format):运行时用于声音的特定格式。
  • 原生 (Native):此选项以较大文件大小为代价提供较高质量,最适合于非常短的声音效果。
  • 压缩 (Compressed):压缩可生成较小文件,但是与原生音频相比质量有所下降。此格式最适合于中等长度声音效果和音乐。
  • 三维声音 (3D Sound):如果启用,声音会在三维空间中播放。单声道和立体声声音都可以进行三维播放。
  • 强制单声道 (Force to mono):如果启用,则音频片段会降混为单声道声音。
  • 加载类型 (Load Type) Unity:在运行时用于加载音频资源的方法。
  • 加载时解压缩 (Decompress on load):音频文件将在加载之后立即解压缩。将此选项用于较小的压缩声音可避免动态解压缩的性能开销。请注意,加载时解压缩声音使用的内存比保持声音处于压缩状态时大约多十倍,因此请勿将此选项用于大型文件。
  • 在内存中保持压缩状态 (Compressed in memory):使声音在内存中保持压缩状态并在播放时解压缩。此选项具有少量性能开销(尤其是对于 Ogg/Vorbis 压缩文件),因此仅将其用于加载时解压缩会使用过多内存量的较大文件。请注意,由于技术限制,在使用 FMOD 音频的平台上,此选项对于 Ogg Vorbis 资源会无提示地切换为从光盘进行流式处理 (Stream From Disc)。
  • 从光盘进行流式处理 (Stream from disc):直接从光盘对音频数据进行流式处理。此选项使用的内存通常是文件大小的一小部分,因此对于音乐或其他很长的音轨十分有用。出于性能原因,通常建议一次仅从光盘对一个或两个文件进行流式处理,不过可以从容处理的流数量取决于硬件。
  • 压缩 (Compression):应用于压缩片段的压缩量。 可以在滑块下查看有关文件大小的统计信息。调整此值的一个好方法是将滑块拖动到保持播放“足够良好”、同时文件小到足以满足分发要求的位置处。
  • 硬件解码 (Hardware Decoding):(仅限 iOS)在 iOS 设备上,可以使用 Apple 的硬件解码器,从而在解压缩过程中产生较小的 CPU 开销。有关更多信息,请查看平台相关详细信息。
  • 无缝循环 (Gapless looping):(仅限Android/iOS)在压缩无缝循环音频源文件(采用非压缩 PCM 格式)时使用此选项可确保在对接处保持完美的连续性。标准 MPEG 编码器在循环点处引入了一个较短无声期,这可作为短暂的“嘀嗒”或“嘭嘭”声听见。

音频片段(Audio Clip)必须与音频源 (Audio Sources) 和音频侦听器 (Audio Listener) 配合使用才可生成声音。将片段添加至游戏中的对象时,会将音频源 (Audio Source) 组件添加至含有音量 (Volume)、音高 (Pitch) 等许多其他属性的对象。播放源 (Source) 时,音频侦听器 (Audio Listener) 可"听到"范围内的所有源,再将这些源组合起来,声音即可通过扬声器发出。

5、音轨模块

音轨模块 (Tracker Modules) 文件与 MIDI 文件有许多相似之处。音轨是包含何时弹奏乐器、音高和音量等信息的乐谱,然后以此创建原始曲调的旋律和节拍。

但是,MIDI有一个缺点,音质依赖于音频硬件中的可用音色库,因此,MIDI 音乐的音质会因使用的计算机不同而不同。

相比之下,音轨模块既包括高质量的PCM示例,又不受所使用的音频硬件的影响。

(1)支持的格式

Unity可支持四个最常见的模块文件格式,即 Impulse Tracker (.it)、Scream Tracker (.s3m)、扩展模块文件格式 (Extended Module File Format)(.xm) 和原始模块文件格式 (original Module File Format) (.mod)。

(2)使用音轨模块 (Tracker Modules) 的优势

音轨模块文件不同于主流的 PCM 格式(.aif、.wav、.mp3 和 .ogg),此文件可以非常小,但不会对音质造成影响。你可调节一个声音样本的音高和音量(并且可运用其他效果),所以,其本质上是一种可播放曲调的“乐器 (instrument)”,还可节省录制完整曲调所需的开销。因此,将音轨模块应用于游戏,可帮助解决音乐和下载大文件等问题。

时间: 2024-11-05 09:57:31

【Unity】3.5 导入音频文件的相关文章

Unity 播放音频文件

Unity 播放音频文件参考代码: 1 public void Play(string strSoundName, float autoDestroyTime = 0f, bool bLoop = false, float fPerTime = 1f) 2 { 3 if (!strSoundName.Equals("")) 4 { 5 //设置背景音乐 6 AudioClip clip = Resources.Load<AudioClip>(strSoundName); 7

Unity中所有特殊的文件夹

1. 隐藏文件夹以.开头的文件夹会被Unity忽略.在这种文件夹中的资源不会被导入,脚本不会被编译.也不会出现在Project视图中.2. Standard Assets在这个文件夹中的脚本最先被编译.这个文件夹中的脚本会被导出到Assembly-CSharp-firstpass, Assembly-UnityScript-firstpass 或 Assembly-Boo-firstpass项目中,依语言而定. 参考http://docs.unity3d.com/Documentation/Ma

DirectX 因素:在 Windows 8 中流式载入和处理音频文件

Charles Petzold 下载代码示例 如今,许多 Windows 用户的硬盘中都有一个音乐库,其中包含多达数千甚至上万个 MP3 和 WMA 文件. 若要在电脑上播放此音乐,这类用户一般运行 Windows Media Player 或 Windows 8 Music 应用程序. 但对于程序员来说,知道我们可以编写自己的程序来播放这些文件再好不过了. Windows 8 提供编程接口,用来访问音乐库,获取各个音乐文件的信息(如艺术家.标题和播放时长)以及用 MediaElement 播放

java获取音频文件播放时长

方法一: 在项目开发过程中,需要获取音视频文件时长.查询资料后发现 JAVE能够完美得到想要的结果,JAVE项目简介如下: The JAVE (Java Audio Video Encoder) library is Java wrapper on the ffmpeg project. Developers can take take advantage of JAVE to transcode audio and video files from a format to another. I

DSP-Quattro 5(音频文件编辑工具)

DSP-Quattro 5 Mac特别版是一款由斯特凡诺·迪诺公司开发的音频文件编辑软件,DSP-Quattro 5的功能非常的强大,可以让你的电脑成为一台专业的音频编辑工具,只要有了DSP-Quattro 5使用最新的MacOS库编译,这款这么好的工具有新的完全可编程批处理器,你也可以成为音频编辑制作达人.在家就可以进行音频的编辑和创作. DSP-Quattro 5 Mac软件介绍 DSP-Quattro 5 Mac特别版具有64位音频和图形引擎,多线程内部引擎,使用最新的MacOS库编译,为

Yate for mac(标记和管理音频文件工具)

Yate for Mac是为那些希望完全控制其标记体验的人开发的.该应用程序是为Mac用户设计的百分之百可编写的应用程序,并使用自己的标记库.应用程序将标记mp3等各种文件.Yate Mac有很多功能,包括一个名为actions的创新脚本系统.我们可以利用这款软件轻松管理我们的音乐文件. Yate for Mac是一款Mac平台的标记和管理音频文件工具,能够帮助我们轻松编辑音乐文件的元标签数据,支持MP3,M4A,MP4,AIFF,FLAC,WAV以及DSF格式的音频文件,我们可以利用这款软件轻

使用TWindowsMediaPlayer播放网络路径的音频文件

  Delphi自带的TMediaPlay控件不能播放网络路径的音频文件,上网查了一下,比较简单的就是使用windows系统自带的WindowsMediaPlay控件.   1. 导入WindowsMediaPlay控件   我用的Delphi XE8,其他的也大同小异.  Component -> Import Component -> Import ActiveX Control -> 找到Windows Media Play ->   默认选择就可以 -> 四个选项1

html 导入css 文件和js文件

切记!!!!!!!导入css文件正确格式 ,这是写给自己的.代码规范,一个标点可能影响大局,步步为营...细节决定成败...j 今天由由于在css文件导入的时候<link >写成了<link/> 但css样式有效,但是js完全无效.然后可以说一天碌碌无为,现在瞌睡的要死,还是得继续工作,记住!!细节决定成败!!!! 不要再一定正确的方法上修改,也永远不要在编程上使用试错法,不要失去对程序的信仰,问题一定在自己...

Excel2010工作表中如何导入txt文件

1.打开Excel2010,点击"数据"选项卡,然后在最左边的"获取外部数据"菜单中选择"自文本"选项,在"导入文本文件"窗口中选择需要导入的文件.如图: 2.打开"文本导入向导-步骤之1(共3步)"对话框中并选择"分隔符号"选项.点击"下一步". 3.打开"文本导入向导-步骤之2"对话框,并添加分列线,点击"下一步"按钮. 4