# 已验收静态模 → TokenRig+UniMate → 入库 → SetupAnimalAnimator $ErrorActionPreference = "Stop" Set-Location (Split-Path $PSScriptRoot -Parent) Write-Host "=== caps ===" python Tools/dgx3d_animal_pipeline.py --caps-only if ($LASTEXITCODE -ne 0) { throw "TokenRig/UniMate still red" } Write-Host "=== pipeline RockBall (approved mesh) ===" python Tools/dgx3d_animal_pipeline.py ` --mesh AIClient/Assets/Bundles/Characters/Animal/RockBall/RockBall.fbx ` -o Tools/output/rockball_dgx ` --name RockBall if ($LASTEXITCODE -ne 0) { throw "pipeline failed" } $manifest = Get-ChildItem Tools/output/rockball_dgx -Filter "RockBall_manifest.json" | Select-Object -First 1 if (-not $manifest) { throw "manifest missing" } Write-Host "=== install bundles ===" python Tools/install_animal_rigged.py -m $manifest.FullName --kind Animal if ($LASTEXITCODE -ne 0) { throw "install failed" } Write-Host "=== Unity SetupAnimalAnimator ===" unity command --project-path D:/UD/AI/AIGame/AIClient run_script --file AgentScripts/SetupAnimalAnimator.cs --entry SetupAnimalAnimator.SetupRockBall if ($LASTEXITCODE -ne 0) { throw "SetupAnimalAnimator failed" } Write-Host "DONE RockBall approved-mesh → TokenRig+UniMate"