[Перевод] Работа с 3D-графикой и визуальными эффектами в Qt Design Studio
Чтобы водители получали приятные впечатления от вождения автомобиля, дизайнерам нужны современные инструменты, позволяющие создавать великолепные графические интерфейсы с минимальными затратами времени и сил. Qt Design Studio содержит все необходимые ресурсы для создания потрясающих пользовательских приложений. Они характеризуются современной 3D-графикой и работают с оптимальной производительностью на любой встраиваемой системе.
Современный автомобильный мир все больше склоняется к использованию 3D-графики для улучшения впечатлений от поездки. Мониторы кругового обзора, парковочные ассистенты и навигационные системы для дисплеев на лобовом стекле — вот лишь несколько примеров приложений, интенсивно использующих 3D-графику. Такие интеллектуальные системы помощи водителям (ADAS) используются все чаще, так как они расширяют возможности водителя в плане понимания ситуации благодаря реалистичному отображению автомобиля в окружающей обстановке в реальном времени. Во всех этих случаях «цифровой двойник» стал популярным способом визуализации состояния и работы автомобиля внутри него с помощью передовой 3D-графики.
Давайте вместе посмотрим, как 3D-графика становится частью пользовательских интерфейсов, которыми оснащается цифровая кабина современного автомобиля.
Навигационная система HUD (head-up displays) с 3D-оснащением
3D-дизайн и создание пользовательского интерфейса
Для начала 3D-модели создаются в инструментах производства 3D-контента, например в Blender, Maya или 3ds Max. 3D-модель автомобиля может содержать в себе анимацию включения и выключения фар, открытия и закрытия дверей и т.д. При использовании новейших графических средств и возможностей качество таких 3D-изображений становится может быть невероятно высоким — вплоть до того, что их становится трудно отличить от фотографии или видео реального объекта с высоким разрешением.
Но сами по себе такие 3D-изображения — это всего лишь изображения. Для полноценного использования в автомобиле они должны стать частью пользовательского интерфейса приложения, поведение которого взаимосвязано с другими функциями, сервисами и датчиками, связывающими визуальные образы с миром. Именно это и происходит в Qt Design Studio.
В Qt Design Studio каждый компонент 3D-модели может быть связан с данными, поступающими от датчиков автомобиля. Так, фары 3D-модели в пользовательском интерфейсе моего автомобиля загораются при включении фар реального автомобиля. Аналогичным образом могут открываться и закрываться двери. Поведение 3D-модели, отображаемой в пользовательском интерфейсе, теперь связано с работой реального автомобиля. В более сложном приложении ADAS мы видим 3D-модель автомобиля на дороге с другими 3D-рендеринговыми автомобилями в 3D-представлении, которое отражает реальную ситуацию с автомобилем.
Сцена опережения в ADAS
Qt Design Studio обеспечивает связь дизайна с реальным миром с помощью связывания данных. При этом пользовательский интерфейс приложения оживает на основе визуальных образов, полученных в ходе проектирования, и данных, поступающих от датчиков автомобиля.
Дизайн и разработка
Во время импорта графических 3D-ассетов в Qt Design Studio не теряется ни одна деталь, дизайн остается нетронутым и выглядит точно так же, как в инструменте создания 3D-контента.
В Qt Design Studio у технических художников есть все инструменты для преобразования визуального контента (дизайна, префабов, текстур, света) в реальное UI-приложение путем добавления к нему состояний, переходов и привязки свойств.
Все эти операции можно реализовать визуально, щелкая и перетаскивая свойства на модель, без написания кода. Однако полезно знать, что в каждый момент времени пользовательский интерфейс, создаваемый в Qt Design Studio, также автоматически преобразуется в QML-код. В любой момент пользователь может выбрать, как изменить пользовательский интерфейс — визуально или путем редактирования кода. Эти два представления синхронизируются в режиме реального времени, поэтому любое изменение, внесенное в одно представление, немедленно отражается в другом. Возможность работы с кодом открывает дорогу для разработчиков бэкенда, которые могут использовать тот же инструмент, что и дизайнеры, для работы над другими аспектами пользовательского интерфейса — интеграция данных и тестирование.
Такая возможность совместной работы дизайнеров и разработчиков над одним и тем же инструментом гарантирует не только сохранение привлекательного внешнего вида пользовательского интерфейса от стадии создания прототипа до развертывания, но и оптимизацию пользовательского опыта в бэкенде и его соответствие первоначальному замыслу UX-дизайнеров.
Создание «вау-фактора»
Мощная 3D-графика имеет множество важных применений в автомобилестроении и повышает престиж автомобильной марки. Qt Design Studio предлагает полную поддержку физически-ориентированного рендеринга (PBR) для совместимости со стандартными моделями материалов. Следование стандарту PBR существенно упрощает задачу импорта 3D-ассетов, поскольку гарантирует, что модель будет выглядеть в Qt Design Studio точно так же, как и в инструменте создания контента, без необходимости создавать собственные шейдеры для различных типов поверхностей. PBR также дает доступ к тысячам 3D-моделей, доступных в Интернете, которые можно использовать и настраивать в соответствии с потребностями пользовательского интерфейса. Но это еще не все.
Свет, тени и отражения очень важны для создания реалистичной 3D-сцены. Qt Design Studio предлагает несколько типов освещения, включая Image Based Lighing с картами HDR для фотореалистичного рендеринга. Кроме того, наличие Global Illumination позволяет моделировать непрямое освещение и делать сцену еще более реалистичной.
Эффекты постобработки придают 3D-модели и сценам завершенность. Qt Design Studio предлагает на выбор 21 эффект постобработки, а в следующих версиях их будет еще больше. Размытие, глубина резкости, сглаживание, тональное отображение — лишь некоторые из доступных эффектов (3D Effects | Qt Design Studio Manual 3.8.0). Эффекты постобработки можно легко добавить с помощью перетаскивания, чтобы сделать 3D-сцену более иммерсивной и придать всему пользовательскому интерфейсу кинематографический оттенок.
Наконец, эффекты частиц подходят для создания анимации, имитирующей потоки жидкости и воздуха внутри и снаружи автомобиля. Частицы можно использовать для создания потрясающих анимаций, включающих морфинг, искры, пыль и дым. Внешние погодные условия, которые могут негативно повлиять на управление автомобилем (дождь, ветер или снег) также можно представить с помощью эффектов частиц.
Qt Design Studio оптимизирована для создания эффектов частиц во встраиваемых средах, где вычислительная мощность может быть ограничена, как, например, в устройствах, используемых в автомобилях.
Популярной операционной системой, которая используется в различных встроенных системах, в том числе автомобилях, является Аврора. На открытом уроке 13 ноября познакомимся с этой ОС и возможностями разработки под нее. В качестве примера будет продемонстрировано приложение, отправляющее уведомление в графическую подсистему Lipstick. Записаться на бесплатный урок можно на странице курса «Разработка прикладного ПО на Qt и ОС Аврора».