Открываем Blender и создаем новый файл.
Теперь нужно перейти во вкладку "Scripting", где мы и будем писать скрипт. Переходим, создаем новый датаблок.
Приступаем к написанию кода. Первым делом импортируем используемые библиотеки. import bpy
import random
Далее создаем цикл for, для очистки материалов и создания нового пустого объекта.
for material in bpy.data.materials:
bpy.data.materials.remove(material)
bpy.ops.object.empty_add(type='PLAIN_AXES', location=(0,0,0))
Задаем позицию по оси X.
my_variable=-25
Переходим к написанию ключевого цикла while. Создаем объект, добавляем на него модификаторы.
while my_variable<25:
bpy.ops.mesh.primitive_ico_sphere_add(enter_editmode=False, location=(my_variable, 0, 0))
bpy.ops.object.modifier_add(type='SUBSURF')
bpy.ops.object.modifier_add(type='SIMPLE_DEFORM')
bpy.context.object.modifiers["SimpleDeform"].origin = bpy.data.objects["Empty"]
Добавляем смещение по оси X на 2.
my_variable=my_variable+2
Снова создаем объект, модификаторы. Деформируем его по оси Z
bpy.ops.mesh.primitive_ico_sphere_add(enter_editmode=False, location=(my_variable, 0, 0))
bpy.ops.object.modifier_add(type='SUBSURF')
bpy.ops.object.modifier_add(type='SIMPLE_DEFORM')
bpy.context.object.modifiers["SimpleDeform"].origin=bpy.data.objects["Empty"]
bpy.context.object.modifiers["SimpleDeform"].deform_axis='Z'
Снова добавляем смещение на 2.
Снова создаем объект, модификаторы. Деформируем его по оси Z.
Снова добавляем смещение на 2. Осталось добавить объекту материал и цвет, пользуемся библиотекой random.
material = bpy.data.materials.new('material')
material.diffuse_color = (random.uniform(0,1), random.uniform(0,1), random.uniform(0,1), random.uniform(0,1))
bpy.context.object.data.materials.append(material)