Интерактивная 3D-демонстрация игры роботизированной рукой на пианино
Интерактивная браузерная 3D-демонстрация игры пятиfingerной роботизированной рукой на 25-клавишном мини-пианино: с причинно связанными касаниями пальцев, движением клавиш, планированием по MIDI, звуком, видами с разных камер и диагностикой исполнения.
Отправная точка на основе публичного проекта автора, а не дословный оригинальный промпт. Ваш результат может отличаться.
Заметки автора
Создайте интерактивный 3D-демонстратор пианино на Three.js и TypeScript с сочленённой роботизированной рукой, клавишами и звуком, управляемыми контактом, поддержкой MIDI, элементами управления воспроизведением, несколькими камерами и диагностикой тайминга.
Создайте полноценную браузерную демонстрацию игры детализированной пятиfingerной роботизированной рукой на мини-пианино. Видимое движение пальцев, физический ход клавиш, генерируемые ноты и музыкальный тайминг должны быть причинно связаны. В пределах временного лимита оценивания создайте визуально проработанное интерактивное приложение.
1. СЦЕНАРИЙ: Используйте полноэкранную 3D-сцену с точно смоделированной роботизированной рукой, сочленёнными пальцами, видимыми механизмами запястья и клавиатурой из 25 клавиш, охватывающей ноты MIDI от 60 до 84. Покажите реалистичную геометрию чёрных и белых клавиш, независимое движение клавиш, накладки на кончиках пальцев и качественно настроенные материалы. Добавьте камеры с верхнего ракурса, со стороны исполнителя и для крупных планов кончиков пальцев. Синхронизированный звук должен включаться после активации воспроизведения пользователем.
2. ЕДИНЫЙ МУЗЫКАЛЬНЫЙ ВХОД: Используйте номера нот MIDI как источник истины. При темпе 96 BPM воспроизведите следующие события в формате (начало в долях, нота, длительность в долях): (0,60,0.4), (0.5,64,0.4), (1,67,0.4), (1.5,64,0.4), (2,62,0.4), (2.5,65,0.4), (3,69,0.4), (3.5,65,0.4), (4,60,0.4), (4.5,60,0.4), (5,60,1), (5,64,1), (5,67,1). Последние три события образуют одновременный аккорд. Также поддержите импорт стандартных MIDI-файлов с помощью проверенного парсера.
3. УПРАВЛЕНИЕ РУКОЙ: Смоделируйте независимо сочленённые пальцы и подвижное запястье. Спланируйте назначение пальцев, движения к клавишам, нажатия, удержания, отпускания, артикуляцию повторяющихся нот и исполнение аккорда. Пальцы должны касаться правильных клавиш, не пересекать соседние клавиши и не совершать неправдоподобных скачков. Используйте обратную кинематику и ограничения сочленений. Отображайте запланированные назначения пальцев и обеспечьте возможность вручную просматривать отдельные движения.
4. ПРИЧИННАЯ СВЯЗЬ СО ЗВУКОМ: Создавайте события note-on только в момент, когда соответствующая видимая клавиша пересекает документированный порог нажатия из-за контакта с пальцем. При отпускании создавайте note-off; используйте гистерезис, чтобы предотвратить дребезг. События MIDI являются целями планирования, а не независимой дорожкой воспроизведения звука. Допустим геометрический механизм клавиш, управляемый контактом, если это явно указано; также можно использовать полноценную динамику контакта. Клавиши не должны двигаться только потому, что запланировано событие MIDI.
5. ТАЙМИНГ: Используйте единые музыкальные часы и фиксируйте время фактических срабатываний клавиш относительно целевых событий. Учитывайте планирование звука и время отрисовки. Добавьте настройки темпа и транспонирования, кнопки воспроизведения, паузы, перезапуска и зацикливания, а также просмотр в замедленном режиме. При паузе или перезапуске активные ноты должны корректно отпускаться. Замедление воспроизведения не должно нарушать синхронизацию пальцев, клавиш и звука.
6. ДИАГНОСТИКА: Отображайте целевые ноты, запланированные пальцы, фактически сыгранные ноты и ошибки момента начала на единой временной шкале. Сообщайте о пропущенных и лишних нотах, неверной высоте, сбоях при повторении нот и зависших нотах. Добавьте накладку для проверки контактов, показывающую, какой кончик пальца нажимает каждую клавишу. Фиксируйте данные, позволяющие отличить успешное планирование от приблизительной анимации руки.
7. ПРОВЕРКА: Отдельно оценивайте мелодию, повторяющиеся ноты и финальный аккорд. Стремитесь к отсутствию неверных и пропущенных нот, ошибке момента начала ниже 50 мс для 95-го процентиля и разбросу моментов начала нот финального аккорда менее 50 мс. Сообщайте фактические измерения, даже если целевые показатели не достигнуты. Добавьте тест, отключающий приведение пальцев в движение: оценка может продолжать отсчитываться, но ненажатые клавиши не должны генерировать ноты.
8. ПОСТАВКА: Используйте Three.js, TypeScript, подходящие аудио API и проверенные библиотеки для парсинга или численных вычислений. Предоставьте работающее приложение, исходный код, воспроизводимый музыкальный набор данных, ассеты или скрипты их генерации и инструкции по запуску. Проверьте работу звука в браузере, элементы управления, виды с камер, отображение на компьютерах и мобильных устройствах, а также повторное воспроизведение. Все отображаемые заявления о производительности должны основываться на измеренных результатах.
Как использовать этот промпт
01
Начните с подходящего инструмента
Откройте привычного помощника для программирования или 3D-инструмент. Попробуйте модель, указанную в примере, и изучите инструкции по настройке в связанных проектах.
02
Выберите одно изменение
Замените объект, художественный стиль или окружение. Чётко опишите камеру и взаимодействие. Сначала создайте небольшую версию, затем улучшайте по одной детали.
03
Добавьте собственные объекты в сцену
Для своего персонажа или реквизита создайте 3D-модель по короткому описанию предмета или референсу, затем импортируйте её в проект.
Права на превью принадлежат соответствующим авторам. Перед повторным использованием кода или материалов проверьте первоисточник и лицензию проекта.