我正在尝试找到一种方法来使用python代码将对象的现有顶点/ UV颜色烘焙到纹理文件。
有人可以帮助我吗?我不太擅长Blender或python:/
我发现了:
Ob = context.active_object
bpy.ops.object.mode_set(mode='EDIT')
UVLayer = Ob.data.uv_textures.new(name='MathTextureUV') if 'MathTextureUV' not in Ob.data.uv_textures.keys() else Ob.data.uv_textures['MathTextureUV']
UVLayer.active = UVLayer.active_render = True
bpy.ops.uv.unwrap()
Image = D.images.new('MathTextureImage', self.texture_size, self.texture_size)
for uv in UVLayer.data:
uv.image = Image
VLayer = Ob.data.vertex_colors.new(name='MathTextureVColor') if 'MathTextureVColor' not in Ob.data.vertex_colors.keys() else Ob.data.vertex_colors['MathTextureVColor']
VLayer.active = VLayer.active_render = True
bpy.ops.object.mode_set(mode='VERTEX_PAINT')
-- boring stuff
bpy.ops.object.mode_set(mode='EDIT')
context.scene.render.bake_type = 'VERTEX_COLORS'
bpy.ops.object.bake_image()
此处:https://blenderartists.org/t/baking-textures-with-python/610553
但这并不是我真正需要的,因为我的模型中已经具有UV和顶点颜色-我只需要选择对象并在给定的文件夹中获取纹理即可。