Animations de décor · Le processus

Les animations sont agrandies
sans déformer leur mouvement.

Une animation ne se résume pas à une belle image. Il faut garder son rythme, sa transparence et sa place exacte dans le décor, puis corriger ce que l’upscale révèle.

  • 246BAM d’animations de décor inventoriés
  • ×4upscale des frames
  • 30 fpsquand le cycle le permet

Le trajet d’un cycle

Le cycle traité conserve
sa durée d’origine.

La géométrie et le timing du jeu restent la référence. Le pipeline améliore l’image autour de cette structure, sans déplacer l’animation.

  1. 01

    Extraire

    Séparer cycles, frames, RGB et alpha.

  2. 02

    Agrandir

    Upscaler chaque image en ×4.

  3. 03

    Interpoler

    Ajouter les images intermédiaires utiles.

  4. 04

    Corriger

    Reprendre contours, raccords et masques.

  5. 05

    Réintégrer

    Conserver centres, ordre et durée.

  6. 06

    Vérifier

    Regarder chaque animation dans sa zone.

Première passe · ComfyUI en local

Chaque frame est agrandie
quatre fois.

SeedVR 7B reconstruit les détails à partir de l’image du jeu. Le workflow tourne dans ComfyUI, en local sur une RTX 5090. Les frames sont traitées séparément, puis remises dans leur ordre d’origine.

Workflow ComfyUI local · SeedVR 7B
Workflow ComfyUI montrant une frame vanilla du POD, son upscale SeedVR 7B en x4 et sa sauvegarde
120 × 175 px480 × 700 pxLa silhouette et la position restent les mêmes.

Deuxième passe · Topaz Apollo

Le cycle passe de sept à quatorze images
sans changer de durée.

Topaz crée une image entre deux frames existantes. Sur cette fontaine, le cycle passe de 15 à 30 fps, mais continue de durer environ 0,47 seconde.

15 fps7 frames sources
Frame source 1 de la fontaineFrame source 2 de la fontaineFrame source 3 de la fontaineFrame source 4 de la fontaineFrame source 5 de la fontaineFrame source 6 de la fontaineFrame source 7 de la fontaine
30 fps14 frames finales
Frame finale 1 de la fontaineFrame interpolée 2 de la fontaineFrame finale 3 de la fontaineFrame interpolée 4 de la fontaineFrame finale 5 de la fontaineFrame interpolée 6 de la fontaineFrame finale 7 de la fontaineFrame interpolée 8 de la fontaineFrame finale 9 de la fontaineFrame interpolée 10 de la fontaineFrame finale 11 de la fontaineFrame interpolée 12 de la fontaineFrame finale 13 de la fontaineFrame interpolée 14 de la fontaine

L’image et sa découpe

Chaque animation utilise
une image et un masque.

Le canal alpha dit au moteur ce qui est visible. Blanc : opaque. Noir : transparent. Les gris gardent les bords souples, la vapeur et l’eau fine.

01 · RGBCouleurs RGB upscalées de la fontaine
Les couleurs
02 · AlphaMasque alpha de la fontaine
Ce qui reste visible
03 · RGBAFontaine recomposée avec ses couleurs et son masque alpha
L’animation recomposée

Pourquoi un simple upscale ne suffit pas

Un upscale brut fait aussi
réapparaître le fond.

SeedVR améliore les couleurs, mais ne sait pas seul quels pixels doivent rester invisibles. Sans reprise de l’alpha, le fond de la frame réapparaît sous forme de blocs et de bandes.

RGB et alpha sont donc séparés. Le masque est ensuite repris au cas par cas selon la matière : eau, fumée, feu ou bord net.

Sphère upscalée avec le fond rectangulaire de sa frame encore visible
Upscale seul : les couleurs progressent, mais la transparence est cassée.

Le POD · Fondu de bord

Un fondu intègre l’animation
dans la carte.

Après l’upscale, les limites rectangulaires peuvent devenir visibles. Un fondu progressif de 32 pixels en ×4 est appliqué sur le bord du canvas, sans toucher au centre du POD.

Comparaison du POD avant et après un fondu alpha de 32 pixels sur le bord du canvas
AvantAprès · fondu 32 px

Étude de contour · Fontaine d’AR0700

