2015-11-19 11:10:02 yeluo_vinager 阅读数 16262
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4712 人正在学习 去看看 张刚

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

.AIFF  适用于较短的音乐文件可用作游戏打斗音效

.WAV  适用于较短的音乐文件可用作游戏打斗音效

.MP3  适用于较长的音乐文件可用作游戏背景音乐

.OGG  适用于较长的音乐文件可用作游戏背景音乐

unity可以播放动画,播放音频,当然也可以播放视频啦~~~目前主要支持mov, .mpg, .mpeg, .mp4,.avi, .asf格式  
2015-09-12 23:26:47 tchenjiant 阅读数 807
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4712 人正在学习 去看看 张刚
音频处理
游戏的音频可以分为背景音乐与环境音效两种。
Unity3D  中目前支持的音频剪辑(Audio  Clip)中有四种音乐格式。
Mp3:  适合较长音频,作为背景音乐。
Ogg:  适合较长音频,作为背景音乐。
Wav:  适合较短音频,作为环境音效。
Aiff:适合较短音频,作为环境音效。
制作反应速度快的音效,适合使用不压缩音频


音频剪辑属性
Audio  Format:  设置音频是否是不压缩方式(Native)还是压缩方式(Compressed)。
3D  Sound:  启用则为3D音效,否则为2D(适合GUI  音频)。   
Load  Type(音频加载方式):第一种方式:Load  intomemory  加载到内存,  第二种方式:Steam  from  disc直接从磁盘读取,适用于较大且对速度不敏感的音频播放。
Gapless  Looping:  无缝循环。只适合于Android  与IOS平台。
Compression(kbps):  音频压缩的比特率,比特率越低,音频质量越差,但是音频文件体积越小。


Audio  Source组件
Audio  Clip:  音频剪辑;
Mute:  静音;
Play  on  Awake:自动播放;
Priority:  确定场景中所有音频源之间的优先级。(0:最重要 255:最不重要),当资源不足时优先级最低的会被剔除。
Volume:音量;


Audio Listener组件
音频监听组件与音频播放组件可以放在同一个游戏对象上,也可以放置在不同游戏对象上。
音频监听组件默认添加在了摄像机上(Main Camera)。注意没有被激活的摄像机需要把Audio Listener 关掉。同一个场景中Audio  Listener 只能有一个起作用。


音频混响器组件
添加混响器(Audio  Reverb  Zones)组件,可以在场景中的某个位置上添加混响失真效果。例如隧道中赛车的声音与露天的不同,声音在露天与小房间内的不同,同样声音在山谷、山洞、客厅中都不同。
组件属性如下:
Min  Distance:    最小距离。
Max  Distance:    最大距离。
Reverb  Preset:  混响预置


音频滤波器组件
通过音频滤波器组件我们可以进行滤波处理,例如添加回声、低通滤波处理等
Audio  Low  Pass  Filter(低通滤波器)
用于抑制高频信号,通过低频。
例如:  雷声近处尖锐,远处低沉。还有隔门听声的效果。
Audio  High  Pass  Filter(高通滤波器)
用于抑制低频,通过高频。
例如:制作非常刺耳的声音。
Audio  Echo  Filter:给音频添加延迟效果(回声效果)
Audio  Distortion  Filter:对音频的失真处理,例如模拟低质量的收音机。
Audio  Reverb  Filter:对音频进行失真处理来产生混响效果。
Audio  Chorus  Filter:合成由多个音频相同但略有不同的声音。例如生活中的大合唱效果。


程序控制音频播放
用于保存音频剪辑的类是  AudioClip  ,继承自Object  类。
播放音频剪辑的类是  AudioSource  类,但一般都是使用GameObject  类中的Audio  属性来控制音频播放。
AudioSource类
PLay:播放音频剪辑
Pause:暂停音频剪辑
Stop:停止播放音频剪辑
2014-11-16 21:56:04 jingjingcrystal 阅读数 410
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4712 人正在学习 去看看 张刚
在游戏中,音效是必不可少的。游戏中的音频分为背景音乐和环境音乐两种。
背景音乐即贯穿全场的音乐,而环境音乐则是特定的,比如水流声,动物的叫声,只有你靠近时才能听得到的声音。
unity3d中目前支持4种音频格式:(1)mp3:适合较长音频,作为背景音乐;
                                                     (2)ogg:适合较长音频,作为背景音乐;
                                                     (3)wav:适合较短音频,作为环境音乐;
                                                     (4)aiff:适合较短音频,作为环境音乐;
