Раскрасить два набора объектов двумя цветами в скриптах Blender - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть несколько сфер двух типов.Я хочу различать два типа, окрашивая сферы двумя разными цветами, но я не могу понять, как это сделать.

Задача должна быть выполнена с помощью скрипта, также есть файл .blend, но я уверен, что с его содержимым все в порядке.Вначале я определил два материала:

material0 = bpy.data.materials.new("h_material")
material0.diffuse_color = [ 1. 0. 0. ]
material0.specular_intensity = 0.1

material1 = bpy.data.materials.new("s_material")
material1.diffuse_color = [ 0. 1. 0.]
material1.specular_intensity = 0.1

Затем у меня есть определенный список f, который разделен на f0 и f1, правильно выбирая сферы.После этого я выполняю

f0 = np.vstack(f)
mesh = bpy.data.meshes.new('mesh_name')
ob0 = bpy.data.objects.new('ob0_name', mesh)
bpy.context.scene.objects.link(ob0)
mesh.from_pydata(f0, [], faces) # faces is properly defined somewhere else
mesh.update()

и то же самое с f1.Неважно, что я делаю, например

ob0.active_material = material0
ob1.active_material = material1

или

o0 = bpy.context.scene.objects.active = bpy.data.objects['ob0_name']
o0.active_material = material0
o1 = bpy.context.scene.objects.active = bpy.data.objects['ob1_name']
o1.active_material = material1

Он никогда не окрашивает объекты так, как я хочу, но окрашивает их в последний упомянутый цвет (всякий раз, когда он не падает), который материал1.

Есть предложения?

...