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.75 \ | |
| --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} |