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之详解游戏开发音频的播放

  • 相关阅读:
    vs2005入门 之 数据类型(日期类型)[视频]
    vs2005入门准备工作
    vs2005入门 之 定义类、创建及使用对象[视频]
    Atlas入门使用服务端定时控件TimerControl [视频]
    js入门·动态的时钟,显示完整的一些方法,新年倒计时
    Visual Studio 2005入门 之 函数兼本章总结 [视频]
    vs2005入门 之 数据类型/数值/字符/字符串[视频]
    javascript入门·Document对象入门讲解(访问表单,创建新页,获取页标题)
    Atlas入门将普通控件升级为Atlas控件/使用listView显示数据库数据[视频]
    javascript入门·图片对象(无刷新变换图片)\滚动图像
  • 原文地址:https://www.cnblogs.com/dacheng/p/2964523.html
Copyright © 2011-2022 走看看