Aperçu
Le Run Commandn'a pas d'impact sur les pixels - il déclenche une commande système (Bash sur Linux/macOS, CMD ou PowerShell sur Windows) à un moment défini : avant render, après render, à chaque frame, ou avant chaque frame.
Possibilité de passer des variables (frame number, output path, etc.) à la commande via substitution de tokens. Permet des intégrations sophistiquées (notification Slack, copie auto vers serveur de farm, conversion format en sortie).
Où trouver ce node
- Effects Library :
Tools > Miscellaneous > Run Command - Ajout rapide : clic droit dans le Node Editor →
Add Tool > Miscellaneous > Run Command
Comment ça fonctionne
- When to Run
- Moment d'exécution : avant le render entier, après, avant chaque frame, ou après chaque frame. Choisir selon le besoin.
- Command
- La commande shell à exécuter. Peut inclure le chemin complet vers un exécutable + arguments.
- Token substitution
- Variables Fusion remplacées dans la commande :
{Frame}= frame courant,{Output}= path sortie, etc. (selon Fusion version). - Synchronous vs Asynchronous
- Sync = attend la fin de la commande avant de continuer. Async = lance et continue immédiatement.
Configuration
Notification Slack après render :
Run Command (When = After Render,
Command = curl -X POST -d "Render done!" https://hooks.slack.com/...)
Copie de sortie après render :
Run Command (When = After Render,
Command = cp /path/output.exr /server/share/)
Conversion EXR → MP4 après render :
Run Command (When = After Render,
Command = ffmpeg -i {Output} -c:v h264 final.mp4)
Watermark per-frame :
Run Command (When = After Each Frame,
Command = python watermark.py --frame {Frame})
Préprocessing avant render :
Run Command (When = Before Render,
Command = python prepare_assets.py)Onglet Controls
- When to Run (défaut : After Render)
- Before Render, After Render, Before Each Frame, After Each Frame.
- Command
- La commande shell complète. Inclure chemin vers exécutable si pas dans PATH.
- Synchronous (défaut : Off)
- Si activé, attend la fin de la commande avant de continuer le render. Sinon, lance en parallèle.
- Show Console (défaut : Off)
- Affiche la sortie console de la commande dans Fusion. Utile pour debug.
- Working Directory
- Répertoire de travail pour la commande. Permet d'exécuter depuis un dossier spécifique.
Cas d'usage
- Notifications de fin de render- Slack, email, Discord webhook, etc. pour alerter qu'un render est terminé.
- Copie / déploiement automatisé - copier le résultat vers un serveur partagé, NAS, S3, etc.
- Conversion format en sortie - EXR exporté par Fusion → MP4 automatique via ffmpeg pour previews.
- Préprocessing - préparer des assets avant render (générer une LUT, télécharger plates depuis serveur).
- Watermarking - ajout automatique de watermark via script externe pour previews.
- Logging / metrics - enregistrer les durées de render, resource usage dans une base de données pipeline.
- Triggers vers DCC - déclencher un autre logiciel (Maya, Houdini, Nuke) après le render Fusion.
Astuces
- Tester en CLI d'abord- exécuter la commande dans un terminal manuellement pour vérifier qu'elle fonctionne avant de la mettre dans Run Command.
- Async pour fire-and-forget- pour notifications ou actions qui n'ont pas besoin d'attendre, désactiver Synchronous = render continue sans attendre.
- Sync pour pipeline strict - si la commande doit terminer avant la suite (ex. préparation assets), activer Synchronous.
- Show Console pour debug - pendant le développement du command, activer Show Console pour voir les erreurs.
- Tokens variables selon version - vérifier la doc Fusion pour la syntaxe exacte des tokens disponibles selon la version.
- Sécurité : éviter user input brut - ne jamais injecter des entrées non validées dans la commande (risque injection).
- Permissions OS - Fusion doit avoir les permissions pour exécuter la commande / accéder aux fichiers cibles.
- Pour des workflows pipeline sophistiqués, considérer plutôt un farm manager (Deadline, Tractor) qui gère l'orchestration entre Fusion et autres outils.
