使用 MultiMeshInstance3D

前言

在正常情况下,使用一个 MeshInstance3D 节点来显示 3D网 格,比如主角的人体模型,但在某些情况下,你希望在一个场景中创建同一个网格的多个实例。你 可以 多次复制同一个节点,并手动调整变换。这可能是一个乏味的过程,而且结果可能看起来很机械。此外,这种方式也不利于快速迭代。 MultiMeshInstance3D 是此问题的可能解决方案之一。

MultiMeshInstance3D,顾名思义,是在特定网格的表面上创建 MeshInstance 的多个副本。一个示例是树形网格用随机比例和方向的树填充地形网格。

设置节点

基本设置需要三个节点:MultiMeshInstance3D 节点和两个MeshInstance3D 节点。

一个节点用作目标,即要在其上放置多个网格的表面网格。 在树的示例中,这就是地形。

另一个节点是作为源节点,也就是你想复制的网格。在树的情况下,这将是树本身。

在我们的示例中,将使用 Node3D 作为场景的根节点。场景树看起来像这样:

../../_images/multimesh_scene_tree.png

备注

出于简化目的,本教程使用内置图元。

现在你已准备好了一切。选择 MultiMeshInstance3D 节点并查看工具栏,你应该在视图旁边看到一个名为 MultiMesh 的额外按钮。单击它并在下拉菜单中选择填充表面。将弹出一个名为填充MultiMesh的新窗口。

../../_images/multimesh_toolbar.png ../../_images/multimesh_settings.png

MultiMesh 设置

以下是选项说明。

目标表面

用来放置源网格副本的目标表面的网格。

源网格

要在目标曲面上复制的网格。

网格向上轴

轴用作源网格的上轴。

随机旋转

随机地围绕源网格的向上轴旋转。

随机砖块

随机化源网格的整体旋转。

随机缩放

随机化源网格的比例。

Scale(大小)

将放置在目标曲面上的源网格的比例。

数量

放置在目标曲面上的网格实例数量。

选择目标曲面。在树的情况下,这应该是地形节点。源网格应该是树节点。根据你的喜好调整其他参数。按 Populate ,源网格的多个副本将放在目标网格上。 如果对结果满意,可以删除用作源网格的网格实例。

最终结果应如下所示:

../../_images/multimesh_result.png

要更改结果, 请使用不同的参数重复相同的步骤.