Spaces:
Running
on
Zero
Running
on
Zero
while [[ $# -gt 0 ]]; do | |
case $1 in | |
--mesh_path) | |
mesh_path="$2" | |
shift 2 | |
;; | |
--prompt) | |
prompt="$2" | |
shift 2 | |
;; | |
--uuid) | |
uuid="$2" | |
shift 2 | |
;; | |
--output_root) | |
output_root="$2" | |
shift 2 | |
;; | |
*) | |
echo "unknown: $1" | |
exit 1 | |
;; | |
esac | |
done | |
if [[ -z "$mesh_path" || -z "$prompt" || -z "$uuid" || -z "$output_root" ]]; then | |
echo "params missing" | |
echo "usage: bash run.sh --mesh_path <path> --prompt <text> --uuid <id> --output_root <path>" | |
exit 1 | |
fi | |
# Step 1: drender-cli for condition rendering | |
drender-cli --mesh_path ${mesh_path} \ | |
--output_root ${output_root}/condition \ | |
--uuid ${uuid} | |
# Step 2: multi-view rendering | |
python embodied_gen/scripts/render_mv.py \ | |
--index_file "${output_root}/condition/index.json" \ | |
--controlnet_cond_scale 0.7 \ | |
--guidance_scale 9 \ | |
--strength 0.9 \ | |
--num_inference_steps 40 \ | |
--ip_adapt_scale 0 \ | |
--ip_img_path None \ | |
--uid ${uuid} \ | |
--prompt "${prompt}" \ | |
--save_dir "${output_root}/multi_view" \ | |
--sub_idxs "[[0,1,2],[3,4,5]]" \ | |
--seed 0 | |
# Step 3: backprojection | |
backproject-cli --mesh_path ${mesh_path} \ | |
--color_path ${output_root}/multi_view/color_sample0.png \ | |
--output_path "${output_root}/texture_mesh/${uuid}.obj" \ | |
--save_glb_path "${output_root}/texture_mesh/${uuid}.glb" \ | |
--skip_fix_mesh \ | |
--delight \ | |
--no_save_delight_img | |
# Step 4: final rendering of textured mesh | |
drender-cli --mesh_path "${output_root}/texture_mesh/${uuid}.obj" \ | |
--output_root ${output_root}/texture_mesh \ | |
--num_images 90 \ | |
--elevation 20 \ | |
--with_mtl \ | |
--gen_color_mp4 \ | |
--pbr_light_factor 1.2 | |
# Organize folders | |
rm -rf ${output_root}/condition | |
video_path="${output_root}/texture_mesh/${uuid}/color.mp4" | |
if [ -f "${video_path}" ]; then | |
cp "${video_path}" "${output_root}/texture_mesh/color.mp4" | |
echo "Resave video to ${output_root}/texture_mesh/color.mp4" | |
fi | |
rm -rf ${output_root}/texture_mesh/${uuid} |