概述

在继续之前,强烈建议您查看 复合结构 的主要文章。

如何启用

您现在可以直接从 Asset Viewer 编辑合成。要启用 Composite Editor,请导航到 View 菜单:

How to enable, option 1

如果您希望编辑器在 Asset Tree 中选择合成时自动打开,并在选择任何其他类型的对象时关闭,则可以在 Settings中启用此选项:

How to enable, option 2

Caution

复合编辑器 仍在开发中,在处理具有许多嵌套元素的大型复合时,它可能会显著影响性能。例如,对于基于 daNetGame 的游戏中具有复杂室内结构的房屋,这一点尤其重要。因此,默认情况下,自动打开选项处于禁用状态。使用风险自负。

创建新的合成

  1. Asset Tree(资产树)中,选择要放置复合的目录。

  2. 右键单击并从上下文菜单中选择 Create new composite asset

    Creating a new composite
  3. 在弹出窗口中,输入所需的名称,确保遵循 命名约定。如果已存在具有此名称的资产,则当您尝试创建该资产时,将显示警告。

    Creating a new composite

复合编辑器界面

该界面分为两个主要部分: OutlinerProperties.

Composite editor interface

Composite Outliner

Composite Outliner 的功能类似于 Asset Tree ,但特定于复合。复合本身是结构的 “根”。

当您创建新的复合时,它最初将仅包含根块及其名称。要添加新节点,请单击此唯一元素,然后从上下文菜单中选择 Add Node

新创建的节点不包含任何参数,相当于空的node{}

通过上下文菜单,您可以定义节点的类型:

  • Change asset 允许您选择要渲染的资源,类似于 name:t =

  • Add entity: 将节点转换为随机实体,类似于ent{}

  • Add node: 添加子节点。

  • Delete node: 删除节点。

Note

  • 添加资产会隐藏添加实体的选项,反之亦然 – 节点不能同时包含 name:tent{}

  • 您还可以使用 Delete 键删除节点,但在这两种情况下,都需要确认。

  • 删除一个节点也会删除它的所有子节点,因为它们在技术上嵌套在其中(例如,node{node{}})。请记住这一点。

如果节点已包含资产,则可以通过双击将其打开。当您需要编辑子合成时,这非常有用。但是,由于当前没有最近打开的资产的历史记录,因此只能通过在 Asset Tree 中再次找到它来返回到 “main” 组合。因此,编辑器将在切换到其他资产之前要求确认。

识别随机节点

随机节点显示与空节点相同的图标,但它将被命名为random而不是node

所有可能的实体都列在层次结构中较低一级。

由于随机节点可以有子节点,这可能会导致严重的混淆 – 这些 子节点 也会显示得低一级。为了解决这个问题,所有 ent{} 条目都显示有一个额外的图标。第一个图标表示空节点,而第二个图标表示实体类型。

Identifying random nodes

.composit.blk文件中,屏幕截图中显示的内容可能如下所示:

node{
  ent{name:t="table_a:rendinst"}
  ent{name:t="table_b:rendinst"}
  node{name:t="cup_a:rendinst"}
  ent{name:t=""}
  node{name:t=""}
}

为了提高可读性,建议先添加所有 ent{} 条目,然后添加子节点。但是,无论哪种方式,它都会起作用。

编辑器属性

不要将此与整个复合资产的 Properties 混淆。

Editor properties

此部分包含所选节点的属性,以及用于保存或还原更改的选项。

实体

此面板列出了所有 ent{} 节点。在这里,您可以设置现有实体的权重,更改资产(通过显示资产名称的大按钮,如果未选择资产,则为 “–”),并使用 “+” 按钮将新实体添加到列表末尾。上下文菜单(通过 “…” 按钮访问)允许您在任何现有实体之后(而不是在列表末尾)添加或删除所选实体。

子节点

节点也存在类似的面板,尽管出于明显的原因,这里没有分配权重。此面板将来可能会被删除,因为它会影响重型合成的性能(某些建筑物有数千个节点),并且可以通过 Outliner 获得相同的功能。

节点参数

此部分包含所选节点的属性。要移动节点,您需要启用 Use transformation matrix 复选框,该复选框对应于 tm:m=块。如果启用此复选框,则可以以用户可读的格式编辑矩阵:

Node parameters

Add Parameters

在这里,您可以为节点设置其他参数。由于转换矩阵优先于随机偏移量,因此尝试添加两者将触发警告,并且参数字段将被锁定以进行编辑。

Add parameters

要应用随机转换,请禁用 Use transformation matrix 复选框。

Composit

Composit选项卡仅提供两个选项:cancelsave changes。如果您尝试从合成切换到另一个资源,编辑器还会询问如何处理当前更改。

可视化编辑

现在我们已经到了有趣的部分。除了基于文本的编辑之外,您还可以直接在视区中进行调整。您可以左键单击任何对象,相应的节点将在 3D 视图和 Outliner 中被选中。按下 ‘Z’ 将使摄像机在所选节点上居中并放大它。遗憾的是,尚不支持同时选择多个节点。但是,您可以使用 Gizmo 编辑矩阵。

当复合编辑器打开时,工具栏中会显示新图标:选择移动旋转缩放选择 图标始终处于活动状态,但要使其他工具生效,必须使用前面提到的复选框为所选节点启用转换矩阵。无法通过 Gizmo 应用随机偏移。这些工具可以使用标准热键激活:分别是 Q, W, E, 和 R

Visual editing