INNER CODE UNIT · Python
UV_tile
OpenTexture/Paint3D · pipeline_paint3d_stage2.py:51
def UV_tile(sd_cfg, cnet, mesh_model, outdir,):
print(f"rendering texture and position map")
mesh_model.export_mesh(outdir, export_texture_only=True)
albedo_path = os.path.join(outdir, f"albedo.png")
UV_pos = mesh_model.UV_pos_render()
UV_pos_path = os.path.join(outdir, f"UV_pos.png")
utils.save_tensor_image(UV_pos.permute(0, 3, 1, 2), UV_pos_path)
# UV inpaint
p_cfg = sd_cfg.img2img
p_cfg.image_path = albedo_path
p_cfg.controlnet_units[0].condition_image_path = UV_pos_path
p_cfg.controlnet_units[1].condition_image_path = albedo_path
images = cnet.infernece(config=p_cfg)
for i, img in enumerate(images):
save_path = os.path.join(outdir, f'UV_tile_res_{i}.png')
img.save(save_path)