Uinty3D游戏开发技术之音频控制

来源:互联网 发布:up炒股软件 编辑:程序博客网 时间:2024/05/17 03:18

欢迎来到unity学习unity培训unity企业培训教育专区,这里有很多U3D资源U3D培训视频U3D教程U3D常见问题U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。

 

游戏音频的播放在任何游戏中都占据非常重要的地位,音频的播放还可以分为两种,一种为游戏音乐,另一种为游戏音效。前者适用于较长的音乐,如游戏背景音乐。第二种试用与比较短的游戏音乐,如开枪,打怪 时“砰砰”一瞬间播放的游戏音效。 

 

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

 

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

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

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

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

 

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

 

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

 

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

 

        Component -> Audio - > Audio Source。 

         

 

2、找一个音乐文件,我这里使用了一个.mp3音乐文件,我命名为0.mp3 如下图所示将它拖动到右侧Audio Clip处,文章出处【狗刨学习网】 

      

 

我们发现 Audio Source 有很多设置的属性,其中较为重要的实行,一列在下面: 

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

       Mute : 是否静音 

       Bypass Effects: 是否打开音频特效 

       Play On Awake: 开机自动播放 

       Loop:循环播放 

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

       Pitch:播放速度,取值范围在 -3 到 3 之间 设置1 为正常播放,小于1 为减慢播放 大于1为加速播放。 

 

创建一个脚本我命名为audio.cs 用来音乐的播放。本章将实现3个按钮 点击实现 播放音乐、 停止音乐、 暂停音乐 ,与一个横向拖动条通过手指的拖动实现动态修改音乐声音。 

 

audio.cs 

1. using UnityEngine; 

2. using System.Collections; 

3. 

4. public class audio : MonoBehaviour { 

5. 

6.      //音乐文件 

7. public AudioSource music; 

8.      //音量 

9. 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,一切功能完美实现!!! 

 

 

 

0 0
原创粉丝点击