Skip to main content

场景 (Scene)

场景是一个 JSON 文件,用于存储该场景的资源列表、蓝图列表和插件设置。当您在编辑器中打开已保存的场景时,将首先创建并转出存档状态的资源,然后逐个将保存的蓝图实例化,并创建和转出存档状态中的每个蓝图节点。

信息

在代码中,蓝图被称为 graphs.

访问场景数据

您可以使用 Context.OpenedScene 访问当前打开的场景的数据。然后,您可以访问场景中的资源、蓝图等:

var scene = Context.OpenedScene;

var assets = scene.GetAssets();
var characterAssets = scene.GetAssets<CharacterAsset>();
var blueprints = scene.GetGraphs();

您可以实例化新资源或节点:

var newCharacterAsset = scene.AddAsset<CharacterAsset>(); // 实例化新的角色资源
var newCharacterAssetByTypeId = scene.AddAsset("726ab674-a550-474e-8b92-66526a5ad55e"); // 按类 ID 实例化新的角色资源

var blueprint = scene.GetGraphs().Values.First(); // 获取场景中的第一个蓝图
var newNode = blueprint.AddNode<ToggleCharacterMeshesNode>(); // 实例化新节点
var newNodeByTypeId = blueprint.AddNode("e931f780-e41e-40ce-96d0-a4d47ca64853"); // 按类 ID 实例化新节点

Context.Service.BroadcastOpenedScene(); // 将更新的场景发送到编辑器

翻译者

上次更新于 2024.11.22