Roadmap gains two sections: 'Review scene and player placement' (this pass) and 'Character development' (follow-on). The camera list is now one table of (name, location, target) with look-at rotations computed from the pairs, so a camera cannot drift out of aim when one number changes. New shots: player-placement (the real pawn, staged in the build script), ground-contact (knee height, feet on the plane), shadow-compare (floating vs grounded cube from a low angle), and hero-portals (whole elevation). The review floor grows to 160 m so the facade stands on ground rather than the horizon band. Retired: the first-person shot. Honest gap recorded in the roadmap: the hero portals sit behind the colonnade and do not resolve from the review floor; that needs a camera on the plinth or a portal rebuild, not another angle.
40 lines
1.5 KiB
Bash
Executable File
40 lines
1.5 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 =="
|
|
# -windowed -NoSplash: a fullscreen swap can leave the first frame uncaptured.
|
|
./Engine/Binaries/Linux/UnrealEditor-Cmd "$PROJ" /Game/Test/ReviewMap \
|
|
-game -windowed -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"
|