Пример структурных метаданных glTF
Contents
[
Hide
]
Чтение структурных метаданных из файлов glTF
Этот пример демонстрирует, как читать структурные метаданные из файла glTF, содержащего расширение EXT_structural_metadata, с помощью API Aspose.3D.
Объяснение кода
Следующий код на C# загружает сцену glTF с структурными метаданными, затем считывает и отображает информацию о таблицах свойств и их свойствах:
// Загрузка сцены glTF с EXT_structural_metadata из файла
var scene = Scene.FromFile("ComplexType.gltf");
// Загрузка структурных метаданных из сцены
var metadata = StructuralMetadata.From(scene);
Console.WriteLine("Вывод структурных метаданных из входного файла glTF:");
// Итерация по всем таблицам свойств в метаданных
foreach (var propTable in metadata.PropertyTables)
{
// Получение метакласса таблицы свойств
Console.WriteLine($"Таблица свойств {propTable.Name}, имя типа : {propTable.MetaClass.Name}");
// Итерация по всем свойствам, определенным в метаклассе
foreach (var propertyDefinition in propTable.MetaClass.Properties)
{
// Получение данных свойства, определенных в EXT_structural_metadata
object property = propTable.Values[propertyDefinition.Name];
// Вывод имени свойства, типа и значения
Console.WriteLine($"{propertyDefinition.Name} : {propertyDefinition.Type} = {property}");
}
}
Ключевые понятия
Структурные метаданные
- Класс
StructuralMetadata
предоставляет доступ к метаданным, определенным в расширении EXT_structural_metadata - Это расширение позволяет хранить семантическую информацию о 3D-объектах
- Метаданные могут включать таблицы свойств, которые определяют атрибуты для объектов в сцене
Таблицы свойств
- Представлены классом
PropertyTable
- Каждая таблица имеет:
- Имя
- Метакласс, определяющий структуру
- Значения, содержащие фактические данные свойств
Метаклассы
- Определены классом
MetaClass
- Описывают структуру таблицы свойств
- Содержат коллекцию определений свойств
- Каждое определение указывает:
- Имя свойства
- Тип свойства
- Другие атрибуты метаданных
Доступ к свойствам
- Свойствам можно получить доступ через словарь
Values
таблицы свойств - Ключом является имя свойства, определенное в метаклассе
- Значения автоматически преобразуются в соответствующие типы, когда это возможно
Этот пример демонстрирует, как Aspose.3D можно использовать для чтения и обработки структурных метаданных из файлов glTF, позволяя разработчикам получать доступ к богатой семантической информации, хранящейся наряду с 3D-геометрией.