先导入音频资源包:assets--import package--custom package,然后选择音频资源包,导入到assets文件夹下。
选中主摄像机,在属性中添加属性

      

添加完后,在属性audio clip中选择要添加的音频

这就设置好了背景音乐。

下面来设置环境音乐,拿蛐蛐的叫声来举例,选中你要添加声音的物体,然后再属性中添加属性

这样环境音乐也就添加上了。

更多内容请关注:http://www.gopedu.com/

2017-08-07 14:14:36 BXD1314 阅读数 5178
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4712 人正在学习 去看看 张刚

对于Unity3D的音乐音效这块一直没有好好的看过,现在准备好好的研究一下,并作为一个笔记记录下。

支持格式

在游戏中,一般存在两种音乐,一种是时间较长的背景音乐,一种是时间较短的音效(比如按钮点击,开枪音效等)。

Unity3D支持下面几种音乐格式:

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

音乐组件

Unity3D中对音乐进行了封装,总体来说,要播放音乐需要3个基本的组件,下面我们来看看这3个组件。

AudioListener

一般我们创建场景时在主Camera上就会带有这个组件,该组件只有一个功能,就是监听当前场景下的所有音效的播放并将这些音效输出,如果没有这个组件,则不会发出任何的声音。好消息是,我们不需要创建多个该组件,一般场景中只需要在任意的GameObject上添加一个该组件就可以了,但是要保证这个GameObject不被销毁,所以一般按照Unity的做法,在主摄像机中添加即可。

AudioSource

控制一个指定音乐播放的组件,可以通过属性设置来控制音乐的一些效果,可以查看官方的文档:http://docs.unity3d.com/Manual/class-AudioSource.html

下面列出一些常用的属性:

  • AudioClip:声音片段,还可以在代码中去动态的截取音乐文件。
  • Mute:是否静音。
  • Bypass Effects:是否打开音频特效。
  • Play On Awake:开机自动播放。
  • Loop:循环播放。
  • Volume:声音大小,取值范围0.0 到 1.0。
  • Pitch:播放速度,取值范围在 -3 到 3 之间 设置1 为正常播放,小于1 为减慢播放 大于1为加速播放。

AudioClip

当我们把一个音乐导入到Unity3D中,这个音乐文件就会变成一个AudioClip对象,即我们可以直接将其拖拽到AudioSource的AudioClip属性中,也可以通过Resources或AssetBundle进行加载,加载出来的对象类型就是AudioClip。

看例子

播放音乐的简单例子

这个例子我们直接通过简单的拖拽的点击不写一行代码实现音乐的播放。

新建一个场景,给Main Camera添加一个Audio Source组件,并将我们的音乐文件拖拽到Audio Clip属性上,勾选Loop使其可以进行循环播放。

运行程序就可以听到声音了。

3D音效效果

Unity为啥要把音乐播放拆分成这3个组件呢?当然是有原因的,个人认为其中最重要的就是实现3D音效效果。

如果我们将Audio Listener看作一双耳朵的话就可以很好的理解什么是3D音效效果了,Unity会根据Audio Listener对象所在的GameObject和Audio Source所在的GameObject判断一下距离和位置来模拟真实世界中的音量近大远小的效果。

首先,找到我们导入的音乐文件,必须设置为3D音乐,默认就是。当然如果是2D的音乐就不会有近大远小的效果了。

我们新建一个场景,添加3个GameObject,给第一个添加一个Audio Listener组件,其它两个添加Audio Source组件并赋予两个音乐文件。

移除Main Camera上的Audio Listener组件,按照下面的位置摆放一下这3个组件。

运行游戏,返回Scene视窗,拖拽Audio Listener组件的位置,就可以感受到好比在两个音响之间移动的效果了。

(对于每个Audio Source声音可传递的距离可以通过拖拽其球形的线条进行调整。)

Resources加载

这里我们看看通过代码如何实现音乐的控制和播放。

我们把我们的音乐文件放到Resources文件夹中,新建一个场景和一个GameObject,并将下面的脚本添加到这个GameObject上即可:

复制代码
 1 using UnityEngine;
 2 
 3 public class ResourcesDemo : MonoBehaviour
 4 {
 5     private AudioSource _audioSource;
 6 
 7     void Start()
 8     {
 9         //添加 Audio Source 组件
10         _audioSource = this.gameObject.AddComponent<AudioSource>();
11 
12         //加载 Audio Clip 对象
13         AudioClip audioClip = Resources.Load<AudioClip>("bgm");
14 
15         //播放
16         _audioSource.loop = true;
17         _audioSource.clip = audioClip;
18         _audioSource.Play();
19     }
20 }
复制代码

