zoukankan      html  css  js  c++  java
  • Unity3D之详解游戏开发音频的播放

    游戏音频的播放在任何游戏中都占据非常重要的地位,音频的播放还可以分为两种,一种为游戏音乐,另一种为游戏音效。前者适用于较长的音乐,如游戏背景音乐。第二种试用与比较短的游戏音乐,如开枪,打怪 时“砰砰”一瞬间播放的游戏音效。今天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个按钮 点击实现 播放音乐、 停止音乐、 暂停音乐 ,与一个横向拖动条通过手指的拖动实现动态修改音乐声音。

    using UnityEngine;
    using System.Collections;

    public class NewBehaviourScript1 : MonoBehaviour {

        // Use this for initialization
        void Start () {
        audio.playOnAwake=false;
        }
       
        // Update is called once per frame
        void Update () {
       
        }
       
        void OnGUI()
        {
            if(GUILayout.Button("Play",GUILayout.Height(30)))
            {
                audio.Play();
            }
            if(GUILayout.Button("Pause",GUILayout.Height(30)))
            {
                if(audio.isPlaying)
                audio.Pause();
            }
            if(GUILayout.Button("Stop",GUILayout.Height(30)))
            {
                if(audio.isPlaying)
                audio.Stop();
            }
        }
    }

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

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

    最后欢迎各位盆友可以和MOMO一起讨论Unity3D游戏开发,大家一起学习一起进步.

    原文链接:http://www.9ria.com/index2

    声明: 本文由( liuxiaoni )原创编译,转载请保留链接: Unity3D之详解游戏开发音频的播放

  • 相关阅读:
    IO 单个文件的多线程拷贝
    day30 进程 同步 异步 阻塞 非阻塞 并发 并行 创建进程 守护进程 僵尸进程与孤儿进程 互斥锁
    day31 进程间通讯,线程
    d29天 上传电影练习 UDP使用 ScketServer模块
    d28 scoket套接字 struct模块
    d27网络编程
    d24 反射,元类
    d23 多态,oop中常用的内置函数 类中常用内置函数
    d22 封装 property装饰器 接口 抽象类 鸭子类型
    d21天 继承
  • 原文地址:https://www.cnblogs.com/dacheng/p/2964523.html
Copyright © 2011-2022 走看看