Tutorials

Основы аудио

Танк движется вокруг робота. Вы можете стрелять, щелкнув в любом месте игры.

Источники звука и слушатели

В этом уроке мы разместили робота в центре сцены с танком, вращающимся вокруг робота. Звук, исходящий от двигателя танка, слышен относительно ушей робота. Поскольку танк движется вокруг робота, мы слышим, как звук смещается с позиции слева на заднюю, справа на переднюю.

Основная аудиосистема в PlayCanvas основана на двух типах компонентов.

Компонент Sound воспроизводит аудио-ассеты, такие как файлы Wave, MP3 или Ogg Vorbis. Представьте компоненты звука как громкоговорители на сцене. В сцене может быть много компонентов звука, каждый из которых воспроизводит несколько звуков.

Каждый компонент звука состоит из нескольких слотов. Каждый слот имеет имя и определяет конкретный звук для воспроизведения. Вы можете иметь несколько слотов на компоненте звука, каждый из которых воспроизводится независимо от других.

Компонент AudioListener определяет, как слышен звук. Представьте компоненты AudioListener как микрофон на сцене. В любой момент времени может быть активен только один AudioListener.

Настройка сцены

Вы должны посмотреть Hierarchy этого урока самостоятельно в редакторе. Вот основные объекты на сцене:

Playbot

Наш робот. У него есть компонент AudioListener, поэтому весь звук будет слышен относительно положения робота.

Rotator

Объект, используемый для вращения танка. У него есть компонент Script с сценарием, который вращает объект вокруг оси Y с постоянной скоростью.

Tank

Наш танк. Он является дочерним объектом Rotator, таким образом, он вращается вместе с ним. У него есть компонент звука с 2 слотами:

Слот "engine" отвечает за воспроизведение зацикленного звука двигателя танка. Он установлен на автоматическое воспроизведение сразу после загрузки сцены.

Другой слот - это слот "shoot". Этот слот воспроизводится сценарием каждый раз, когда мы нажимаем на холст, чтобы сделать выстрел из башни танка. Флажок Overlap установлен в true для этого слота, что означает, что мы можем стрелять несколько раз, и каждый раз будет создан новый звук, а не использоваться один и тот же звук, который перезапускается каждый раз.

У танка также есть компонент Script, который обрабатывает пользовательский ввод для стрельбы из его башни, а также обрабатывает воспроизведение звука выстрела и другие эффекты, такие как простая анимация и система частиц.

Создание источников звука

Чтобы создать источник звука, выберите объект, к которому вы хотите добавить звук, и выберите New Component из меню Entity. Выберите sound из списка компонентов и нажмите кнопку Add.

Свойства звука теперь появятся в AttributeEditor.

Sound Component

Вот компонент звука объекта танка. Вот некоторая информация о некоторых свойствах:

Positional

Если этот флажок установлен, это означает, что звук будет слышен относительно положения текущего AudioListener (нашего робота) в 3D-пространстве. Если этот флажок снят, то звук будет слышен в 2D обоими динамиками.

Asset

Каждый слот имеет средство выбора ассетов, которое позволяет воспроизводить разные аудио-ассеты из разных слотов. См. importing assets для получения информации о том, как загружать аудио-ассеты.

Не все аудиоформаты поддерживаются всеми браузерами. В настоящее время мы рекомендуем использовать MP3 (.mp3), который поддерживается большинством браузеров.

После загрузки ваших ассетов используйте Asset Picker для выбора аудио-ассета для вашего слота.

Auto Play

Если вы хотите, чтобы слот начал воспроизведение сразу после загрузки сцены, установите значение true. В противном случае установите значение false и воспроизведите слот с помощью сценария.

Overlap

Если этот флажок снят, то слот будет воспроизводить свой звук с начала каждый раз, когда вы воспроизводите его в сценарии. Если это не имеет значения для вас, например, если вы воспроизводите фоновую музыку или звук, который не нужно повторять, оставьте этот флажок снятым.

Однако, если вы хотите воспроизводить звук многократно без остановки каждый раз при повторном воспроизведении, установите значение true. В этом учебнике наш звук выстрела настроен на перекрытие.

Цикл

По умолчанию аудио-сэмпл будет воспроизведен один раз, а затем остановится. Если вы хотите, чтобы звук зацикливался непрерывно, например, для фоновой музыки, вы можете установить флажок Loop. В нашем примере звук двигателя зациклен, но звук выстрела - нет.

Создание слушателей

Чтобы создать AudioListener, выберите Entity, которое вы хотите представить в качестве слушателя. Часто это будет игровая камера, так как это место, где находится "голова" игрока. В нашем случае AudioListener прикреплен к роботу.

Вы можете иметь только один AudioListener за раз. Последний созданный компонент AudioListener будет активным.
This site is translated by the community. If you want to get involved visit this page