Начало. Благодарности.
00:00:00Визуализатор фортепиано с MIDI‑управлением: цены, характеристики, материалы, эмиссия Создайте простую аудиовизуальную установку, которая сопоставит игру на MIDI-пианино с анимированными клавишами и освещением. Используйте модель фортепиано в долларах США, подключите Network для MIDI, а затем выполните рендеринг в Unreal с акцентом на материалы и эмиссию. Временные коды обеспечивают быструю навигацию; благодарность сторонникам предшествует непосредственному переходу к работе.
Импортируйте USD Piano, масштабируйте и распаковывайте в полигоны Создайте геометрический контейнер, импортируйте USD piano и примените преобразование, чтобы уменьшить его примерно в 100 раз. Распакуйте USD в полигоны, игнорируя предупреждения о встроенных материалах, поскольку пользовательские будут назначены позже. Это создает чистую полигональную основу для последующей обработки.
Разделение геометрии фортепиано с помощью атрибута Path Используйте атрибут primitive path, чтобы отделить клавиши от остальной части пианино. Подстановочные выражения изолируют все, чей путь содержит соответствующую подстроку, направляя ключи в один поток, а все остальное - в другой. Создайте удобные выходные данные для клавиш и корпуса пианино, чтобы поддерживать порядок в сети.
Изолируйте наборы черных и белых клавиш Примените еще одно разделение для извлечения черных клавиш с помощью фильтра путей, учитывающего регистр, и отправьте все оставшиеся ключи в белый поток. Создайте помеченные выходные данные для черных и белых клавиш для поддержки целевых операций. Это подготовит сцену для атрибутов и анимации для каждой клавиши.
Очистите сетки и проверьте правильность одного примитива для каждого ключа При соединении обнаруживаются отдельные детали, например, отдельные задние стенки для каждой клавиши, поэтому Fuse используется для соединения повторяющихся точек без нарушения формы. После соединения Connectivity by primitive правильно помечает каждую клавишу как отдельный островок. Проверка электронной таблицы подтверждает, что 52 белые и 36 черных клавиши, всего 88, соответствуют классическому фортепиано.
Индексные клавиши слева направо от 1 до 88 Упакуйте клавиши с помощью Assemble, отсортируйте полученные точки по Z и измените порядок так, чтобы крайняя левая клавиша была первой. Создайте целочисленный атрибут для каждой клавиши, представляющий индекс музыкальной ноты, и проверьте его визуально с помощью цветовой шкалы. Измените диапазон с 0-87 на 1-88 с помощью компактного изменения, которое добавляет единицу к каждому значению.
Загружайте MIDI в CHOPs и определяйте диапазон нот Внутри сети CHOP добавьте узел In и загрузите MIDI-файл, который выполняет арпеджирование всех 88 клавиш от низшей A до высшей C. Ограничьте обработку до канала 1 и ноты до 21-108, стандартного диапазона для MIDI-фортепиано. Затем в режиме Motion FX отображается по одному каналу на каждую ноту с течением времени.
Уменьшите громкость CC и переименуйте каналы заметок Удалите канал CC7 (громкость), поскольку управление амплитудой не требуется для управления анимацией. Переименуйте все оставшиеся каналы в единый шаблон, примечание с 1 по 88, для прямого соответствия атрибуту для каждой клавиши. Переведите очищенные, переименованные каналы в выходные данные CHOP для последующего использования.
Преобразование ключа привода с помощью выражений CHOP Используйте свойства Primitive, чтобы установить значение поворота для каждой клавиши в соответствии с центроидом каждой клавиши и считывать значения CHOP с помощью выражения chf. Переведите Y для каждой клавиши, указав канал с номером ноты в текущем кадре. Установите двоичный сигнал 0-1 на небольшое отрицательное смещение, чтобы клавиши заметно нажимались.
Плавные бинарные триггеры с отключением огибающей Переходы при включении / выключении raw note создают резкие нажатия клавиш, поэтому при нажатии на огибающую шаги преобразуются в плавные изгибы. Отрегулируйте ширину и временное смещение, чтобы придать форму времени нажатия и отпускания без чрезмерной задержки. Клавиши теперь нажимаются и возвращаются плавно, сохраняя при этом чувствительность.
Переключитесь на режим VEX для более точного управления Замените примитивные свойства на wrangle, который считывает данные CHOP напрямую с помощью функции chop. Создайте имя канала для каждого ключа с помощью sprintf("Примечание %d", @note), затем выполните выборку в @Frame, используя op: path для вывода CHOP. Сохраните это значение и вычтите установленную величину из P.y, чтобы нажимать клавиши, затем включите MP3 для предварительного просмотра аудио, увеличьте временную шкалу до 1666 кадров и протестируйте.
Проверьте синхронизацию длинных форм с помощью Flipbook Просмотрите фрагмент и весь диапазон, чтобы убедиться, что визуальные нажатия клавиш соответствуют звуку во всей последовательности. Заметных отклонений не наблюдается, поэтому повторная синхронизация не требуется. Чтобы быть уверенным в правильности выбора времени, удалите предыдущий узел свойств примитива и продолжайте.
Подготовьте активы для рабочего процесса Unreal и Emission Планируйте выполнять рендеринг в Unreal для повышения скорости, поэтому стандартизируйте атрибуты, названия и фоновую сцену. Убедитесь, что сигнал излучения распространяется вместе с сеткой, чтобы нажатые клавиши могли светиться. Начните создавать отдельную сеть для чистого экспорта.
Закодируйте излучение в цвет вершины и окончательно определите названия Распакуйте клавиши и запишите значение излучения для каждой клавиши в красный канал Cd для свечения на основе вершинного цвета в Unreal. Удалите посторонние атрибуты, оставив только название, и задайте имена для корпуса пианино и групп клавиш. Повторите разбиение, чтобы выделить черное и белое, добавьте нормали, чтобы исправить затенение, и подтвердите иерархию с помощью компоновщика материалов.
Последовательность поставок строительных материалов и экспорта в долларах США Создайте библиотеку материалов с помощью конструкторов для черных клавиш, белых клавиш, красного корпуса пианино и матовой комнаты, регулируя блеск и зеркальность по мере необходимости. При желании увеличьте глубину нажатия клавиш, изменив шкалу регулировки. Экспортируйте с помощью ROP в долларах США по всему диапазону кадров, используя плоскую сцену и опцию однокадровой памяти при ограниченных ресурсах.
Включите плагины Unreal и импортируйте доллары США Активируйте импортер USD и очередь рендеринга роликов, перезапустите и перетащите анимацию USD в проект. Просмотрите диалоговое окно импорта, отключите ненужные элементы, такие как аудио или грум, и подтвердите списки геометрии и материалов. Разместите пианино и комнату на уровне, сбросьте преобразования и удалите небо и помощников по умолчанию.
Добавьте основных актеров, последовательность действий и кадрирование камерой Добавьте точечный свет, туман с экспоненциальной высотой, камеру и объем после обработки, затем создайте последовательность уровней. Распределите актеров по папкам, расположите камеру и переключитесь в режим просмотра фильма. Используйте отслеживающий фокус, направленный на пианино, чтобы фокус оставался зафиксированным во время движений.
Ручная экспозиция и треугольник Затвор–ISO–диафрагма Установите ручное управление экспозицией, чтобы предотвратить мерцание при автоматической экспозиции. Используйте выдержку в 48 раз и ISO около 1600, используя ISO как множитель яркости, без проблем с шумом датчика. Управляйте глубиной резкости с помощью диафрагмы, настраивая ее здесь или с помощью секвенсора при последующей анимации.
Подвижные светильники с объемной атмосферой Убедитесь, что фары и противотуманные фары перемещаются, включите объемный туман и увеличьте плотность тумана для получения видимых лучей. Уменьшите направленный свет, затем настройте пятно: интенсивность, угол внешнего конуса и малый радиус источника для получения более мягких теней. Увеличьте объемное рассеяние, улучшите разрешение теней и слегка коснитесь теней.
Насыщенный цвет для подчеркивания мелирования Отметьте громкость после обработки как несвязанную, чтобы она влияла на уровень в целом. Включите Blow и настройте его интенсивность по вкусу. Это впоследствии усилит свечение клавиш.
Пользовательский эмиссионный Мастер, использующий цвет вершины Дублируйте встроенную поверхность предварительного просмотра USD в пользовательский родительский элемент, поддерживающий эмиссионное управление. Переключите экземпляр материала white keys на этот родительский элемент и откройте материал для перепрошивки. Разорвите связь с базовым цветом, считайте красный канал цвета вершины, умножьте его на вектор цвета и скалярный параметр и введите излучающий цвет; укажите оба параметра в группе излучений.
Установите внешний вид выбросов и проверьте кэш геометрии В примере material выберите теплый желто–оранжевый цвет и установите высокую интенсивность излучения. Добавьте в секвенсор дорожку Geometry Cache, установите диапазон кадров 0-1665 и выполните скраб для подтверждения нажатия и свечения. Клавиши загораются точно при нажатии.
Анимируйте перемещения камеры, смещение фокуса и изменение освещенности Зафиксируйте в кадре плавное нажатие на открывающуюся камеру и измените интенсивность освещения от нулевой до целевой. Дублируйте изображение второй камерой для съемки крупным планом, отрегулируйте фокусное расстояние и измените отслеживаемое расстояние фокусировки от пианино до клавиш. Переключайте камеры на дорожке секвенсора и преобразуйте замедление в линейное там, где требуется постоянная скорость.
Рендеринг с помощью очереди рендеринга фильмов с расширенной выборкой Настройте вывод EXR, оставьте путь по умолчанию и включите консольную переменную r.ScreenPercentage = 150 для суперсэмплирования. Используйте временные выборки около 16 и включите переопределение кинематографического качества. Запустите локальный рендеринг и следите за артефактами.
Устраните артефакты цветения и завершите работу в Post При обнаружении темных прямоугольных артефактов, связанных с Блумом, взаимодействующим с нормалями или материалами, отключите Блум в процессе постобработки, чтобы устранить их. Повторите визуализацию последовательности в чистом виде. Быстро смонтируйте в постобработке, добавив свечение, зернистость и легкую цветокоррекцию.
Подведение итогов, обратная связь и доступ к проекту В результате получается синхронизированная анимация клавиш и свечение, управляемое непосредственно MIDI. Спасибо за просмотр, обратную связь, поддержку и подписки на различные каналы, а файлы проекта доступны на Boosty, включая бесплатный уровень, позволяющий следить за обновлениями. В заключение выражаем признательность и подписываемся.