首页 > Unity3D频道 > 【Unity3D研究院之游戏开发】 > Unity3D研究院之详解游戏开发音频的播放(十五)
2012
05-01

Unity3D研究院之详解游戏开发音频的播放(十五)

       游戏音频的播放在任何游戏中都占据非常重要的地位,音频的播放还可以分为两种,一种为游戏音乐,另一种为游戏音效。前者适用于较长的音乐,如游戏背景音乐。第二种试用与比较短的游戏音乐,如开枪,打怪 时“砰砰”一瞬间播放的游戏音效。今天MOMO将用下面的例子带盆友们去剖析Unity3D游戏音乐与音效的播放。

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

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

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

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

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

在场景中创建一个空的游戏对象。

GameObject -> CreateEmpty  创建成功后我命名为audio。

给audio添加一个AudioSource属性,这个属性非常的重要,Unity播放音乐主要就是要靠这个东西。

Component -> Audio – > Audio Source。

 

Unity3D研究院之详解游戏开发音频的播放(十五) - 雨松MOMO程序研究院 - 1

 

找一个音乐文件,我这里使用了一个.mp3音乐文件,我命名为0.mp3 如下图所示将它拖动到右侧Audio Clip处。

 

Unity3D研究院之详解游戏开发音频的播放(十五) - 雨松MOMO程序研究院 - 2

 

我们发现 Audio Source 有很多设置的属性,那么MOMO将一些比较重要的属性诺列出来。


AudioClip :声音片段,还可以在代码中去动态的截取音乐文件。

Mute : 是否静音

Bypass Effects: 是否打开音频特效

Play On Awake: 开机自动播放

Loop:循环播放

Volume: 声音大小,取值范围0.0 到 1.0

Pitch:播放速度,取值范围在 -3 到 3 之间 设置1 为正常播放,小于1 为减慢播放 大于1为加速播放。创建一个脚本我命名为audio.cs 用来音乐的播放。本章将实现3个按钮 点击实现 播放音乐、 停止音乐、 暂停音乐 ,与一个横向拖动条通过手指的拖动实现动态修改音乐声音。

audio.cs 

将audio.cs 绑定在摄像头上,将audio游戏对象拖动赋值给Music 这个AudioSource这个对象。这里强调一下AudioListenr ,它音频监听器,用来监听音乐文件的播放。这是一个重要的属性,一定要勾选,只有勾选后才可以进行音乐的播放。

 

Unity3D研究院之详解游戏开发音频的播放(十五) - 雨松MOMO程序研究院 - 3

 

build and run 运行我们这个游戏Demo,一切功能完美实现,哇咔咔~

 

Unity3D研究院之详解游戏开发音频的播放(十五) - 雨松MOMO程序研究院 - 4

 

最后欢迎各位盆友可以和MOMO一起讨论Unity3D游戏开发,大家一起学习一起进步,哇咔咔~~~ 附上Unity3D工程的下载地址,Xcode项目我就不上传了,须要的自己导出。今天心里有点不高兴! 5555555555。就这样晚安~

下载地址:http://vdisk.weibo.com/s/abxs8

 

补充:

最近有朋友问我如何切换场景Unity音频不关闭,其实做法非常简单。如下图所示,你的声音组件会放在声音对象中,因为切换场景的时候声音对象会自动销毁,所以声音就会关闭。所以如果你的声音组件不被销毁掉,哪么你的声音就会连续播放了。

 

Unity3D研究院之详解游戏开发音频的播放(十五) - 雨松MOMO程序研究院 - 5

代码就是使用DontDestroyOnLoad()方法就可以切换场景不施放对象了。 

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

--

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。

  1. momo,我现在用unity5.3.5,android包出现游戏中如果接电话或者收到任何推送,回到游戏时音效都没声音了,强制退出游戏重新进入后才好,求解哦!

  2. 雨松大大,为什么我完全按照你的操作来的,就是播放不出声音呢?我做了好久了,这个声音怎么也弄不出来!

  3. 大神 我遇到一个问题,unity导出Xcode版本之后,安卓的 iPad的声音都是正常的,但是iPhone的都特别小,音频都是2D的,非3D 会是什么原因呢。。。。跪求,急在线等!

  4. 从A 切换到B场景时,音乐正常,从B在切换回A时,就会有警告了,说有两个声音组件了。因为之前从A到B时的组件没有释放,所以从B到A时又重新生成了另外一个。。。。

  5. 雨松前辈您好,可以请问一下,像在有些游戏中,一段音乐前奏播放完后,之后会从中后段的部份就一直循环,这个有机会能在Unity中实现吗?

  6. 如果多场景转换,那么一个音频怎么能做到被多场景共享呢???就是场景转换可是音乐播放继续怎么实现呢???希望雨松老师指点下~~~谢啦~~

  7. 請問大大,我按照你的作法都做了 可是再丟程式到”将audio.cs 绑定在摄像头上” 這一段

    他會出現you need to fix all compile errors in all scrips first 請問是什麼原因呢:(