Work in progress
The content of this page was not yet updated for Godot
4.2
and may be outdated. If you know how to improve this page or you can confirm
that it's up to date, feel free to open a pull request.
Using MultiMeshInstance3D¶
Введение¶
In a normal scenario, you would use a MeshInstance3D node to display a 3D mesh like a human model for the main character, but in some cases, you would like to create multiple instances of the same mesh in a scene. You could duplicate the same node multiple times and adjust the transforms manually. This may be a tedious process and the result may look mechanical. Also, this method is not conducive to rapid iterations. MultiMeshInstance3D is one of the possible solutions to this problem.
MultiMeshInstance3D, as the name suggests, creates multiple copies of a MeshInstance over a surface of a specific mesh. An example would be having a tree mesh populate a landscape mesh with trees of random scales and orientations.
Настройка узлов¶
The basic setup requires three nodes: the MultiMeshInstance3D node and two MeshInstance3D nodes.
One node is used as the target, the surface mesh that you want to place multiple meshes on. In the tree example, this would be the landscape.
Другой узел используется в качестве источника - сетки, которую вы хотите продублировать. В случае с деревом это будет само дерево.
In our example, we would use a Node3D node as the root node of the scene. Your scene tree would look like this:
Примечание
Для простоты в этом учебнике используются встроенные примитивы.
Now you have everything ready. Select the MultiMeshInstance3D node and look at the
toolbar, you should see an extra button called MultiMesh
next to View
.
Click it and select Populate surface in the dropdown menu. A new window titled
Populate MultiMesh will pop up.
Настройки MultiMesh¶
Ниже приведены описания вариантов.
Целевая поверхность¶
Сетка, используемая в качестве целевой поверхности, на которой размещаются копии исходной сетки.
Source Mesh (исходная сетка)¶
Сетка, которую нужно продублировать на целевой поверхности.
Ось сетки вверх¶
Ось, используемая в качестве оси вверх исходной сетки.
Random Rotation (случайное вращение)¶
Случайные вращения вокруг оси вверх исходной сетки.
Random Tilt (случайный наклон)¶
Случайность общего вращения исходной сетки.
Random Scale (случайный масштаб)¶
Случайность масштаба исходной сетки.
Масштаб¶
Масштаб исходной сетки, которая будет размещена над целевой поверхностью.
Количество¶
Количество экземпляров сетки, размещённых на целевой поверхности.
Выберите целевую поверхность. В случае с деревом это должен быть узел ландшафта (landscape). Исходной сеткой должен быть узел дерева (tree). Настройте остальные параметры в соответствии с вашими предпочтениями. Нажмите Populate
и несколько копий исходной сетки будут размещены поверх целевой сетки. Если вы удовлетворены результатом, вы можете удалить экземпляр сетки, использованный в качестве исходной сетки.
Конечный результат должен выглядеть так:
Чтобы изменить результат, повторите предыдущие шаги с другими параметрами.