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.

GLTFNode

Успадковує: Resource < RefCounted < Object

клас вузла glTF.

Опис

Представляє вузол glTF. Вузли glTF можуть мати імена, перетворення, дочірні елементи (інші вузли glTF) і більш спеціалізовані властивості (представлені власними класами).

Вузли glTF зазвичай існують усередині GLTFState, який представляє всі дані файлу glTF. Більшість властивостей GLTFNode є індексами інших даних у файлі glTF. Ви можете розширити вузол glTF додатковими властивостями за допомогою get_additional_data() і set_additional_data().

Посібники

Властивості

int

camera

-1

PackedInt32Array

children

PackedInt32Array()

int

height

-1

int

light

-1

int

mesh

-1

String

original_name

""

int

parent

-1

Vector3

position

Vector3(0, 0, 0)

Quaternion

rotation

Quaternion(0, 0, 0, 1)

Vector3

scale

Vector3(1, 1, 1)

int

skeleton

-1

int

skin

-1

bool

visible

true

Transform3D

xform

Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)

Методи

void

append_child_index(child_index: int)

Variant

get_additional_data(extension_name: StringName)

NodePath

get_scene_node_path(gltf_state: GLTFState, handle_skeletons: bool = true)

void

set_additional_data(extension_name: StringName, additional_data: Variant)


Описи властивостей

int camera = -1 🔗

  • void set_camera(value: int)

  • int get_camera()

Якщо цей вузол glTF є камерою, індекс GLTFCamera у GLTFState, який описує властивості камери. Якщо -1, цей вузол не є камерою.


PackedInt32Array children = PackedInt32Array() 🔗

  • void set_children(value: PackedInt32Array)

  • PackedInt32Array get_children()

Індекси дочірніх вузлів у GLTFState. Якщо цей вузол glTF не має дітей, це буде порожній масив.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedInt32Array for more details.


int height = -1 🔗

  • void set_height(value: int)

  • int get_height()

Як глибоко в вершину ієрархії цей вузол. У кореневу вершину буде висота 0, її діти матимуть висоту 1, і так далі. Якщо -1, висота не була розрахована.


int light = -1 🔗

  • void set_light(value: int)

  • int get_light()

Якщо цей вузол glTF є світлом, індекс GLTFLight у GLTFState, який описує властивості світла. Якщо -1, цей вузол не є світлом.


int mesh = -1 🔗

  • void set_mesh(value: int)

  • int get_mesh()

Якщо цей вузол glTF є сіткою, індекс GLTFMesh у GLTFState, який описує властивості сіті. Якщо -1, цей вузол не є сіткою.


String original_name = "" 🔗

  • void set_original_name(value: String)

  • String get_original_name()

Оригінальна назва вузла.


int parent = -1 🔗

  • void set_parent(value: int)

  • int get_parent()

Індекс материнської вершини в GLTFState. Якщо -1, цей вузол є кореневою вершиною.


Vector3 position = Vector3(0, 0, 0) 🔗

  • void set_position(value: Vector3)

  • Vector3 get_position()

Положення вузла glTF відносно його батьківського вузла.


Quaternion rotation = Quaternion(0, 0, 0, 1) 🔗

  • void set_rotation(value: Quaternion)

  • Quaternion get_rotation()

Обертання вузла glTF відносно його батьківського вузла.


Vector3 scale = Vector3(1, 1, 1) 🔗

  • void set_scale(value: Vector3)

  • Vector3 get_scale()

Масштаб вузла glTF відносно його батьківського вузла.


int skeleton = -1 🔗

  • void set_skeleton(value: int)

  • int get_skeleton()

Якщо цей вузол glTF має скелет, індекс GLTFSkeleton у GLTFState, який описує властивості скелета. Якщо -1, цей вузол не має скелета.


int skin = -1 🔗

  • void set_skin(value: int)

  • int get_skin()

Якщо цей вузол glTF має оболонку, індекс GLTFSkin у GLTFState, який описує властивості оболонки. Якщо -1, цей вузол не має шкіри.


bool visible = true 🔗

  • void set_visible(value: bool)

  • bool get_visible()

Якщо true, вузол GLTF видимий. Якщо false, вузол GLTF невидимий. Це перетворюється на властивість Node3D.visible у сцені Godot та експортується до KHR_node_visibility, коли false.


Transform3D xform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) 🔗

  • void set_xform(value: Transform3D)

  • Transform3D get_xform()

Перетворення вузла glTF відносно його батьківського вузла. Ця властивість зазвичай не використовується, оскільки перевага надається властивостям положення, обертання та масштабу.


Описи методів

void append_child_index(child_index: int) 🔗

Додає заданий індекс дочірнього вузла до масиву children.


Variant get_additional_data(extension_name: StringName) 🔗

Отримує додаткові довільні дані в цьому екземплярі GLTFNode. Це можна використовувати для збереження даних про стан кожного вузла в класах GLTFDocumentExtension, що важливо, оскільки вони не мають стану.

Аргументом має бути ім’я GLTFDocumentExtension (не має збігатися з ім’ям розширення у файлі glTF), а значенням, що повертається, може бути будь-яке, яке ви встановите. Якщо нічого не встановлено, повертається значення null.


NodePath get_scene_node_path(gltf_state: GLTFState, handle_skeletons: bool = true) 🔗

Повертає NodePath, який цей вузол GLTF матиме в дереві сцени Godot після імпорту. Це корисно під час імпорту вказівників об’єктної моделі glTF за допомогою GLTFObjectModelProperty для обробки таких розширень, як KHR_animation_pointer або KHR_interactivity.

Якщо handle_skeletons має значення true, шляхи до вузлів glTF кісток скелета будуть розпізнані належним чином. Наприклад, шлях, який буде ^"A/B/C/Bone1/Bone2/Bone3", якщо false стане ^"A/B/C/Skeleton3D:Bone3".


void set_additional_data(extension_name: StringName, additional_data: Variant) 🔗

Встановлює додаткові довільні дані в цьому екземплярі GLTFNode. Це можна використовувати для збереження даних про стан кожного вузла в класах GLTFDocumentExtension, що важливо, оскільки вони не мають стану.

Першим аргументом має бути ім’я GLTFDocumentExtension (не має збігатися з ім’ям розширення у файлі glTF), а другий аргумент може бути будь-яким.