Musica, vecchietti con sprite, nuove scene del paese e generatore degli sfondi
Lavoro della sessione precedente: colonna sonora (titolo, paese, ricordi) con muto e volume, vecchietta e vecchietto sulla panchina, scene di Pieve, oratorio, Via de' Medici, Villa Adami, salita, campeggio, Bosco ai Frati e viale dei cipressi, panorama dell'introduzione, tools/genera.py per gli sfondi dalle foto. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UdeKd62opy9PKgpQXtVctF
This commit is contained in:
@@ -5,7 +5,9 @@
|
||||
--despill --names walk_1,walk_2,walk_3,walk_4,stand,talk,take,back --prefix andrea_
|
||||
python3 tools/prepare_character.py /tmp/andrea andrea assets/characters --height 120
|
||||
|
||||
Tutti i fotogrammi vengono ridotti con lo stesso fattore (l'altezza del fotogramma `stand` diventa --height) e
|
||||
Per gli altri personaggi: --frames sit,talk,... --ref sit (i nomi dei fotogrammi e quello che dà l'altezza).
|
||||
|
||||
Tutti i fotogrammi vengono ridotti con lo stesso fattore (l'altezza del fotogramma --ref diventa --height) e
|
||||
salvati in un'unica striscia PNG. Il JSON accanto dice per ogni fotogramma dove sta nella striscia e dove sono
|
||||
i piedi: x è il centro del busto (la parte alta del corpo, che in una camminata resta ferma), y la base.
|
||||
"""
|
||||
@@ -32,11 +34,13 @@ def main():
|
||||
p.add_argument('name')
|
||||
p.add_argument('out')
|
||||
p.add_argument('--height', type=int, default=120)
|
||||
p.add_argument('--frames', default=','.join(FRAMES), help='nomi dei fotogrammi, separati da virgola')
|
||||
p.add_argument('--ref', default='stand', help='fotogramma la cui altezza diventa --height')
|
||||
a = p.parse_args()
|
||||
|
||||
frames = {f: Image.open(Path(a.src) / f'{a.name}_{f}.png').convert('RGBA') for f in FRAMES}
|
||||
stand = frames['stand']
|
||||
factor = a.height / (stand.getchannel('A').getbbox()[3] - stand.getchannel('A').getbbox()[1])
|
||||
frames = {f: Image.open(Path(a.src) / f'{a.name}_{f}.png').convert('RGBA') for f in a.frames.split(',')}
|
||||
ref = frames[a.ref].getchannel('A').getbbox()
|
||||
factor = a.height / (ref[3] - ref[1])
|
||||
strip, meta, x = [], {}, 0
|
||||
for f, im in frames.items():
|
||||
im = im.crop(im.getchannel('A').getbbox())
|
||||
|
||||
Reference in New Issue
Block a user