Unity3D 游戏引擎之详解游戏开发音频的播放

移动开发 iOS 游戏开发
游戏音频的播放在任何游戏中都占据非常重要的地位,音频的播放还可以分为两种,一种为游戏音乐,另一种为游戏音效。前者适用于较长的音乐,如游戏背景音乐

第二种试用与比较短的游戏音乐,如开枪,打怪 时“砰砰”一瞬间播放的游戏音效。今天MOMO将用下面的例子带盆友们去剖析Unity3D游戏音乐与音效的播放。

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

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

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

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

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

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

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

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

Component -> Audio - > Audio Source。

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

我们发现 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 

[代码]c#/cpp/oc代码:

01 using UnityEngine; 
02 using System.Collections; 
03    
04 public class audio : MonoBehaviour { 
05    
06     //音乐文件 
07     public AudioSource music;    
08     //音量 
09     public float musicVolume;    
10        
11     void Start() { 
12          //设置默认音量 
13          musicVolume = 0.5F;     
14     } 
15     void OnGUI() { 
16            
17         //播放音乐按钮 
18         if (GUI.Button(new Rect(10, 10, 100, 50), "Play music"))  { 
19                
20             //没有播放中 
21             if (!music.isPlaying){ 
22                 //播放音乐 
23                 music.Play(); 
24             } 
25                
26         } 
27            
28         //关闭音乐按钮 
29         if (GUI.Button(new Rect(10, 60, 100, 50), "Stop music"))  { 
30                
31             if (music.isPlaying){ 
32                 //关闭音乐 
33                 music.Stop(); 
34             } 
35         } 
36         //暂停音乐 
37         if (GUI.Button(new Rect(10, 110, 100, 50), "Pause music"))  { 
38             if (music.isPlaying){ 
39                 //暂停音乐 
40                 //这里说一下音乐暂停以后 
41                 //点击播放音乐为继续播放 
42                 //而停止以后在点击播放音乐 
43                 //则为从新播放 
44                 //这就是暂停与停止的区别 
45                 music.Pause(); 
46             } 
47         } 
48    
49         //创建一个横向滑动条用于动态修改音乐音量 
50         //第一个参数 滑动条范围 
51         //第二个参数 初始滑块位置 
52         //第三个参数 起点 
53         //第四个参数 终点 
54         musicVolume = GUI.HorizontalSlider (new Rect(160, 10, 100, 50), musicVolume, 0.0F, 1.0F); 
55        
56         //将音量的百分比打印出来 
57         GUI.Label(new Rect(160, 50, 300, 20), "Music Volueme is " + (int)(musicVolume * 100) + "%"); 
58            
59         if (music.isPlaying){ 
60             //音乐播放中设置音乐音量 取值范围 0.0F到 1.0  
61             music.volume = musicVolume; 
62         } 
63     } 
64 }

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

 

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

责任编辑:冰凝儿
相关推荐

2012-12-24 08:46:50

iOSUnity3D

2012-12-24 09:01:41

iOSUnity3D

2012-12-24 08:48:25

iOSUnity3D

2012-12-24 08:50:21

iOSUnity3D

2012-12-24 09:07:09

iOSUnity3D

2012-12-24 08:40:12

2012-12-24 08:57:35

iOSUnity3D

2012-12-24 09:00:31

iOSUnity3D

2012-12-24 09:17:12

iOSUnity3D

2012-12-24 08:52:44

iOSUnity3D

2012-12-24 09:11:58

iOSUnity3D

2012-12-24 08:51:23

iOSUnity3D

2012-12-24 08:45:19

iOSUnity3D

2012-12-24 08:56:15

iOSUnity3D

2012-12-24 08:59:13

iOSUnity3D

2012-12-24 09:02:48

iOSUnity3D

2013-04-25 00:06:06

unity3D手机游戏引擎

2013-04-25 09:56:24

unity3D手机游戏引擎

2014-04-17 11:05:30

2012-12-24 08:54:47

iOSUnity3D
点赞
收藏

51CTO技术栈公众号