Тип QML FileInstancing
Позволяет читать таблицы экземпляров из файла. Подробнее...
| Заявление об импорте: | import QtQuick3D |
| С момента: | Qt 6.2 |
| Наследует: |
Свойства
- source : url
Подробное описание
Тип FileInstancing позволяет читать таблицы экземпляров из файлов.
Поддерживаются два формата файлов: XML и специальный двоичный формат Qt. Двоичный формат файла использует ту же структуру, что и таблица, загружаемая на GPU, поэтому он может быть напрямую сопоставлен с памятью. Инструмент instancer преобразует XML в двоичный формат.
Это пример формата XML-файла:
<?xml version="1.0" encoding="UTF-8" ?> <InstanceTable> <Instance position="0 200 0" scale="0.75 0.75 0.75" custom="20 20" color="#ffcf7f"/> <Instance position="0 -100 0" scale="0.5 0.5 0.5" color="red"/> <Instance position="0 -200 0" eulerRotation="0 0 60" color="darkred" custom="10 40 0 0"/> </InstanceTable>
Для корректности XML-файл должен содержать корневой элемент InstanceTable. Каждый экземпляр представлен элементом Instance внутри InstanceTable. Неизвестные элементы игнорируются.
Элемент Instance может иметь ряд атрибутов. color атрибуты задаются стандартными именами цветов Qt SVG или в шестнадцатеричном формате. vector3d и {vector4d} атрибуты задаются строкой, содержащей числа, разделённые пробелами, при этом отсутствующие числа в конце считаются нулями. Поддерживаются следующие атрибуты:
| Имя | Тип |
|---|---|
position |
vector3d |
scale |
vector3d |
eulerRotation |
vector3d |
quaternion |
vector4d |
custom |
vector4d |
color |
color |
Неизвестные атрибуты игнорируются.
Документация свойств
source : url
Это свойство содержит расположение XML или двоичного файла, содержащего данные экземпляров.
Если имя файла имеет расширение ".bin", оно предполагается как двоичный файл. В противном случае предполагается XML-файл. Если указан XML-файл foo.xml, и существует файл foo.xml.bin, будет загружен двоичный файл foo.xml.bin.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtquick3d-fileinstancing.html