Как отделить все полигоны сразу в blender

сфера

Есть такая сфера в Blender, как видно я сверху начал отделять полигоны в отдельные подобъекты, мне так нужно. Вопрос в чем: можно ли отделить их все сразу? Потому что сферу я хочу сделать намного масштабнее и не хочется делать все это в ручную.

ps.: если выделить все и нажать P (отделить), то то что выделено отделяется в один подобъект, а мне нужно все в разные

pss.: и можно ли вобще так сделать в блендере?


Ответы (1 шт):

Автор решения: Rudi

Не знаю, есть ли такая кнопка в блендер, что бы решить задачу в один клик.. Мне стало интересно, как же разбить объект по полигонам, сделать каждый из них самостоятельным объектом, при этом не менять координаты сетки и ориентацию. Я пришел к решению через написание и выполнение скрипта в Python Console. Возможно кому-то понадобится.

obj = bpy.data.objects['Sphere'] #берем объект по имени
bpy.context.scene.objects.active = obj #делаем его активным
bpy.ops.object.mode_set(mode="EDIT") #переходим в режим редактирования сетки
bpy.ops.mesh.select_all(action='DESELECT') #снимаем выделение
bpy.ops.object.mode_set(mode="OBJECT") #выходим из режима редактирования сетки

for i in range(len(obj.data.polygons)): #создаём цикл по количеству полигонов объекта
         obj.data.polygons[i].select = True #выделяем полигон
         bpy.ops.object.mode_set(mode="EDIT") #переходим в режим редактирования сетки и полигон выделенный еще в объектном режиме теперь активен
         bpy.ops.mesh.duplicate() #делаем дубликат этого полигона
         bpy.ops.mesh.separate(type="SELECTED") #отделяем этот полигон, как самостоятельный объект
         bpy.ops.object.mode_set(mode="OBJECT") #переходим в объектный режим

bpy.ops.object.select_all(action='DESELECT') #когда цикл закончится снимаем все выделения
bpy.context.scene.objects.active = obj #делаем исходный объект активным
obj.select = True #выделяем его
bpy.ops.object.delete() #удаляем из сцены, если есть необходимость

→ Ссылка