Оптимизация 3D-активов
В Qt Quick 3D можно импортировать 3D-модели и сцены, созданные с помощью инструментов 3D-моделирования. Чтобы ознакомиться с поддерживаемыми форматами файлов, см. документацию по инструменту Balsam.
Обзор 3D-контента
В этом разделе вы найдете обзор создания и экспорта 3D-активов для использования в Qt Quick 3D. Более подробную информацию см. в разделе для конкретного инструмента 3D-моделирования, который вы используете.
Геометрия
- Использование треугольников Qt Quick 3D поддерживает только геометрию, экспортированную в виде треугольников. Многие инструменты 3D-моделирования предоставляют возможность триангулировать сетки во время экспорта, в то время как в некоторых инструментах это необходимо сделать вручную перед экспортом. Если модели не триангулированы при экспорте, они будут триангулированы при импорте, что может привести к менее оптимальным результатам. Если модели экспортируются с использованием примитивов, которые нельзя триангулировать, эти примитивы будут проигнорированы при импорте.
- Обработка точек вращения Каждый инструмент DCC (Digital Content Creation) обрабатывает точки вращения по-разному. В Qt Quick 3D для каждого объекта существует только одна точка вращения, которая используется в качестве начала отсчёта для операций позиционирования, масштабирования и поворота. В вашем инструменте DCC вы можете по необходимости изменять положение точки вращения 3D-модели. Однако чрезмерные изменения точек вращения в инструментах 3D-моделирования могут вызвать проблемы при импорте, особенно если модели анимированы. Это различие часто проявляется как разница в положении или ориентации объекта. Как художник, вы можете предотвратить такие проблемы, выполняя только простые изменения в точках вращения. Сохраняйте точки вращения в соответствии с настройками по умолчанию (мировая система координат), не масштабируйте их и убедитесь, что если у вас есть несколько точек вращения (например, в Maya), они находятся в одной точке пространства.
- Преобразование Как и ожидается, вы можете импортировать полную информацию о преобразовании 3D-объектов, включая положение, поворот, масштаб и точку вращения. Qt Quick 3D может обрабатывать правосторонние системы координат, Y-вверх и поворот на основе кватернионов. Основным ограничением в этой области являются точки вращения. Как обсуждалось выше, поддерживаются только простые изменения точек вращения.
Большинство инструментов DCC позволяют художникам замораживать преобразования, и мы настоятельно рекомендуем выполнить эту операцию перед импортом данных мешей в Qt Quick 3D. Эта операция гарантирует, что импортированная сетка имеет чистые данные преобразования и не содержит произвольных значений преобразования, которые могут быть неясными или препятствовать вашей работе.
Примечание: После заморозки преобразований вам может потребоваться изменить положение точки вращения в некоторых инструментах DCC.
Анимации
Анимации поддерживаются для импортируемых атрибутов. Положение, поворот, масштаб и точка вращения могут быть анимированы. Примером нашей продвинутой поддержки анимаций является иерархия элементов, одновременно вращающихся вокруг произвольной оси.
- Анимации, основанные на времени По умолчанию во многих инструментах 3D-моделирования, когда вы создаёте ключевые кадры, вы связываете их с определёнными номерами кадров. Это отлично подходит для киноиндустрии, где частота кадров постоянна, но этот метод неизбежно сталкивается с проблемами в приложениях, где частота кадров может быть нестабильной. Нашим решением этой проблемы является выражение координат ключевых кадров в значениях времени вместо номеров кадров. Таким образом, если вы говорите «анимация логотипа длится 3 секунды», мы можем гарантировать, что она длится 3 секунды. Если вы выражаете это в кадрах, «анимация логотипа длится 180 кадров», она может длиться 3 секунды, если у вас 60 кадров в секунду, но если частота кадров уменьшится до 30 кадров в секунду, анимация будет значительно медленнее.
К счастью, учёт этого относительно прост. Многие инструменты 3D-моделирования по умолчанию используют 24 кадра в секунду, поэтому ваши ключевые кадры переводятся в этом соотношении. Если вы хотите ключевой кадр через 1 секунду, поместите его на кадр 24. Через 2 секунды? Кадр 48 и так далее. Обычно предлагаются настраиваемые частоты кадров, и значение частоты кадров должно быть учтено при импорте. Также стоит отметить, что, например, Maya по умолчанию начинает с кадра один. Если у вас есть ключевой кадр на кадре один, время этого ключевого кадра составляет 1/24 или 0,041 секунды. Возможно, было бы целесообразно перейти в настройки анимации Maya и начать анимации с кадра 0 или 0/24 = 0 секунд.
- Разные системы анимации Инструменты 3D-моделирования предлагают высокосложные и специализированные системы анимации. Мы рекомендуем использовать возможности анимации Qt Quick 3D всякий раз, когда это практично. Это помогает поддерживать чистую информацию о сетке при импорте.
- Пропечка анимаций Все анимации должны быть пропечены перед экспортом.
Материалы
Для материалов импортируются идентификаторы слотов материалов и макеты UV.
- Текстуры Импортируются изображения, применённые к различным идентификаторам материалов. Мы рекомендуем использовать
.pngили сжатые форматы изображений. - Использование размеров текстур, кратных степени двойки Как и в большинстве графических систем реального времени, текстурные карты оптимально работают, когда их размеры в пикселях являются степенью двойки. Подробную информацию о размерах изображений см. в разделе размеры изображений.
Освещение и камеры
Можно импортировать источники света и камеры.
- Источники света Импортируются направленные, точечные и прожекторные источники света с такими свойствами, как положение, поворот, цвет света и коэффициенты затухания.
- Камеры Можно импортировать перспективные и ортогональные камеры. Импортируются свойства положения и поворота, а также начальное и конечное значения отсечения. Для перспективных камер также импортируется поле зрения.
Прочее
- Преобразование осей Qt Quick 3D использует систему координат Y-вверх, убедитесь, что
Up Axisустановлено вY. - Иерархия Qt Quick 3D поддерживает импорт иерархической информации. Поддерживаются иерархии произвольной глубины, включая сгруппированные узлы. Иерархические преобразования применяются в соответствии с ожиданиями.
Экспорт из разных инструментов
| Инструмент |
|---|
| Maya |
| Blender |
| 3D Studio Max |
| Modo |
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/quick3d-asset-conditioning-3d-assets.html