Le contour du masque doit être
reconstruit proprement.

Un agrandissement direct conserve les marches du petit masque d’origine. Spline Fit 1 reconstruit une courbe régulière, puis le masque est vérifié sur toutes les phases du cycle.

Étude technique comparant le masque alpha normal de la fontaine et sa reconstruction Spline Fit 1
À gauche, le contour en escalier. À droite, la silhouette reconstruite avec Spline Fit 1.
Masque alpha normalMasque alpha normal de la fontaine avec son contour en escalier
Le petit masque d’origine, agrandi tel quel.
Spline Fit 1Masque alpha de la fontaine lissé avec Spline Fit 1
Une courbe continue, sans changer la forme générale.
Comparaison finale de la fontaine sans et avec contour reconstruit
Même frame, même eau : seul le contour du masque change.

Suldanessellar · Raccord de deux cascades

Les deux morceaux sont raccordés
en une seule animation.

Dans cette sous-zone, la cascade est stockée dans deux ressources distinctes. Après leur upscale séparé avec SeedVR, les pixels de leurs bordures ne se prolongent plus exactement de la même façon. La jonction devient alors très visible en jeu.

01 · Deux ressources séparées
AM2805B · Partie hautePartie haute isolée de l’animation des cascades
AM2805C · Partie bassePartie basse isolée de l’animation des cascades
Les images sont légèrement écartées ici pour montrer la limite exacte entre les deux ressources.
04 · AM28ADD · Frame assemblée
Une frame complète après assemblage des deux parties de cascades
Après correction, les deux ressources forment une seule image continue.
02 · Raccord brut après SeedVR
Les deux morceaux de cascade alignés bord à bord avec une couture noire simulée
Les deux images sont alignées bord à bord. La ligne noire simule la couture qui apparaissait en jeu.
Partie haute64 pxPartie basse

01Les deux images sont prolongées dans une zone commune de 64 px.

02L’opacité de la partie haute diminue pendant que celle du bas augmente.

03Les deux bordures sont fusionnées sans doubler la lumière de l’eau.

03 · Raccord corrigé
Gros plan sur la jonction finale fusionnée des cascades
Les pixels des deux bords se mélangent progressivement jusqu’à former une seule chute.

Occlusion · Quartier du temple

La première correction de l’occlusion
reste trop pixelisée.

Le décor ne cachait plus correctement la sphère. L’occlusion a d’abord été rétablie avec le tracé d’origine, mais son contour ×1 devenait beaucoup trop crénelé. J’ai donc redessiné un masque propre à la main.

Occlusion de la grande sphère rétablie mais encore très pixelisée
Première correction : l’architecture repasse devant, mais le masque reste trop grossier.
Alpha ≠ occlusion

L’alpha découpe l’animation elle-même. L’occlusion décide quelles parties du décor passent devant elle.

02 · Tracé manuelMasque d’occlusion noir et blanc dessiné à la main dans Photoshop pour la grande sphère
Le masque reprend exactement les montants et l’anneau de l’architecture.
03 · Correction finale en jeuOcclusion finale corrigée de la grande sphère dans le quartier du temple
La sphère passe proprement derrière la structure, sans contour en escalier.

Pas de recette universelle

Chaque animation demande
une correction adaptée.

Les outils tournent par lot, mais les décisions restent visuelles. Eau, fumée, feu ou mécanisme : les défauts et les corrections ne sont jamais tout à fait les mêmes.

EAURaccords et boucles

Éviter les coutures et garder un débit régulier.

VAPEURTransparence fine

Conserver les gris du masque sans créer de halo.

FEULumière et contour

Garder l’énergie sans épaissir la flamme.

DÉCOROcclusion locale

Adapter le masque à chaque position dans la carte.

Pipelines par lot

Claude et Codex m’ont aidé à construire les outils d’extraction, d’upscale, d’interpolation et de contrôle. Chaque résultat reste ensuite vérifié par moi-même, animation par animation et en jeu.

Le résultat recherché

Le mouvement final reste fluide,
détaillé et bien intégré.

Le mouvement d’origine reste reconnaissable. Le travail sert surtout à retirer ce que la haute résolution rend visible : marches, halos, coutures et mauvais masques.