Files
gig-line/Tools/render_screenshots.sh
T
zwitschi bbb3e147b3 tools: visual-review screenshot pipeline
- AGigLineShotActor (dev-only): walks a fixed camera list in -game mode,
  captures via FScreenshotRequest, quits. Test content only.
- ue_build_review_map.py builds /Game/Test/ReviewMap from current content
  (gray floor, key light, sky, MPFB character, 1 m scale cubes).
- render_screenshots.sh: build map -> run game -> collect PNGs into
  gitignored Screenshots/.
- Screenshots/README.md (committed) describes each capture with approval
  state; AGENTS.md gains the visual-review instructions.
2026-11-07 09:52:10 +01:00

39 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Render in-game screenshots for visual review into <repo>/Screenshots/ (gitignored).
#
# Usage: Tools/render_screenshots.sh
# Rebuilds /Game/Test/ReviewMap from current content, runs the game on it
# (the GigLineShotActor walks three cameras, captures, quits), then copies
# the PNGs into Screenshots/.
set -euo pipefail
REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
ENGINE="${UE_ENGINE_DIR:-/run/media/system/DATA/Engines/UE_5.8.4}"
PROJ="$REPO/Game/GigLine/GigLine.uproject"
echo "== 1/3 build review map =="
cd "$ENGINE"
./Engine/Binaries/Linux/UnrealEditor-Cmd "$PROJ" \
-run=pythonscript -script="$REPO/Tools/ue_build_review_map.py" \
-nullrhi -unattended -nopause -stdout
cat /tmp/ue-review-map-result.txt
echo "== 2/3 run game on review map =="
./Engine/Binaries/Linux/UnrealEditor-Cmd "$PROJ" /Game/Test/ReviewMap \
-game -ResX=1920 -ResY=1080 -nopause -nosplash -stdout
echo "== 3/3 collect screenshots =="
mkdir -p "$REPO/Screenshots"
rm -f "$REPO"/Screenshots/review-*.png
found=0
for src in \
"$REPO/Game/GigLine/Saved/Screenshots"/*/review-*.png \
"$REPO/Game/GigLine/Saved/Screenshots"/*/*/review-*.png \
"$HOME/.config/Epic/GigLine/Saved/Screenshots"/*/review-*.png; do
[ -e "$src" ] || continue
cp -f "$src" "$REPO/Screenshots/"
found=1
done
[ "$found" = "1" ] || { echo "ERROR: no review-*.png found"; exit 1; }
ls -la "$REPO/Screenshots"