运行就可以听到声音了。

AssetBundle加载

音乐在AssetBundle中又该如何控制和播放呢?

首先我们需要通过脚本对文件进行打包。

复制代码
 1 using UnityEditor;
 2 using UnityEngine;
 3 
 4 public class AssetBundleCreator
 5 {
 6     [MenuItem("Demo/CreateAssetBundle")]
 7     private static void CreateAssetBundle()
 8     {
 9         BuildPipeline.BuildAssetBundle(null, new []
10             {
11                 AssetDatabase.LoadMainAssetAtPath("Assets/Audio/bgm.ogg"),
12                 AssetDatabase.LoadMainAssetAtPath("Assets/Audio/sound.ogg")
13             },
14             Application.streamingAssetsPath + "/Audio.assetbundle",
15             BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets | BuildAssetBundleOptions.UncompressedAssetBundle,
16             BuildTarget.StandaloneWindows64);
17     }
18 }
复制代码

接下来新建一个场景和一个GameObject,并将下面的脚本添加到这个GameObject上即可:

复制代码
 1 using UnityEngine;
 2 
 3 public class AssetBundleDemo : MonoBehaviour
 4 {
 5     private AudioSource _audioSource;
 6 
 7     void Start()
 8     {
 9         AssetBundle assetBundle = AssetBundle.CreateFromFile(Application.streamingAssetsPath + "/Audio.assetbundle");
10 
11         //添加 Audio Source 组件
12         _audioSource = this.gameObject.AddComponent<AudioSource>();
13 
14         //加载 Audio Clip 对象
15         AudioClip audioClip = assetBundle.Load("sound", typeof(AudioClip)) as AudioClip;
16 
17         //播放
18         _audioSource.loop = true;
19         _audioSource.clip = audioClip;
20         _audioSource.Play();
21     }
22 }
复制代码

Play和PlayOneShot的区别

AudioSource播放声音提供了两种方法,分别如下:

public void Play(ulong delay = 0);
public void PlayOneShot(AudioClip clip, float volumeScale = 1.0F);

那么这两个方法有啥区别呢,或者说在什么样的情况下应该使用哪个方法呢?

我们先看看Play方法,该方法可以和其它方法配合使用,比如Pause(暂停)和Stop(停止),播放的是clip属性对应的Audio Clip对象,同一时刻只会有一个clip音乐进行播放。如果要同时使用Play方法播放两个音乐就需要再添加一个Audio Source对象了。

而PlayOneShot是指马上播放一个音乐且只播放一次,同时Pause和Stop对其无效,如果我们调用该方法播放多次音乐,则多个音乐会同时被播放出来。

使用场景

Play方法适合播放背景音乐,因为背景音乐同一时刻只会有一个再播放,而且还需要可以控制其播放和暂停等。

PlayOneShot方法适合播放音效,因为音效一般只会播放一次且不需要其它的控制,同时多个音效播放时是可以共存的,即可以听到多个声音。

源文件下载

http://pan.baidu.com/s/1eQCW7AE

天道酬勤,功不唐捐!
2016-04-22 21:11:39 yuxikuo_1 阅读数 2002
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4712 人正在学习 去看看 张刚

原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:【119706192本文链接地址: Unity3D 声音格式和导入

