EditorScenePostImport
Наследует: RefCounted < Object
Постобработка сцен после импорта.
Описание
Импортированные сцены можно автоматически изменять сразу после импорта, установив их свойство Custom Script Import на скрипт tool, который наследуется от этого класса.
Обратный вызов _post_import() получает корневой узел импортированной сцены и возвращает измененную версию сцены:
@tool # Необходимо, чтобы он работал в редакторе.
extends EditorScenePostImport
# В этом примере изменяются все имена узлов.
# Вызывается сразу после импорта сцены и получает корневой узел.
func _post_import(scene):
# Измените все имена узлов на "modified_[oldnodename]"
iterate(scene)
return scene # Не забудьте вернуть импортированную сцену.
func iterate(node):
if node != null:
node.name = "modified_" + node.name
for child in node.get_children():
iterate(child)
using Godot;
// В этом примере изменяются все имена узлов.
// Вызывается сразу после импорта сцены и получает корневой узел.
[Tool]
public partial class NodeRenamer : EditorScenePostImport
{
public override GodotObject _PostImport(Node scene)
{
// Измените все имена узлов на "modified_[oldnodename]"
Iterate(scene);
return scene; // Не забудьте вернуть импортированную сцену.
}
public void Iterate(Node node)
{
if (node != null)
{
node.Name = $"modified_{node.Name}";
foreach (Node child in node.GetChildren())
{
Iterate(child);
}
}
}
}
Обучающие материалы
Методы
_post_import(scene: Node) virtual |
|
get_source_file() const |
Описания метода
Object _post_import(scene: Node) virtual 🔗
Вызывается после импорта сцены. Этот метод должен возвращать измененную версию сцены.
String get_source_file() const 🔗
Возвращает путь к исходному файлу, который был импортирован (например, res://scene.dae).