GLTFObjectModelProperty
Успадковує: RefCounted < Object
Описує, як отримати доступ до властивості, визначеної в об’єктній моделі glTF.
Опис
GLTFObjectModelProperty визначає відображення між властивістю в об’єктній моделі glTF і NodePath у дереві сцени Godot. Це можна використовувати для анімації властивостей у файлі glTF за допомогою розширення KHR_animation_pointer або для доступу до них через скрипт, що не залежить від механізму, наприклад графік поведінки, як визначено розширенням KHR_interactivity.
Властивість glTF ідентифікується покажчиком(-ами) JSON, що зберігається в json_pointers, тоді як властивість Godot, на яку вона відображається, визначається node_paths. У більшості випадків json_pointers і node_paths матимуть лише один елемент, але в деяких випадках один вказівник glTF JSON буде зіставлено з декількома властивостями Godot, або одна властивість Godot буде зіставлена з кількома покажчиками glTF JSON, або це може бути зв’язок «багато-до-багатьох».
Об’єкти Expression можна використовувати для визначення перетворень між даними, наприклад, коли glTF визначає кут у радіанах, а Godot використовує градуси. Властивість object_model_type визначає тип даних, що зберігаються у файлі glTF, як визначено об’єктною моделлю, перегляньте можливі значення GLTFObjectModelType.
Посібники
Властивості
|
||
|
||
|
||
|
Методи
void |
append_node_path(node_path: NodePath) |
void |
append_path_to_property(node_path: NodePath, prop_name: StringName) |
get_accessor_type() const |
|
has_json_pointers() const |
|
has_node_paths() const |
|
void |
set_types(variant_type: Variant.Type, obj_model_type: GLTFObjectModelType) |
Переліки
enum GLTFObjectModelType: 🔗
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_UNKNOWN = 0
Невідомий або не встановлений тип моделі об’єкта. Якщо для типу об’єктної моделі встановлено це значення, реальний тип ще потрібно визначити.
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_BOOL = 1
Об'єктна модель типу "bool". Представлено в glTF JSON як логічне значення та закодовано в GLTFAccessor як "SCALAR". Коли кодується в аксесорі, значення 0 є false, а будь-яке інше значення є true.
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT = 2
Об'єктна модель типу "float". Представлено в glTF JSON як число та закодовано в GLTFAccessor як "SCALAR".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT_ARRAY = 3
Тип об'єктної моделі "float[]". Представлено в glTF JSON у вигляді масиву чисел і закодовано в GLTFAccessor як "SCALAR".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT2 = 4
Об'єктна модель типу "float2". Представлено в glTF JSON у вигляді масиву з двох чисел і закодовано в GLTFAccessor як "VEC2".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT3 = 5
Об'єктна модель типу "float3". Представлено в glTF JSON у вигляді масиву з трьох чисел і закодовано в GLTFAccessor як "VEC3".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT4 = 6
Об'єктна модель типу "float4". Представлено в glTF JSON у вигляді масиву з чотирьох чисел і закодовано в GLTFAccessor як "VEC4".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT2X2 = 7
Об'єктна модель типу "float2x2". Представлено в glTF JSON у вигляді масиву з чотирьох чисел і закодовано в GLTFAccessor як "MAT2".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT3X3 = 8
Об'єктна модель типу "float3x3". Представлено в glTF JSON у вигляді масиву з дев’яти чисел і закодовано в GLTFAccessor як «MAT3».
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT4X4 = 9
Об'єктна модель типу "float4x4". Представлено в glTF JSON у вигляді масиву з шістнадцяти чисел і закодовано в GLTFAccessor як "MAT4".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_INT = 10
Об'єктна модель типу "int". Представлено в glTF JSON як число та закодовано в GLTFAccessor як "SCALAR". Діапазон значень обмежений цілими числами зі знаком. Для KHR_interactivity підтримуються лише 32-розрядні цілі числа.
Описи властивостей
Expression gltf_to_godot_expression 🔗
void set_gltf_to_godot_expression(value: Expression)
Expression get_gltf_to_godot_expression()
Якщо встановлено, цей Expression використовуватиметься для перетворення значення властивості з об’єктної моделі glTF у значення, очікуване властивістю Godot. Це корисно, коли об’єктна модель glTF використовує іншу систему одиниць вимірювання або коли дані потрібно якимось чином трансформувати. Якщо null, значення буде скопійовано як є.
Expression godot_to_gltf_expression 🔗
void set_godot_to_gltf_expression(value: Expression)
Expression get_godot_to_gltf_expression()
Якщо встановлено, цей Expression використовуватиметься для перетворення значення властивості з властивості Godot у значення, очікуване об’єктною моделлю glTF. Це корисно, коли об’єктна модель glTF використовує іншу систему одиниць вимірювання або коли дані потрібно якимось чином трансформувати. Якщо null, значення буде скопійовано як є.
Array[PackedStringArray] json_pointers = [] 🔗
void set_json_pointers(value: Array[PackedStringArray])
Array[PackedStringArray] get_json_pointers()
Вказівники JSON об'єктної моделі glTF, що використовуються для ідентифікації властивості в об'єктній моделі glTF. У більшості випадків у цьому масиві буде лише один елемент, але в окремих випадках може знадобитися кілька вказівників. Елементи самі по собі є масивами, які представляють вказівник JSON, розділений на його компоненти.
Array[NodePath] node_paths = [] 🔗
Масив NodePath, який вказує на властивість або кілька властивостей у дереві сцени Godot. Під час імпорту це буде встановлено GLTFDocument або класом GLTFDocumentExtension. У простих випадках використовуйте append_path_to_property(), щоб додати властивості до цього масиву.
У більшості випадків node_paths матиме лише один елемент, але в деяких випадках один вказівник glTF JSON буде зіставлятися з кількома властивостями Godot. Наприклад, GLTFCamera або GLTFLight, які використовуються на кількох вузлах glTF, будуть представлені кількома вузлами Godot.
GLTFObjectModelType object_model_type = 0 🔗
void set_object_model_type(value: GLTFObjectModelType)
GLTFObjectModelType get_object_model_type()
Тип даних, що зберігаються у файлі glTF, як визначено об'єктною моделлю. Це надмножина доступних типів аксессорів, яка визначає тип аксессора.
Variant.Type variant_type = 0 🔗
void set_variant_type(value: Variant.Type)
Variant.Type get_variant_type()
Тип даних, що зберігаються у властивості Godot. Це тип властивості, на який вказує node_paths.
Описи методів
void append_node_path(node_path: NodePath) 🔗
Додає NodePath до node_paths. Це може використовуватися класами GLTFDocumentExtension, щоб визначити, як властивість об’єктної моделі glTF зіставляється з властивістю Godot або кількома властивостями Godot. Надавайте перевагу використанню append_path_to_property() для простих випадків. Не забудьте також один раз викликати set_types() (порядок не має значення).
void append_path_to_property(node_path: NodePath, prop_name: StringName) 🔗
Високорівнева оболонка над append_node_path(), яка обробляє найпоширеніші випадки. Він створює новий NodePath, використовуючи node_path як основу, і додає prop_name до підшляху. Не забудьте також один раз викликати set_types() (порядок не має значення).
GLTFAccessorType get_accessor_type() const 🔗
Тип засобу доступу GLTF, пов’язаний із object_model_type цієї властивості. Дивіться GLTFAccessor.accessor_type, щоб дізнатися про можливі значення, і див. GLTFObjectModelType, щоб дізнатися, як тип об’єктної моделі зіставляється з типами засобів доступу.
bool has_json_pointers() const 🔗
Повертає true, якщо json_pointers не порожній. Це використовується під час експорту, щоб визначити, чи може GLTFObjectModelProperty обробляти перетворення властивості Godot у властивість об’єктної моделі glTF.
Повертає true, якщо node_paths не порожній. Це використовується під час імпорту, щоб визначити, чи може GLTFObjectModelProperty обробляти перетворення властивості об’єктної моделі glTF на властивість Godot.
void set_types(variant_type: Variant.Type, obj_model_type: GLTFObjectModelType) 🔗
Встановлює властивості variant_type і object_model_type. Це зручний метод встановлення обох властивостей одночасно, оскільки вони майже завжди відомі одночасно. Цей метод слід викликати один раз. Повторний виклик із тими самими значеннями не матиме ефекту.