查看: 1499|回复: 0
打印 上一主题 下一主题

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

[复制链接]

435

主题

2

听众

6371

积分

高级设计师

Rank: 6Rank: 6

纳金币
6372
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-9-12 14:16:29 |只看该作者 |倒序浏览
游戏音频的播放在任何游戏中都占据非常重要的地位,音频的播放还可以分为两种,一种为游戏音乐,另一种为游戏音效。前者适用于较长的音乐,如游戏背景音乐。第二种试用与比较短的游戏音乐,如开枪,打怪 时“砰砰”一瞬间播放的游戏音效。今天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
using UnityEngine;
using System.Collections;
public class audio : MonoBehaviour {
//音乐文件
public AudioSource music;
//音量
public float musicVolume;
void Start() {
//设置默认音量
musicVolume = 0.5F;
}
void OnGUI() {
//播放音乐按钮
if (GUI.Button(new Rect(10, 10, 100, 50), "lay music")) {
//没有播放中
if (!music.isPlaying){
//播放音乐
music.Play();
}
}
//关闭音乐按钮
if (GUI.Button(new Rect(10, 60, 100, 50), "Stop music")) {
if (music.isPlaying){
//关闭音乐
music.Stop();
}
}
//暂停音乐
if (GUI.Button(new Rect(10, 110, 100, 50), "ause music")) {
if (music.isPlaying){
//暂停音乐
//这里说一下音乐暂停以后
//点击播放音乐为继续播放
//而停止以后在点击播放音乐
//则为从新播放
//这就是暂停与停止的区别
music.Pause();
}
}
//创建一个横向滑动条用于动态修改音乐音量
//第一个参数 滑动条范围
//第二个参数 初始滑块位置
//第三个参数 起点
//第四个参数 终点
musicVolume = GUI.HorizontalSlider (new Rect(160, 10, 100, 50), musicVolume, 0.0F, 1.0F);
//将音量的百分比打印出来
GUI.Label(new Rect(160, 50, 300, 20), "Music Volueme is " + (int)(musicVolume * 100) + "%");
if (music.isPlaying){
//音乐播放中设置音乐音量 取值范围 0.0F到 1.0
music.volume = musicVolume;
}
}
}
将audio.cs 绑定在摄像头上,将audio游戏对象拖动赋值给Music 这个AudioSource这个对象。这里强调一下AudioListenr ,它音频***,用来监听音乐文件的播放。这是一个重要的属性,一定要勾选,只有勾选后才可以进行音乐的播放。







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









分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-12-1 04:56 , Processed in 0.088573 second(s), 33 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部