[:arrow_left:](/WQum2tYYSXGaBjnU2wMxzQ) To Pirata Dashboard [:arrow_left:](/e1lgjbjFT_e5WXE4I5r6lw) To Shading Dashboard # **Wiki : Shading** ###### tags: `Shading` `Notice` [:arrow_left:](/WQum2tYYSXGaBjnU2wMxzQ) to main Dashboard [:arrow_left:](/47WdGvYKSueLiNqSQP_VFw) to Texturing Dashboard :::success Bienvenue dans le monde merveilleux des assets de Pirata et Capitano ! ^^ ::: ![](https://i.imgur.com/koXfaGz.gif) ## Constat: Le shading sur cette série est très complexe pour un résultat final peu poussé. Les shaders ont des arborescences très inégales, toutes les modifications colorimétriques sont faites via des nodes directement dans les shaders. Il y a des shaders de SSS sur des assets qui n'en ont pas le besoin, des assets identiques avec des shaders différents, parfois du displace. Tout comme le texturing, une grosse optimisation est possible, pour uniformiser et établir une base de travail commune à tous les assets. ## Le Cahier des Charges: Le format série, tel que "Pirata et Capitano" comprend certaines contraintes, comme le temps de calcul. Pour des plannings de livraison "Rendu" sérrés, le temps de calcul des images est important. Plus les shaders sont compliqués, plus il y a aura de nodes à calculer, plus les temps seront longs. Comme le département texturing, un travail de conformation est à faire avant tout, sur tous les assets de la saison 1. Cette confo va permettre d'établir la méthodologie de travail, qui sera à appliquer sur tous les nouveaux assets. Ce cahier des charges le voici: :::info - **Uniformiser les assets** de la saison 1, au niveau technique, pour avoir des assets propres et cohérents. - **Etablir une methodologie de travail esthétique et technique** pour que les assets aient un traitement identique, et permettre ainsi, la réutilisation et la création de nouveaux assets. - **Etablir une méthode de communication**. Communication interdépartement, communication avec les TDs. Pour ne pas perdre d'information, pour un débug efficace. ::: --- ## Uniformiser les assets L'uniformisation se fait après l'étape du Bake (Voir le wiki du texturing **[ici](https://hackmd.io/N-fh8JtiRzWNYQzAVFAsYA)**) L'arborescence de Diffuse est nettoyée de tous les colorCorrects ainsi que des colorLayers. Elle se constitue simplement du node de Fresnel et d'un node remap pour gérer ce dernier. Exemple l'arborescence de la combi de Pirata: ![](https://i.imgur.com/mgVZcxp.jpg) ![](https://i.imgur.com/XFktlB2.jpg) Toutes les modifications de couleur, les assignations de textures à une zones etc étaient gérées dans le shader, elles seront gérées sur les maps directement à l'étape de Texturing. La base sera celle ci: - Diffuse > Fresnel + remap - Bump > Node de bump - Spec > directement plugée dans le slot **- Les Shaders** Les shaders de SSS ne seront appliqués que sur les peaux des personnages. Certains cas particuliers pourront avoir un shader SSS, à voir avec le superviseur Shading sur le moment les besoins ou à la demande du réalisateur. :::info Les blends de shaders sont interdits sur les assets saison 1, excepté pour les CHR (blend d'anime faciale). Si Toutefois en saison2, des nouveaux designs demandent une structure de shader plus complexe, le superviseur Shading prendra la décision de modifier le shader. ::: Pour les paramètres de sss des shaders Redshift, également à utiliser avec précaution. Pour certain asset, privilégier la transluscence, plus simple à gérer et moins couteux. Type d'asset qui ont un shader de SSS: - Body des personnages. Type d'asset qui ont un Redshift basique + transluscence: - Hair des personnages. - Paper (Ex "PaperLantern") Type d'asset qui n'ont pas besoin de SSS (shader ou parametres): - Végétation. --- ## La Méthodologie :::success Ces règles ont pour but d'établir une base saine de travail. Cette base, permettra de garder une ligne directrice. Pouvoir gérer les shaders simplement et agir efficacement sur les retakes et les delais. Recréer un équilibre entre Texturing et Shading. ::: --- ### **- Le Pipe (Tracking Shotgun)** Il y a 2 tasks de Shading, "Pre Rig" et "Post Rig". Dans la scène "Pre Rig" > seront fait le shading et les assignations. Au moment du publish, les assignations seront enregistrées. Dans la scène "Post Rig" les assignations seront réinjectées sur les meshs riggés, et eventuellement, des connexions seront faites à ce step si besoin de Shader animés. :::info **Pour travailler sur ces scènes, il faut que le modeling soit "Approved" sur toutes ses steps et que la scène "Out Modeling" soit publishée.** ::: **- Shading Pre Rig:** ![](https://i.imgur.com/ZDEgjKG.png) Activer les tasks "Build" et "Shading" 1. Check du Build ![](https://i.imgur.com/nJ2GB6c.jpg) 2. Création de la scène ![](https://i.imgur.com/7eg30dW.jpg) Votre scène est alors vierge. ![](https://i.imgur.com/daqIchY.png) ![](https://i.imgur.com/w4rFv0e.jpg) Votre asset est importé en référence et un NameSpace a été rajouté. ![](https://i.imgur.com/dcngNAY.png) Pour les assets S1: :::success Ceux là ont déjà des maps et des shaders clean, via le bake. **Le shading se fera dans la scene "Shading Pre Rig".** ::: Une fois la confo des TEX faites, il est possible d'importer en dur les **BridgeTexturing** via le **Loader Shotgun**. ![](https://i.imgur.com/VfnEOcC.png) Des fileNodes seront crées avec le filepath correspondant. Des **Modules Shaders** (présentés plus bas) peuvent être importé en dur également via le **Loader Shotgun** à partir de son onglet **SHA**. Une fois toutes les ressources importées, il est nécéssaire de remplacer les filepath des filenodes **BridgeTexture** importés dans les filenodes des **Module Shaders**. De plus, il est nécéssaire de renommer toute la structure nodale avec la bonne nomenclature. Cette étape manuelle pouvant être fastidieuse, un **Tool** permet de rapidement importer un **Module Shader** contenant directement les filepath requis en selectionnant les textures correspondantes, en plus de automatiquement renommer tout les nodes. Des explications concernant ce Tool peuvent être trouvées via le lien suivant: https://hackmd.io/-iQC0m_qRoqeH_5IhB0csw?view Pour les assets S2: Il faudra penser les assignations des shaders déjà à la step d'uv. Déplier et faire les layouts d'uvs en fonction des besoins et vous pourrez déjà faire vos assignations avec des shaders Redshift ou de simple lambert. Ces assignations seront récupérées et injectées dans la scene Shading Pre Rig. Lors d'import de plusieurs shaders, certains nodes partagerons la même nomenclature. Il est important de s'assurer que l'incrementation se fasse correctement, cad, en incrementant la partie en gras présentée ici *AssetName_Variations_ExtraName_**01**_NodeType* ### **- WIP Shading** Une fois la scene mise en place, il reste 2 opérations à appliquer afin de pouvoir travailler dans les bonnes conditions: - Importer le Template Lighting pour travialler avec un éclairage correspondant au projet. - Appliquer des smooth attributs pour avoir un rendu correcte de la géometrie. Voici la ligne de commande pour appliquer les bonnes options automatiquement. from maya import cmds Shapes = cmds.ls(sl=True) print Shapes for shape in Shapes: cmds.setAttr( '{}.rsEnableSubdivision'.format(shape), 1 ) cmds.setAttr( '{}.rsMaxTessellationSubdivs'.format(shape), 2 ) cmds.setAttr( '{}.rsScreenSpaceAdaptive'.format(shape), 1 ) **- Shading Post Rig** :::danger **A ECRIRE** ::: ### **- Les Modules** Une librairie de Modules Shader à été mis en place pour la confo shading. Ces Modules ne concernent que la Saison 1. Il est possible qu'à terme, les connexion de textures pour les reflections, ne se fasse plus dans la Specular Weight, mais directement dans la roughness. Ils auront la structure classique, il faudra simplement s'assurer que les filepath des filenodes soient à jour, compléter les nomenclatures et régler certains paramètres comme la spec, le fresnel et le bump. A moins de les loader via le [Connect Module to Textures Tool](https://hackmd.io/-iQC0m_qRoqeH_5IhB0csw?view) Par souci de conformité, tout les shaders ont par défaut: - Une map de Spc connecté directement dans le SpecularColor - SpecularRoughness = 0.45 - IOR = 1.3 - Une map de Bmp connecté dans un RedshiftBumpMap - HeightScale = 0.01 - Un module de Fresnel - Un Lambert connecté dans le ShadingGroup pour avoir une previz viewport à l'intention du Layout. **- Les Types de Modules** Il y a 5 types de shader complet et 1 type d'arborescence (ensemble de nodes sans shader) - SHADefault_Classic > Dans ce shader est appliqué les valeurs par défaut décrites plus haut. ![](https://i.imgur.com/v63DIwq.png) - SHADefault_Character > Ce shader est un RedshiftSubSurfaceScatter. Ce SubSurfaceScatter est connecté dans un RedshiftMaterialBlender pour y ajouter le module d'expression faciales. Notez que à cette étape de shading, les expressions faciales ne sont pas disponibles. Cela a pour effet de ne pas pouvoir créer un turntable correct si le RedshiftBlendMaterial est assigné car le fileNode d'expression facial est vide. Il faut donc, pour le moment, assigné le RedshiftSubSurfaceScatter. **ATTENTION A NE PAS DELETE UNUSED NODE LE BLEND QUI SERA NON ASSIGNE** Le Blend sera assigné à l'étape PostRig. - SHADefault_Dull > Ce shader est similaire au Classic mis à part qu'il a une roughness à 0.8 pour lui donner un aspect matte. - SHADefault_Glass > Ce shader est similaire au Classic mis à part qu'il a de la transparence. - SHADefault_Coating > Ce shader est similaire au Classic mis à part qu'il a du Coating afin de donner un aspect plus reflectif pour suggérer du metal. - SHAUtilities > Simplement l'arborescence de Fresnel, un ensemble de 2 nodes, pour venir rajouter l'option à un shader qui ne l'a pas. ![](https://i.imgur.com/fbYb7SF.png) Il sera à cabler à votre/vos map.s de diffuse. **- Processus Load Modules** :::info On importe les modules via le loader (pas l'import via l'hypershade) ::: ![](https://i.imgur.com/dxqnEWw.png) ![](https://i.imgur.com/jB4mbDw.jpg) :::danger Il est interdit aux graphistes de modifier les contenus des modules ::: --- ### Le Publish Une fois le shading accompli. Il est temps de passer à l'étape de Publish. Il est important de d'abord save sa scene via **Shotgun**. ![](https://i.imgur.com/rP7bZH2.png) Une fois save, vous pouvez passer à l'étape de Publish. Pour Publish, il suffit d'ouvrir le **Shotgun: Publish** ![](https://i.imgur.com/Sbm0qvb.png) Lancer le **Sanity Check** en cliquant sur Validate. Voici les differents checks appliqués par le Sanity Check: https://hackmd.io/yjflKVZKTw-_slhT-pq6yg?view Le Sanity Check approuvé, créez un Thumbnail et lancer le **Publish**. Une version de turntable sera disponible sur Shotgun en même temps que sa task shading passera en Review. --- ## La Communication ---