Unity支持压缩的和原生的音频。任何类型的文件(MP3/Ogg Vorbis的除外),最初都以原生音频导入可以通过选择加载类型(Load Type选择运行时Unity加载音频的方法。

文件类型转换

  • .AIFF
    转换为无压缩音频导入,最适合短音效果。可以在编辑器中按需求压缩。
  • .WAV
    转换为无压缩音频导入,最适合短音效果。可以在编辑器中按需求压缩。
  • .MP3
    转换成Ogg格式导入,最适合较长的音乐曲目。
  • .OGG
    压缩音频格式(与iPhone设备和某些Android设备不兼容),最适合较长的音乐曲目。

导入设置

如果要导入一个尚未压缩为Ogg 格式的文件,在音频剪辑的导入设置中有一些选项。

在项目视图中选择音频剪辑,在检视视图中编辑音频导入的选项。

属性:

音频格式(Audio Format) 在运行时被应用到声音上的特定格式。

  • 原生的(Native):较大文件尺寸,质量较高。最适用于很短的音效。
  • 压缩的(Compressed):较小文件尺寸,质量较低/不稳定。最适用于中等长度音效与音乐。

三维声音(3D Sound)如果启用,音乐将在3D空间中播放。

强制单声道(Force to mono)如果启用,该音频剪辑将向下混合到单通道声音。

加载类型(Load Type) 运行时Unity加载音频的方法。

  • 加载时解压缩(Decompress on load): 加载后解压缩声音。使用于较小的压缩声音,以避免运行时解压缩的性能开销。(将使用比在它们在内存中压缩的多10倍或更多内存,因此大文件不要使用这个。)
  • 在内存中压缩(Compressed in memory): 保持声音在内存中(压缩的)在播放时解压缩。这有轻微的性能开销(尤其是OGG / Vorbis格式的压缩文件),因此大文件使用这个。
  • 从磁盘流(Stream from disc): 直接从磁盘流读取音频数据。这只使用了原始声音占内存大小的很小一部分。使用这个用于很长的音乐。取决于硬件,一般建议1-2线程同时流。

压缩(Compression) 压缩量应用于压缩的剪辑,保持在一个足够小的尺寸,以满足您的文件大小/分配需要。可以拖动滑条来调整大小,播放声音来判断音质,滑动条后面可以看到文件大小的统计

硬件解码(Hardware Decoding)(仅iOS)用于iOS设备压缩的音频。使用苹果的硬件解码来减少CPU的密集解压缩。(同一时间只能有一个硬件音频流解压缩,包括背景的iPod音频。)

无缝循环(Gapless looping)(仅Android/iOS)压缩一个完美的循环音频源文件(非压缩的PCM格式)保持循环。标准的MPEG编码器插入silence循环点,播放时有小的"click" 或 "pop" Unity为你顺畅处理这个问题。


 

音频侦听器 Audio Listener

音频监听器没有属性。必须被添加才能使用,默认地添加到主照相机。(每个场景只能有1个音频侦听器正常工作。) 

在菜单栏通过Edit->Project Settings->Audio访问项目范围内的音频设置。

 


 

音频源 Audio Source

属性:

音频剪辑(Audio Clip) 将被播放的声音剪辑文件。

静音( Mute) 如果启用,声音将被播放,但没有声音。

直通效果( Bypass Effects) 应用到音频源的快速"直通"过滤效果。一个简单的方法来打开/关闭所有特效。

唤醒时播放( Play On Awake) 声音会在场景启动的时候开始播放。如果禁用,则需要从脚本中使用的play()命令来启动它。

循环( Loop) 启用这个属性使音频剪辑(Audio Clip)在播放结束后循环 。

优先权( Priority) 确定场景所有并存的音频源之间的优先权。(0=最重要的优先权。256 =最不重要。默认为128。)

音量( Volume) 声音从距离音频监听器(Audio Listener)1个世界单位(1米)处的音量。

音调( Pitch) 改变音调(Pitch)值,可以减速/加速音频剪辑的播放。1是正常播放速度。

3D声音设置(3D Sound Settings):

   平衡调整级别 (Pan Level) 设置多少,3D引擎在音频源上有效果。

   扩散 (Spread) 设置3D立体声或者多声道音响在扬声器空间的传播角度。

   多普勒级别 (Doppler Level) 决定了多少多普勒效应将被应用到这个音频信号源(如果设置为0,就是无效果)。

   最小距离 (Min Distance) 在最小距离之内,声音会保持最响亮。 在最小距离之外,声音就会开始衰减。

   最大距离 (Max Distance) 声音停止衰减距离。超过这一点,它将在距离侦听器最大距离单位,保持音量,不在衰减。

衰减模式 (Volume Rolloff) 声音淡出的速度有多快。该值越高,越接近侦听器最先听到声音(这是由图形决定)。

  • 对数衰减(Logarithmic Rolloff): 当你接近的音频源,声音响亮,但是当你远离对象,声音下降显着快
  • 线性衰减(Linear Rolloff): 越是远离音频源的,你可以听到的声音越小
  • 自定义衰减(Custom Rolloff): 根据你设置的衰减图形,来自音频源的声音行为

2D声音设置(2D Sound Settings):

   2D平衡调整 (Pan 2D) 设置多少,引擎在音频源上有效果

unity3d 4.X音频格式

阅读数 779

Unity3D播放视频

阅读数 548

Unity3D音频的制作

阅读数 1035

没有更多推荐了,返回首页