урок по созданию визуализатора звука в Unity3D [MAC]

Всё описанное ниже, предназначено для пользователей Mac.

Часть I. Подготовка аудио для OSC

OSC будет использоваться для преобразования музыки в значения, которые будут подаваться в качестве входных данных для визуализатора.
1) Скачайте и установите Soundflower:
Он перенаправляет аудио входы и выходы – идеально подходит для поставленной задачи.
2) Теперь будем использовать выход компьютера в качестве входных данных.
 Зайдите в параметры системы (System Preferences) в настройки звука (Sound). На вкладке Output выберите  Soundflower (2ch) (смотрите фото)

3) Скачайте и установите демо-версию VDMX:
Демо-версия не позволит сохранять файлы, но для нашего проекта это и не нужно.
4) Скачайте файл с примером с github:
Прямая ссылка на zip-файл:
5) Откройте файл .vdmx5 с помощью VDMX. Используйте другие файлы, если у вас более старая версия …


6) Попытайтесь проиграть музыку в любом приложении (Spotify, iTunes и т.д.). Вы должны увидеть волны на вкладке Audio Analysis 1.
7) Зайдите в настройки и убедитесь, что там задан порт OSC, как показано на фото ниже.


Всё – настройка звука закончена. Теперь можно повозиться с VDMX, но и этого уже достаточно для получения интересных видеообразов.

Часть II. Приложение

1) Если Вы ещё не сделали этого ранее, скачайте бесплатную версию Unity:
В Pro-версии есть вещи, которые были бы полезны – настройка глубины резкости и различные эффекты. Но без всего этого можно обойтись.
2) Откройте на github папку, которую уже использовали ранее
3) Откройте файл ExampleOscApp/Assets/Scene1.unity. Должна запуститься среда Unity3D с открытой первой сценой
4) В окне иерархии (Hierarchy) Вы видите список объектов, использующихся в сцене. К каждому объекту можно добавить скрипт.
Camera. С этой точки будет видно происходящее в приложении.

Компоненты GUILayer, Flare Layer и Audio Listener автоматически добавляются к каждой камере. Пока не думайте о них.
Скрипт Rotate Around вращает камеру вокруг своего центра, а также движется вверх-вниз в соответствии с синусоидой.
Capsule, Cube, Cylinder и Sphere – это трёхмерные объекты на сцене. Будем масштабировать их под музыку.
Скрипт ScaleObject. Всего 2 строчки кода, и объекты будут изменять свой размер под музыку! Переменная oscChannel – это число от 0 до3, соответсвующее значению из VDMX: 0 – это басы, 1 и 2 – средние частоты, 3 – высокие частоты.

Point light – это просто источник освещения, придающий трёхмерным объектам глубину. OSCStuff соединяет выход OSC из VDMX с Unity.
Обратите внимание, что IP и порты соответствуют тем, что были заданы в VDMX.
Весь программный код можно найти на форуме:
5) Попробуйте запустить сцену, нажав кнопку Play.Объекты начнут подпрыгивать под музыку!


Часть III.Вперёд и вверх

1) После того, как Вы разберётесь со структурой проекта в Unity, можно будет переходить к созданию второй сцены.
2) Эта сцена – точная копия сцены, которая была создана для фестиваля Sonar. Она даёт интересные результаты, и её очень просто сделать.
3) В этой сцене появляется несколько новых вещей:

  • Keyboard Manager (менеджер клавиатуры): этот класс используется для того, чтобы задать нажатию клавиш разные функции
  • Несколько камер. В процессе воспроизведения можно переключаться между камерами посредством менеджера клавиатуры.
  • Дублирование объектов.
  • Физика: к каждой сфере добавляется компонент rigidbody. Теперь сферы смогут сталкиваться друг с другом.
  • Смена материалов прямо в процессе воспроизведения. Если нажать одну из клавиш J, K, L и клавишу «;» во время воспроизведения, то сфера изменит свой цвет. Это поведение настраивается в менеджере клавиатуры, а код содержится в классе AttractionObject.

4) Во время воспроизведения сцены, перейдите в VDMX и поиграйтесь с его значениями. Это отличный способ влиять на видеообразы.


Ниже Вы видите неколько фото с фестиваля Sonar:

Яндекс.Метрика Copyright by www.Malbred.com 2005