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...
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).