The crowd sheet becomes an animation sheet: three frames, and the stand sits back
Oliver: "when clapping I barely see any movement at all now.. also all of the art could be colored a little more dim as it is perspective wise farther in the background and should not steal too much attention" — and then, "can't we make an animation sprite sheet of the new crowd?", which is the answer to the first half of the first one. A third roll (_crowdroll.py mid) takes the arms-up frame as its reference and asks for the same standing people with their hands brought together in front of their faces. It drifts by 53% of its pixels and that does not matter: the same filter keeps only what was stand and became person. 100 arm blobs in pose 1, 74 in pose 2, 134 spectators once merged, 28 of them owning BOTH poses — those 28 cycle between two raised poses, which is a clap; the rest alternate with the seated frame, which is arms going up and down. The point is the cycle, not the pose. A raiser is ~8x6 logical px on a phone and one that appears and then holds for a second is not something the eye catches; arms moving at 3.5 Hz is. Measured: 2-3% of the stand band now changes every 90 ms during a won game, against near zero before. The sheets are one file per court now — three frames stacked, graded as a single image so they cannot drift apart in colour — and x_crowd2/_c2/_h2 are deleted. TUNE.standBack 0.22 dims the crowd and the boards on every court before the night court's own dim and the splatter rot, in the one function both the cached backdrop and the live raisers already read. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1ad2898530
commit
0250e9bd20
14 files changed
+333
-198
No files matched your search
+20
-2
@@ -74,6 +74,22 @@ SEAT = (
|
||||
"Bright neutral daylight, evenly lit across the whole picture. " + STYLE
|
||||
)
|
||||
|
||||
# FRAME 3 — the other half of the clap. Rolled FROM the arms-up frame, not from the seated one, so
|
||||
# it is the SAME forty people standing: what changes is where their hands are. Two raised poses per
|
||||
# spectator is what turns "his arms appeared" into "he is clapping" (Oliver: "can't we make an
|
||||
# animation sprite sheet of the new crowd?").
|
||||
MID = (
|
||||
"This reference image is a stadium grandstand: most spectators are seated, and about forty are "
|
||||
"standing with both arms raised straight above their heads. Redraw it EXACTLY — the same crowd, "
|
||||
"the same people in the same seats, the same clothes, hair, hats and colours, the same rows, "
|
||||
"railing, empty seats and stairways, the same lighting, pixel for pixel — WITH ONE CHANGE: "
|
||||
"every spectator who is standing with their arms up has now brought their HANDS TOGETHER IN "
|
||||
"FRONT OF THEIR FACE at chin height, elbows bent and pointing out to the sides, in the middle of "
|
||||
"a clap. They are the same standing people in the same places; only their arms have come down "
|
||||
"and in. Their hands and elbows still rise above the row in front of them. "
|
||||
"EVERYONE WHO WAS SEATED IS COMPLETELY UNCHANGED, identical to the reference. " + STYLE
|
||||
)
|
||||
|
||||
CLAP = (
|
||||
"This reference image is a stadium grandstand full of seated spectators. Redraw it EXACTLY — the "
|
||||
"same crowd, the same people in the same seats, the same clothes, hair, hats and colours, the "
|
||||
@@ -125,6 +141,8 @@ if __name__ == '__main__':
|
||||
ref = sys.argv[2] if len(sys.argv) > 2 else os.path.join(HERE, '_sheet_crowd3.png')
|
||||
roll(SEAT, ref, os.path.join(OUT, 'crowd_seat.png'))
|
||||
elif what == 'clap':
|
||||
roll(CLAP, os.path.join(OUT, 'crowd_seat.png'), os.path.join(OUT, 'crowd_clap.png'))
|
||||
roll(CLAP, os.path.join(HERE, '_sheet_crowd3.png'), os.path.join(OUT, 'crowd_clap.png'))
|
||||
elif what == 'mid':
|
||||
roll(MID, os.path.join(HERE, '_sheet_crowd3b.png'), os.path.join(OUT, 'crowd_mid.png'))
|
||||
else:
|
||||
sys.exit('usage: _crowdroll.py seat|clap')
|
||||
sys.exit('usage: _crowdroll.py seat|clap|mid')
|
||||
Reference in new issue
Block a user