
Erreur : Legacy Render Layers dans Maya
Aperçu
Que sont les Legacy Render Layers et pourquoi cette erreur se produit-elle ?
Maya dispose de deux systèmes de couches de rendu distincts, et ils ne cohabitent pas bien. Le système legacy — disponible dans Maya 2016 et les versions antérieures — est aujourd'hui obsolète, remplacé par Render Setup, introduit dans Maya 2017. Lorsque vous ouvrez un fichier de scène contenant des Legacy Render Layers (ou un fichier référencé qui en contient), Maya affiche cette erreur : « Error: You are attempting to load a file that contains legacy render layers into a scene. »
Cette erreur apparaît parce que les deux systèmes reposent sur des architectures fondamentalement différentes. Les Legacy Render Layers stockent les informations de couche directement dans le fichier de scène, souvent via les anciens utilitaires du Render Layer Editor. Render Setup, à l'inverse, est un système basé sur des nœuds qui vit dans la hiérarchie des Render Settings et adopte une approche plus modulaire. Lorsque Maya tente de charger une couche legacy dans un environnement Render Setup moderne, il ne peut pas réconcilier automatiquement les différences.
Nous avons rencontré ce problème d'innombrables fois lorsque des clients migrent d'anciens projets vers des versions plus récentes de Maya. Le problème s'aggrave avec l'utilisation de fichiers référencés : si un fichier référencé a été créé dans Maya 2016 ou une version antérieure avec les Legacy Render Layers activées, ces couches se retrouvent dans votre scène principale, que vous le vouliez ou non.
Comprendre les deux systèmes de rendu
Legacy Render Layers (Maya 2016 et versions antérieures) :
- Stockaient les informations de couche directement dans le fichier de scène
- Utilisaient l'ancienne interface du Render Layer Editor
- Chaque couche contenait une séparation en passes de rendu (diffuse, réflexion, ombre, etc.)
- Simples mais limitées : elles ne s'adaptaient pas bien aux workflows multi-passes complexes
- Obsolètes à partir de Maya 2017
Render Setup (Maya 2017 et versions ultérieures) :
- Architecture basée sur des nœuds, stockée dans les Render Settings
- Plus puissant et flexible pour les workflows de compositing complexes
- Sépare les définitions de couches de rendu du contenu de la scène
- Entièrement compatible avec toutes les versions de Maya à partir de 2017
- Standard pour les pipelines de production professionnels
La différence clé : les couches legacy sont « intégrées » à votre scène, tandis que Render Setup lui est « externe ». Cette séparation rend Render Setup plus sûr pour la collaboration et le contrôle de version : votre configuration de rendu peut changer sans modifier la géométrie 3D ou l'animation sous-jacentes.
Pourquoi cette erreur compte en production
Les erreurs liées aux Legacy Render Layers ne sont pas qu'un simple désagrément. Elles peuvent provoquer plusieurs problèmes sérieux :
Échecs silencieux en rendu par lots : Si vous soumettez des jobs à une render farm cloud comme le service de rendu cloud Maya de Super Renders Farm, des conflits de couches legacy peuvent faire échouer les rendus silencieusement ou produire une sortie incorrecte. Le gestionnaire de rendu peut traiter le job avec succès tout en produisant les mauvaises passes de rendu ou en ignorant des couches entières, sans message d'erreur clair.
Résultats incohérents selon les versions du logiciel : Si votre équipe utilise plusieurs versions de Maya (2016, 2018, 2022, etc.), les scènes contenant des couches legacy se comporteront différemment selon les machines. Le poste de travail d'un artiste peut fonctionner parfaitement tandis que celui d'un autre échoue complètement.
Incompatibilité avec les outils modernes : Les scripts tiers, plugins et outils d'automatisation prennent rarement en compte les couches legacy aujourd'hui. Des outils comme Deadline, qube et les scripts de gestion de rendu personnalisés attendent Render Setup.
Correction immédiate : activer « DAG Objects Only » dans l'Outliner
La solution la plus rapide consiste à masquer les nœuds de couche de rendu :
- Ouvrez la fenêtre Outliner (Windows > Outliner)
- Allez dans Display > DAG Objects Only
- Décochez « DAG Objects Only »
Cela révèle les nœuds de couche de rendu cachés sans corriger le problème sous-jacent : vous verrez apparaître la structure des couches legacy dans votre Outliner. L'erreur disparaît temporairement, mais les couches legacy sont toujours là.
Il ne s'agit que d'une correction temporaire. C'est utile pour ouvrir rapidement une scène, mais cela ne résout pas le problème de fond. Pour la production et le rendu cloud, il vous faut une solution permanente.
Solution 1 : convertir les couches legacy vers Render Setup
C'est la solution privilégiée à long terme. Convertir les couches legacy vers Render Setup est simple :
- Ouvrez la scène dans Maya 2017 ou une version ultérieure
- Allez dans Render > Render Setup (Window > Render Editors > Render Setup)
- Dans la fenêtre Render Setup, vous devriez voir un message concernant les couches legacy ou un bouton de conversion
- Suivez l'assistant de conversion pour migrer vos couches legacy existantes vers le nouveau système
- Une fois la conversion terminée, enregistrez la scène
L'outil de conversion de Maya gère la majeure partie du travail automatiquement. Cependant, les configurations multi-passes complexes avec des attributs de rendu spécifiques peuvent nécessiter des ajustements manuels après la conversion. Testez votre configuration convertie en effectuant un petit rendu avant de l'envoyer vers une render farm cloud.
Solution 2 : supprimer entièrement les Legacy Render Layers
Si votre scène comporte plusieurs couches de rendu mais que vous n'avez besoin que d'un seul rendu maître, vous pouvez simplement supprimer le système de couches legacy :
- Sélectionnez tous les nœuds de couches de rendu legacy dans l'Outliner
- Supprimez-les (Edit > Delete)
- Enregistrez le fichier
- Rouvrez le fichier pour confirmer que la structure est propre
Après la suppression, Maya générera un nouveau Render Setup par défaut à la prochaine ouverture. Cette approche fonctionne lorsque vous n'avez pas besoin de rendu multi-passes complexe.
Solution 3 : nettoyage via un script MEL
Pour un nettoyage par lots sur plusieurs fichiers, utilisez ce script MEL dans le Script Editor :
// Remove all legacy render layers
string $layers[] = `ls -type renderLayer`;
for ($layer in $layers) {
if ($layer != "defaultRenderLayer") {
delete $layer;
}
}
Exécutez ce script dans chaque fichier nécessitant un nettoyage. Vous pouvez également l'intégrer dans un workflow de traitement par lots pour nettoyer des dizaines de fichiers en une fois.
Solution 4 : script Python pour une migration automatisée
Si vous gérez de nombreuses scènes legacy, utilisez ce script Python pour une migration plus élaborée :
import maya.cmds as cmds
# Get all render layers except default
layers = cmds.ls(type='renderLayer')
layers = [l for l in layers if l != 'defaultRenderLayer']
# Delete legacy layers
for layer in layers:
try:
cmds.delete(layer)
print(f"Deleted: {layer}")
except Exception as e:
print(f"Error deleting {layer}: {e}")
# Save file
cmds.file(save=True)
print("Scene cleaned and saved.")
Ce script supprime toutes les couches legacy et enregistre le fichier automatiquement. Vous pouvez l'exécuter via le mode batch de Maya ou l'intégrer dans un outil de pipeline.
Comprendre les Render Settings et l'option « Preferred Render Setup »
Dans les versions récentes de Maya, la fenêtre Render Settings (Render > Render Settings ou Render > Render Setup) contient une option essentielle : Preferred Render Setup Mode. Ce menu déroulant contrôle la façon dont Maya gère les informations de couche :
- Render Setup (par défaut) : utilise exclusivement le nouveau système basé sur des nœuds
- Legacy : autorise les couches de rendu à l'ancienne (déconseillé pour les nouveaux projets)
Si vous mettez à niveau un projet legacy, assurez-vous que cette option est réglée sur « Render Setup ». Si elle est encore sur « Legacy », modifiez-la et réenregistrez le fichier. Cela garantit que tout nouveau travail effectué sur la scène utilise le système moderne.
Tester votre correction avant le rendu cloud
Après avoir converti ou nettoyé vos couches legacy, testez en local avant d'envoyer votre scène vers une render farm :
- Effectuez le rendu de quelques images pour vérifier que toutes les passes se rendent correctement
- Vérifiez la fenêtre Render Setup pour vous assurer que vos couches apparaissent comme prévu
- Vérifiez les chemins de textures et de références (ils peuvent parfois se rompre pendant la conversion)
- Testez le rendu par lots si votre farm utilise des soumissions par lots
- Enregistrez et vérifiez que le fichier s'ouvre proprement, sans erreur, sur une autre machine si possible
Lors de l'envoi vers Super Renders Farm ou tout autre service cloud géré, les fichiers propres se rendent plus vite et produisent des résultats prévisibles. Les erreurs liées aux couches legacy ajoutent un temps de débogage que vous n'avez pas envie de payer.
Problèmes connexes et dépannage
Fichiers référencés contenant des couches legacy
Si vous importez un fichier référencé contenant des couches legacy, vous verrez l'erreur même si votre scène maître est propre. Solutions :
- Demandez au membre de l'équipe qui possède ce fichier référencé de le nettoyer et de le réenregistrer
- Utilisez File > Reference Editor pour isoler la référence problématique
- Déchargez temporairement la référence, enregistrez la scène maître, puis rechargez-la
Impossible de trouver l'option de conversion dans Render Setup
Les premières versions de Maya 2017 n'incluaient pas l'outil de conversion. Mettez à jour vers Maya 2017 Update 3 ou une version ultérieure (ou 2018+) pour accéder à l'assistant de conversion.
La fenêtre Render Setup n'affiche aucune couche
C'est en fait une bonne nouvelle : cela signifie que votre scène est propre. La fenêtre Render Setup est généralement vide pour les nouvelles scènes. C'est normal.
Les jobs en rendu par lots échouent sur la farm mais fonctionnent en local
C'est un problème classique de couches legacy. Les render farms cloud appliquent souvent une validation plus stricte que votre machine locale. Resoumettez le job après avoir nettoyé la scène.
FAQ
Q: La conversion des couches legacy vers Render Setup va-t-elle modifier ma sortie de rendu ? A: La conversion est conçue pour être non destructive, mais les configurations multi-passes complexes peuvent nécessiter de légers ajustements. Effectuez toujours un rendu de test en local pour vérifier. Nous recommandons de le faire avant de soumettre de gros jobs en lots à une farm.
Q: Puis-je avoir à la fois legacy et Render Setup dans le même fichier ? A: Techniquement oui, mais ce n'est pas pris en charge et cela provoquera un comportement imprévisible. Utilisez un seul système par fichier. Convertissez ou nettoyez, mais ne mélangez pas.
Q: L'erreur disparaît-elle après avoir décoché « DAG Objects Only » ? A: Oui, temporairement. Mais les couches legacy sont toujours présentes dans le fichier. L'erreur réapparaîtra lorsque vous ouvrirez le fichier sur une autre machine ou que vous le soumettrez à une render farm. Décocher cette option est une solution rapide pour un travail immédiat, pas une véritable correction.
Q: Mon équipe utilise Maya 2016. Devons-nous mettre à niveau ? A: Pas immédiatement, mais les couches legacy deviendront de plus en plus problématiques. Maya 2016 a maintenant 10 ans. Nous recommandons de planifier une mise à niveau progressive vers Maya 2022 ou 2024 dès que le budget le permet. En attendant, évitez de créer de nouvelles scènes avec des Legacy Render Layers : elles ne migrent pas bien vers les versions futures.
Q: Puis-je soumettre une scène avec des couches legacy à une render farm cloud ? A: Cela dépend de la farm. Certaines farms (dont Super Renders Farm) peuvent traiter les scènes legacy, mais elles les traitent plus lentement et sont plus sujettes aux erreurs silencieuses. Nettoyez d'abord vos scènes pour des résultats fiables et prévisibles. Consultez notre guide sur la résolution des plantages courants de Maya à l'ouverture de fichiers de scène pour d'autres problèmes de stabilité qui accompagnent souvent les anciennes scènes.
Q: Render Setup fonctionne-t-il avec les moteurs de rendu V-Ray et Corona ? A: Oui. Render Setup est indépendant du moteur de rendu. V-Ray, Corona, Arnold et Redshift fonctionnent tous avec Render Setup dans Maya 2017 et versions ultérieures. Les couches legacy fonctionnent aussi avec ces moteurs, mais là encore : migrez vers Render Setup pour la stabilité et la compatibilité.
Ressources
- Maya Render Setup Documentation — Guide officiel d'Autodesk sur le système moderne Render Setup
Résumé
Les Legacy Render Layers sont un vestige des anciennes versions de Maya. Si vous voyez le message « Error: You are attempting to load a file that contains legacy render layers », vous disposez de plusieurs options simples : convertir vers Render Setup, supprimer entièrement les couches, ou utiliser un script pour un nettoyage par lots. Pour le travail de production et le rendu cloud, nous recommandons de convertir vers le système moderne Render Setup. Il est plus robuste, s'adapte mieux aux workflows multi-passes complexes et évite les échecs silencieux pendant le rendu par lots.
Testez vos scènes converties ou nettoyées en local avant de les envoyer vers une render farm. Quelques minutes de validation vous épargnent des heures de débogage sur des jobs échoués.
Dernière mise à jour : 2026-03-17



