Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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.
Посібники
Властивості
Array[PackedStringArray] |
|
|
Array[NodePath] |
|
|
|
||
|
Методи
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. Це зручний метод встановлення обох властивостей одночасно, оскільки вони майже завжди відомі одночасно. Цей метод слід викликати один раз. Повторний виклик із тими самими значеннями не матиме ефекту.