美文网首页
Unity开启篇(八) —— Unity声音简介(一)

Unity开启篇(八) —— Unity声音简介(一)

作者: 刀客传奇 | 来源:发表于2019-01-13 11:55 被阅读51次

    版本记录

    版本号 时间
    V1.0 2019.01.13 星期日

    前言

    Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows 和Mac OS X下,可发布游戏至WindowsMacWiiiPhoneWebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac 所支持。网页游戏 坦克英雄和手机游戏王者荣耀都是基于它的开发。
    下面我们就一起开启Unity之旅。感兴趣的看下面几篇文章。
    1. Unity开启篇(一) —— Unity界面及创建第一个简单的游戏 (一)
    2. Unity开启篇(二) —— Unity界面及创建第一个简单的游戏 (二)
    3. Unity开启篇(三) —— 一款简单射击游戏示例 (一)
    4. Unity开启篇(四) —— 一款简单射击游戏示例 (二)
    5. Unity开启篇(五) —— 一款简单射击游戏示例 (三)
    6. Unity开启篇(六) —— Unity动画简介 (一)
    7. Unity开启篇(七) —— Unity动画简介 (二)

    开始

    首先看下写作环境

    C# 3.5, Unity

    为游戏添加声音与开发令人惊叹的着色器同样重要。 在本教程中,您将通过将动物放入谷仓来学习Unity中声音开发的基础知识。

    创建游戏的视觉元素只是工作的一半。一旦你的怪物到位,并且你已经准备好所有的弹射器开火,当最大的爆炸甚至不能产生最微小的低语时,一场巨大的战斗可能会显得毫无兴致。

    但是当你为游戏添加声音时 - 即使是那些可怕的声音 - 你可能会惊讶地发现它们所提供的深度。抛出一些很棒的声音,你可能会发现一个全新的游戏。

    通过代码添加声音并不困难,但Unity具有易于使用的可视化编辑器并可与各种音频文件格式配合使用,使其更加简单。本教程将向您展示如何通过Unity编辑器和添加的代码向游戏Barn Blaster添加声音。如果您希望为下一个游戏添加声音,本教程是一个很好的起点!

    在本教程中,您将:

    • 了解AudioClipsAudioSources之间的区别。
    • 了解如何配置3D声音的各种属性。
    • 以编程方式播放声音。
    • 或许可以学习将猪扔进谷仓。

    注意:您需要安装Blender才能打开项目;在这里免费

    在Unity中打开项目(最低版本2018.2.10f1)。

    首先,在Assets ▸ RW ▸Scenes文件夹中打开主场景(Main scene),然后单击Play按钮。

    你会看到一堆拖拉机在红色谷仓前来回行驶。 按空格键时,农场动物会向空中发射。 游戏的目标是将动物放入谷仓而不会被拖拉机击中。 如果动物被拖拉机击中,它就会死亡;如果它进入谷仓,这是一个目标!

    当然,现在,它完全沉默 - 不是一个可以听到的moo! 你将通过声音将游戏变为现实。


    Adding Your First Sound Effects

    该游戏的目的是发动随机动物:牛,猪或羊。 每个都会播放不同的声音,因此您的首要任务是添加正在发射的动物的声音效果。

    该项目已经为每只动物设置了预制件(prefabs)。 在“项目”窗口中,打开Assets ▸ RW ▸ Prefabs窗口并选择cow预制件。

    这个预制件首先需要的是一个播放声音的AudioSource组件。 在Inspector中,单击Add Component按钮,然后键入Audio Source。 然后,选择出现的Audio Source选项。

    牛预制件现在可以播放音频,但它需要一个AudioClip播放。 目前,您添加的组件上的AudioClip为空。

    您可能想知道:AudioSource究竟是什么? 它与AudioClip有何不同? 您可以通过他们的名字来猜测它们的功能,但猜测可能是一件危险的事情,所以您需要学习一些基础知识。

    1. How Sound Effects Work in Unity

    要在Unity中播放声音,请使用AudioSourceAudioClip

    AudioSource是实际在2D或3D空间中播放声音的内容。 在3D空间中,声音的音量可以根据AudioSource与听它的对象的距离而变化(AudioListener,在此游戏中,在相机上)。

    您可以将AudioSource设置为在2D空间中播放声音,这意味着无论距离AudioListener的距离如何,它都将以相同一致的音量播放。

    AudioClipAudioSource将播放的实际音频文件。

    需要注意的一件重要事情是AudioSource是一个组件。 这意味着它是一个继承自UnityMonoBehaviour类的对象,可以直接附加到任何Unity GameObject

    AudioClip是一个可以在AudioSource上设置的变量(即每个AudioSource都有一个AudioClip)。 您可以通过Unity编辑器和代码附加组件,但本教程仅使用编辑器。

    播放声音的关键部分是为AudioSources设置触发器。 触发器是:导致AudioSource播放的条件。

    在本教程中,您将编辑已预先配置为仅包含音频播放部分所需内容的代码;幕后是使用Unity物理引擎的代码。

    注意:如果您有兴趣了解这些物理触发器是如何工作的,请查看Unity的物理系统

    2. Adding AudioClips

    打开Project window中的Assets ▸ RW ▸ Sounds文件夹,找到moo声音文件。 在Inspector中仍然突出显示牛预制件,将moo声音文件拖到AudioClip上。

    确保已启用Play On Awake

    这意味着声音文件将在创建对象后立即播放,这正是您想要的。 当动物向谷仓发射时,在这种情况下它会发出动物的吼声 - 或者说是moo

    作为挑战,为羊和猪预制件做同样的事情。

    需要帮忙? 看下面具体的方法。

    • 1) 点击绵羊预制件。 在Inspector中,单击Add Component按钮。 在“音频”类别中选择AudioSource组件。
    • 2) 将baa声音文件拖到AudioClip字段。
    • 3) 确保选中Play On Awake框。
    • 4) 点击Pig预制件。 在“检查器”中,单击Add Component按钮。 在“音频”类别中选择AudioSource组件。
    • 5) 将oink声音文件拖到AudioClip字段。
    • 6) 确保选中Play On Awake框。

    在这一点上,所有三个动物预制件都添加了他们的声音。 要测试它,请进入播放模式,然后按空格键启动动物。 当它飞向谷仓时,你应该听到每只动物发出各自的声音。

    3. Sound Not Playing?

    AudioSource可以播放各种文件格式,包括常见的.mp3.wav格式。 如果您发现您的声音文件没有播放,请先查看此处以查看是否支持该文件格式。

    注意:选择要使用的声音格式时,您应该选择无损格式,例如.ogg.wav

    在某些情况下,Unity会将声音文件编码为.mp3等格式,以利用某些硬件解码。 在您提供.mp3音频文件的情况下,这些.mp3文件将被重新编码,从而导致额外的质量损失。

    由于本教程是提前准备的,因此文件格式应该没问题。 因此,如果没有播放声音,请检查以下内容:

    • 1) 音量设置得太低了吗? 检查每个AudioSources的音量级别。
    • 2) AudioSource组件是否已禁用? 如果禁用该组件,则不会播放声音。
    • 3) Play On Awake是否选中? 您不会总是想要这个,但是,如果您希望在创建对象后立即播放声音,请检查是否已切换。 它将在创建对象的同一帧中播放。

    后记

    本篇主要讲述了Unity声音简介,感兴趣的给个赞或者关注~~~

    相关文章

      网友评论

          本文标题:Unity开启篇(八) —— Unity声音简介(一)

          本文链接:https://www.haomeiwen.com/subject/tiqhdqtx.html