Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Blender3D, как автоматически плотно наполнить объектами "коробку", не пересекая их друг другом?

К примеру, мнимая коробка размером XY 600 на 600 миллиметров и в высоту 600мм, нужно наполнить объектами максимально плотно по высоте, т.е. чтобы высота коробки расходовалась экономно, и расстояние между объектами было минимум 1мм. Объекты не должны пересекать друг друга и деформироваться, могут только вращаться. Нужно расположить их автоматически, чтобы программа сама их оптимально разложила и повернула в коробке.

Я никак не могу понять как решить эту задачу. В качестве 3d редактора будет использован Blender3D с его встроенным языком Python.

Дополнен
Дополнен

Формы объектов могут быть различными, вплоть до того что какие либо объекты будут условно полыми, в полости которых можно поместить другие объекты (ну при условии что их можно будет оттуда высунуть, но это не входит в функционал искомого плагина или скрипта).

По дате
По рейтингу
Аватар пользователя
Новичок
7мес

ты, судя по всему, туториал нашёл, так что решено

Аватар пользователя
Профи
7мес

Для решения этой задачи в Blender 3D вы можете использовать следующий подход:

Создайте куб (коробку) нужного размера и поместите его в сцену.
Добавьте несколько объектов (например, сферы или кубы) в сцену.
Используйте инструмент «Array» для размещения объектов вдоль оси Y (вертикальной оси) коробки.
В настройках модификатора «Array» установите следующие параметры:
Count: количество объектов в массиве;
Offset: расстояние между объектами в массиве;
Align: выравнивание объектов относительно оси Y (в данном случае, вертикальное);
Index: индекс первого объекта в массиве (для автоматической нумерации объектов).
Установите значение параметра «Spacing» равным 1, чтобы обеспечить минимальное расстояние между объектами.
Примените модификатор «Array» к коробке.
Используйте инструмент «DupliGroup» для дублирования объектов в массиве и их вращения вокруг оси Y.
В настройках инструмента «DupliGroup» установите следующие параметры:
Count: количество дублированных объектов;
Angle: угол поворота каждого объекта относительно предыдущего.
Примените инструмент «DupliGroup» к объектам в массиве.
Повторите шаги 3–9 для размещения объектов вдоль других осей коробки (X и Z).
При необходимости используйте другие инструменты и модификаторы для оптимизации расположения и поворота объектов.
После выполнения этих шагов объекты будут автоматически размещены и повернуты в коробке, обеспечивая плотное размещение и минимальное расстояние между ними.

Аватар пользователя
Ученик
7мес

Эт чо?