我有两种类型的球体。我想通过用两种不同的颜色为球体着色来区分这两种类型,但是我不知道该怎么做。
该任务必须通过脚本来完成,并且还有一个.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
它从来不会像我想要的那样给对象着色,而是将它着色为提到的最后一种颜色(只要它不会崩溃),即material1。
有什么建议吗?