пятница, 21 июня 2019 г.

Руководство по Fungus. Воспроизведение Аудио



    Практически в каждой игре есть какой-то звук! Часто мы делим аудиоклипы на три категории:
    1. Музыка
    2. Звуковые эффекты
    3. Речь
    Fungus предоставляет простые способы включить все 3 вида аудиоклипов в вашу игру, используя методы, представленные здесь.

    Источники бесплатного аудио

    Прежде чем вы сможете добавить аудиоклипы в игру, вам нужно получить несколько аудиоклипов. Вот несколько источников аудиоклипов, которые можно использовать при изучении аудио в Fungus, если у вас нет своих собственных.
    Ниже приведены несколько хороших мест в Интернете для прекрасной музыки и звуковых эффектов для игр. Некоторые из них бесплатны для любого использования (в том числе коммерческого), некоторые просто бесплатны для личного использования. Как всегда, проверьте лицензию медиаресурсов, прежде чем использовать их для любых коммерческих продуктов ...
    В папках Fungus Examples вы найдете ряд аудиоклипов:


    Fungus Примеры аудио

    Добавление аудио в ваш проект

    После того, как на вашем компьютере есть несколько аудиоклипов, вам необходимо импортировать их в свой проект Unity.

    Способ 1 (меню)

    Вы можете сделать это один клип за один раз, выбрав в меню: Assets | Import New Asset...и выбрать нужный клип.

    Способ 2 (перетаскивание)

    В качестве альтернативы вы можете перетащить файлы или целые папки в окно Проекта(Project), Unity сделает копию, а затем импортирует перетаскиваемые файлы:

     перетащите аудио папку в Unity

    Работа со звуком

    Существует три основных способа работы со звуком в играх Fungus. Это команды Audio, команда Say и gameObjects, содержащие компоненты Unity Audio Source. Все три обсуждаются ниже:
     аудио большая картинка

    Fungus аудио команды

    Диапазон Команд аудио, которые вы можете добавить в Блок, следующие:


    Fungus команды аудио
    Также вы можете объявить аудиоклип, который содержит речевой голос за кадром, чтобы соответствовать тексту, отображаемому с помощью Команды Say:

    Fungus команды аудио

    Команда Play Music

    Музыкальные аудиоклипы зацикливаются, поэтому они перезапускаются после завершения воспроизведения. Часто первая команда в Блоке - это команда воспроизведения музыки. Добавьте музыку в Блок следующим образом:

    1. (если вы этого еще не сделали: создайте новую сцену, добавьте к ней Блок-схему Fungus и выберите Блок на Блок-схеме).
    2. Добавить команду Play Music в текущий Блок, нажмите кнопку Add (кнопка со знаком «+») в Инспекторе, а затем выберите меню: Audio | Play Music.
    3. Убедитесь, что в верхней части окна Инспектора выбрана команда Play Music (зеленая подсветка), а затем перетащите нужный файл музыкального клипа в свойство "Music Clip" в нижней части окна Инспектора:
    Добавить команду Play Music 













  • Измените громкость по желанию (по умолчанию 1, значения находятся в диапазоне от 0,0 до 1,0, что соответствует процентам объема от 0% до 100%).
  • Воспроизведите свою сцену - музыкальный клип должен воспроизводиться и продолжать цикл.

  • ПРИМЕЧАНИЕ. Если вы хотите начать воспроизведение музыкального клипа с известного момента времени (а не с начала), введите желаемый момент времени в свойстве окна Инспектора "At Time" для команды Play Music.

    Команда Play Sound

    Команда Fungus Play Sound воспроизведет указанный аудиоклип один раз. Выбрав Блок Блок-схемы, нажмите кнопку Add в окне Инспектора и выберите в меню: Audio | Play Sound. Перетащите звуковой эффект (мы выбрали звук BearRoad из примера Hunter):

     Команда Play Sound 
    Воспроизведите сцену, вы должны услышать, как ваш звуковой эффект проигрывается один раз.

    Заметка. Настройка по умолчанию Fungus заключается в том, что звуковой эффект начинает воспроизводиться, и во время его воспроизведения начинается выполнение следующей команды в Блоке. Однако, если вы установите флажок "Wait Until Finished" то Fungus будет ждать, пока звуковой эффект не закончится, прежде чем перейти к выполнению следующей Команды в Блоке:
     
    wait until finished

    Команда Set Audio Volume

    Громкость по умолчанию для воспроизводимой музыки - 1 (100%). Однако мы можем легко изменить это с помощью команды Set Audio Volume. Сделайте следующее:
    1. (если вы этого еще не сделали: создайте новую сцену, добавьте к ней Блок-схему Fungus и выберите Блок на Блок-схеме).
    2. Переименуйте этот Блок в "Play Music".
    3. Добавьте Команду Play Music в текущий Блок, затем перетащите нужный файл музыкального клипа в свойство "Music Clip" в нижней половине окна Инспектор:


      музыка Шерлока













  • Если вы сейчас воспроизводите сцену, музыка будет воспроизводиться на полной громкости (1 = 100%).
  • Теперь создайте второй Блок в окне Блок-схемы с именем "quieter".
     
    новый Блок тише(quieter)
  • Добавьте к этому новому Блоку команду Set Audio Volume.
     
    Добавить команду audio volume 
  • В свойствах Команды Set Audio Volume установите громкость на 0,25 (25%).

     
    установить громкость звука тише
  • Выберите Блок "Play Music" и добавьте Команду Menu нажав кнопку add в окне Инспектор, а затем выберите в меню: Menu | Narrative.
     


    добавить команду меню
  • Установите для Text Property значение "Make Quieter" и для Target Block Блок "Quieter":




    свойства меню
  • В окне Блок-схемы вы должны увидеть зеленую стрелку, показывающую, что Команда в Блоке "Play Music" передает управление Блоку "quieter":
     
    зеленая стрелка
  • Когда вы запустите сцену, музыка начнет воспроизводиться на полной громкости, затем, когда вы нажмете кнопку "Make Quieter" управление перейдет к Блоку "quieter" и вы услышите, что музыка становится намного тише после установки. Команда Set Audio Volume выполнена со значением 25% (0,25): 


  • включить аудио

    3 концепции аудио Unity

    В Unity есть 3 различных типа «объекта» Аудио, которые стоит понимать при работе со звуком в Fungus (или любом другом) проекте Unity:
    1. Audio Clip
    2. Audio Listener
    3. Audio Source

    Unity Audio Clip

    Unity использует термин Audio Clip для обозначения физических звуковых файлов (.mp3, .wav, .ogg и т. д.), Которые хранятся в папке вашего проекта. Именно эти файлы аудиоклипов можно перетаскивать в свойства "Music Clip" и "Sound Clip" в окне при создании Команд Play Music и Play Sound в Блоке Fungus.

    Unity Audio "Listener"

    По сути, если вы хотите, чтобы звук воспроизводился, в одном из объектов gameObjects вашей сцены должен быть компонент Audio Listener. Main Camera сцены имеет одну по умолчанию, поэтому в большинстве случаев вы можете быть уверены, что у вас есть Audio Listener.
    Если сцена не имеет Audio Listener в каком-либо объекте gameObject, то пользователь игры не будет слышать звук, независимо от того, сколько музыки и звуковых клипов может воспроизводиться.
    Иногда вы можете добавить к вашей сцене gameObjects, которые содержат другой компонент Audio Listener. В этом случае Unity представит предупреждающее сообщение о том, что в сцене присутствует более 1 Audio Listener. Если вы видите такое сообщение, то лучше всего решить эту проблему, отключив все, кроме одного Audio Listener ...
    Если вы работаете с 3D-игрой и / или хотите предоставить пользователю сложный стереозвук, вам, возможно, придется узнать о 3D-звуке. В таких играх 3D-позиция gameObject содержащего Audio Listener, становится важной, но не беспокойтесь об этом, если вы только начинаете работать со звуком в Fungus. Для 3D-эффектов Audio Listener похож на «электронное ухо», поэтому его местоположение определяет такие вещи, как громкость звука (расстояние от «уха») и стереобаланс слева и справа (какой «боковой» звук находится у «уха»). ") так далее.

    Unity Audio Source

    В Unity связь между аудиоклипом (музыкой / звуком), который мы хотим воспроизвести, и аудиослушателем в сцене является компонентом Unity Audio Source для gameObject. Тем не менее, в большинстве случаев Fungus создает один из них при необходимости, поэтому нам не нужно беспокоиться о них!
    Тем не менее, для сложного управления музыкой, звуком и речью в вашей игре есть возможность, чтобы Fungus мог детально контролировать Unity Audio Sources. Это компонент Audio Source который управляет тем, как и когда и какая часть аудиоклипа воспроизводится (и должен ли он воспроизводиться в цикле или нет), а также воспроизводится ли он или находится в режиме паузы, и при возобновлении должен продолжаться с того места, где было приостановлено или перезапущено. Громкость воспроизводимого клипа также может контролироваться свойствами Audio Source.
    Узнайте больше об аудио в Unity на странице Unity Manual Audio Page.

    Команда Control Audio

    Fungus Команды Audio охватывают все распространенные действия с музыкой и звуковыми эффектами. Для работы со звуком специалиста вам может понадобиться доступ к raw (и сложным) возможностям. Fungus Команда "Control Audio" позволяет Блокам Fungus взаимодействовать напрямую с компонентами Unity Audio Source в любом gameObject текущей сцене, поэтому мастера вашей звуковой команды могут делать то, что им нужно, с помощью инструментария Unity, и вы по-прежнему можете контролировать игру / зацикливание / громкость и т. д. аудио в этих сложных gameObjects.
    Команда Control Audio предлагает пять действий, которые могут быть переданы компонентам Unity Audio Source:

     
    управлять параметрами звука

    Мы узнаем об этом с помощью простого Unity gameObject Мы узнаем об этом с помощью простого игрового объекта Unity, который воспроизводит звук медведя(bear) два раза, сначала на полной громкости, а затем уменьшает громкость, прежде чем играть во второй раз, используя три Fungus команды «Control Audio». Сделайте следующее:
    1. (настройка) Если вы еще этого не сделали: создайте новую сцену, добавьте к ней Блок-схему Fungus и выберите Блок на Блок-схеме.
    2. Переименуйте этот Блок в "Control Audio".
    3. В окне Иерархии создайте новый Empty gameObject, выберите меню: Create | Create Empty:

      создать empty












  • Переименуйте этот новый empty gameObject "GameObject - bear sound" (или любое другое название звука, имеющее смысл в вашем проекте).
  • Найдите нужный файл аудиоклипа в окне Project, и (с выбранным "GameObject - bear sound"), перетащите ссылку на аудиоклип из окна Project в окно Inspector:
     

    переименовать empty

  • Компонент Audio Source теперь должен быть добавлен в окне Инспектор в «GameObject - Bear Sound». Снимите флажок Play On Awake в Инспекторе (чтобы не воспроизводить этот звук, как только начинается сцена - мы хотим контролировать этот объект Audio Source…):



    добавлен audio source 
  • Выбрав Блок Блок-схемы, нажмите кнопку Add Command и выберите меню: Audio | Control Audio.
     

    Команда Control Audio 
  • Перетащите gameObject "GameObject - bear sound" из окна Иерархии в свойство Audio Source окна Inspector, и установите флажок Wait Until Finished (чтобы Fungus дождался завершения воспроизведения звука, прежде чем двигаться дальше):
     

    перетащите gameobject













  • Обратите внимание, что по умолчанию действие Control для Control Audio Command в "Play Once" - мы оставим это свойство без изменений, так как мы хотим, чтобы наш звук медведя(bear) внутри нашего gameObject воспроизводился один раз.
  • Если вы запустите сцену сейчас, вы услышите, как звук медведя играет один раз на полной громкости.
  • Поскольку для всех трех команд Control Audio нам нужна ссылка на "GameObject - bear sound" самый быстрый рабочий процесс - дублирование каждой команды и просто изменение нужных нам битов. Поэтому дублируйте свою команду Control Audio, нажав кнопку Команда Duplicate:
     

    команда duplicate 

  • Во вновь скопированной команде измените действие Команды на Change Volume, и выберите громкость 0,25 (25%):



    установить громкость

  • Еще раз сделайте копию первой Команды Control Audio (которая воспроизводит звук). Перетащите эту новую команду, чтобы она была последней в последовательности команд.
     

    команда another play again 

  • Теперь, когда вы играете на сцене, сначала звук медведя, связанный с компонентом Audio Source в gameObject «GameObject - bear sound», должен воспроизводиться на полной громкости, затем (после уменьшения его громкости до 25%) он должен воспроизводиться второй раз при значительно уменьшенной громкости.

  • Теги Audio

    Поскольку часто авторы диалогов будут знать, какие звуковые эффекты или музыку они хотят связать с высказываниями своих персонажей, Fungus позволяет встроить звуковые «теги» в текст Команд Say. Существует четыре тега, связанных со звукомs:
    {audio=AudioObjectName} Воспроизвести один раз
    {audioloop=AudioObjectName} Зациклить Аудио
    {audiopause=AudioObjectName} Пауза Аудио
    {audiostop=AudioObjectName} Стоп Аудио
    
    Использование таких тегов делает важным аккуратное именование gameObjects в окне Hierarchy. Чтобы узнать, как управлять звуками в gameObjects, сделайте следующее:
    1. (настройка) Если вы еще этого не сделали: создайте новую сцену, добавьте к ней Блок-схему Fungus и выберите Блок на Блок-схеме.
    2. Переименуйте этот Блок в "Say audio tags".
    3. В окне иерархии создайте новый Empty gameObject, выберите в меню: Create | Create Empty:


      создать empty













  • Переименуйте новый empty gameObject в "audioBearRoar", или любое другое имя звука, которое имеет смысл в вашем проекте, но избегайте пробелов в имени этого игрового объекта.
  • Найдите нужный файл аудиоклипа в окне Project и (с выбранным «audioBearRoar») перетащите ссылку на аудиоклип из окна Project в окно Inspector.
  • Снимите флажок с свойства Play On Awake в окне Инспектора для компонента Audio Source (чтобы остановить воспроизведение этого звука, как только начинается сцена - мы хотим контролировать этот объект источника звука ...):
  • Выбрав Блок Блок-схемы, нажмите кнопку Add Command в окне Инспектора и выберите в меню: Narrative | Say. Введите следующее для свойства Story Text этой Команды Say "... and then the bear roared loudly {audio=audioBearRoar}":


    Say audio tag
  • Запустите свою сцену - звук медведя будет воспроизводиться после отображения текста:

    Say audio tag - output

  • Комментариев нет:

    Отправить комментарий

    Примечание. Отправлять комментарии могут только участники этого блога.