Surfacing⚓︎
Description⚓︎
Le département Surfacing
est responsable de la création et de l'application des shaders sur les modèles 3D.
Ce qui sors du département Surfacing est un fichier .usd
contenant les matériaux et les assignations des matériaux aux géométries. Les textures et autres resources doivent etre référencées dans le shader.
L'artiste peut créer des matériaux procéduraux, ou utiliser des textures 2D. Si il souhaite créer ses textures, il peut créer une task
pour le texturing
dans le département Surfacing
.
Il est possible de créer des variants de materiaux pour un meme asset.
Qu'est ce qui rentre ?⚓︎
Le département Surfacing reçoit en entrée des fichiers .usd
contenant les modèles 3D high (Modeling High
) (items, personnages, véhicules, etc.) sur lesquels les matériaux seront appliqués.
Qu'est ce qui sort ?⚓︎
Le département Surfacing génère un fichier .usd
qui contiens les materiaux et les assignations des matériaux aux géométries.
Comment créer une scène dans Houdini⚓︎
-
Assurez-vous d'avoir un département de
Surfacing
dans votre asset. Si ce n'est pas le cas, créez-en un.
-
Créez vous une tache (exemple :
Surfacing
, ouLookdev
). A noter que la nomenclature des taches n'est pas importante pour l'instant, vous pouvez mettre ce que vous voulez.
-
Click droit sur la partie 'files' (à droite), puis :
Create Template
->Lookdev
->Houdini
, ou simplement surCreate Template
->Auto Houdini
-
Cela devrait ouvrir une boite de dialogue demandant les paramètres de création de la scène.
- Le "
Creation Method
" détermine si le nombre d'asset a créer dépends du nombre d'assets a importer, ou si on crée un nombre fixe d'assets grace au paramètre "Number of output groups". Si l'on met "Number of output groups", les assets ne sont pas importées automatiquement, car le nombre d'assets importées peut etre different du nombre d'assets à créer. - Le "
Number of output groups
" correspond au nombre d'assets qui sont crées dans la scènes, et donc au nombre de variations qui seront générées si le paramètre "Creation Method" est sur "Number of output groups". - Le paramètre "
Variants share the same materials
" détermine si les variations de l'asset partagent les mêmes matériaux, ou si chaque variation a son propre matériau. - Le "
Import References
" détermine si on importe des assets ou non.
- Le "
-
Notez qu'il y'a une seconde page dans ce dialogue : "
Import Products
". C'est la page qui sert à affiner les products qui seront importées dans la scène au cas ou l'algorithme passe à coté de quelque chose. Ici, on vas importer nos modeling high comme base pour notre surfacing. Lisez la documentation pour plus de détails sur cette page.
-
Une fois remplie, cliquez sur
Create
.
Cela devrait vous créer un fichier en .hip
. Double cliquez dessus pour l'ouvrir dans Houdini.
Rendez vous dans le network /stage
pour voir la scène.
Vous devriez voir une hierarchie déja présente. Celle-ci dépends des assets importés et de la manière dont ils ont été configurés dans la scène.
Comment la scène est t'elle crée ?⚓︎
La scène créée contient le nécessaire pour créer des matériaux, les assigner aux géométries, nétoyer l'ensemble, et publier / exporter.
De plus des éléments sont importées automatiquement :
- Le
Modeling High
de l'asset courant. L'algorythme recherche les modeling High publié, dont le format est en .usd. Si il en trouve plusieurs, la scène contiendra plusieurs groupes, permettant de créer autant de matériaux qu'il ya de géométries. Il detecte les Modeling High en cherchant les assets qui contiennent "ModH" et "Publish" dans leur nom.
Il y'a 3 configurations possible pour la scène :
-
Une seule géométrie importée :
Si un seul modeling high est importé, la scène contiendra un seul groupe, et donc un seul matériau à créer. Dans ce cas, le product crée s'appellera "Surf_Publish
".
-
Plusieurs assets importés, et plusieurs matériaux à créer :
Si plusieurs modeling high sont importés (ou crées manuèlement), la scène contiendra plusieurs groupes, et donc plusieurs matériaux à créer. Dans ce cas, les produits créés s'appelleront "Surf_Publish_var001
", "Surf_Publish_var002
", etc.
Dans ce cas, chaque interieur de groupe ressemble à ça :
-
Plusieurs assets importés, mais un seul matériau à créer :
Si plusieurs modeling high sont importés (ou crées manuèlement), mais que le paramètre "Variants share the same materials
" est coché, la scène contiendra plusieurs groupes, mais un seul matériau à créer. Dans ce cas, le product crée s'appellera "Surf_Publish
".
Comment créer un matériau ?⚓︎
-
Dans Houdini, double-cliquez sur le node vert
Materials
pour entrer dans le network des matériaux.
-
Pour créer un material,
clic droit
->selectionner le materiau voulu
, ouTab
->taper le nom du matériau voulu
. Vous pouvez filtrer en cherchantBuilder
pour trouver des matériaux builder en fonction du moteur de rendu voulu (exemple :Karma Material Builder
, ouUSD MaterialX Builder
).
-
Renommez le material en fonction de ce qu'il représente en cliquant sur le nom du node(exemple :
Mtlx_Wood_Material
, oumtlx_Car_Paint_Material
).Puis double cliquez sur le node pour rentrer dedans.
-
A l'interieur du material, vous pouvez créer votre shader en utilisant les nodes disponibles dans Houdini. Vous pouvez utiliser des textures 2D, ou créer des matériaux procéduraux.
-
Voici un exemple de shader simple utilisant des textures 2D. C'est plus ou moins le même principe que l'hypershade dans maya.
Comment assigner un matériau à une géométrie ?⚓︎
-
Une fois le matériau crée, et l'ensemble correctement nommé, retournez dans le network
/stage
. Puis, selectionnez le node vertMaterials
(ne rentrez pas dedans, nous allons modifier ses paramètres).
-
Nous allons "exposer" le materiau que nous avons crée, afin de lui donner un chemin et une existance dans l'USD (pour l'instant, il existe aux yeux d'houdini, mais il n'est pas encore dans l'USD).
-
Dans le panneau d'attribute editor, cliquez sur le bouton
Autofill Materials
.
-
Cela devrait remplir automatiquement un nouveau material dans la liste en dessous.
Le champMaterial VOP
correspond au lien du material que vous avez crée relatif au nodeMaterials
. Vus que nous avons crée ce node a la racine du nodeMaterials
, le lien est simplement le nom que vous avez donné au material.
Le champMaterial Path
correspond au chemin dans l'USD. C'est ce chemin qui sera utilisé pour assigner le matériau à une géométrie.
-
Enlevez de la chaine de charactère le préfixe
materials/
du champMaterial Path
, afin de ne garder que le nom du matériau. (exemple :Mtlx_Wood_Material
au lieu dematerials/Mtlx_Wood_Material
).
-
Si on inspecte le geometry spreadsheet, on peut voir que le materiau s'est bien mis dans le groupe
mtl
à l'interieur de l'asset USD. C'est ce que l'on cherche.
-
A présent, nous allons assigner le matériau à une géométrie. Pour cela, selectionnez le node vert
Assign Material
(ne rentrez pas dedans, nous allons modifier ses paramètres).
-
Il nous faut drag&drop le materiau créé dans le champ
Material Path
du nodeAssign Material
. Puis, drag&drop le groupe (ou la géométrie) à laquelle vous voulez assigner le matériau dans le champPrimitives
.
Si vous mettez un groupe, vous pouvez terminer la chaine de charactère par/*
pour assigner le matériau à toutes les sous géométries du groupe.
-
Le materiau est à présent assigné à la géométrie. Vous pouvez le vérifier en inspectant le viewer.
Note
Le faire pour la première fois est assez long et peu paretre compliqué, mais une fois que l'on a compris le principe, c'est assez rapide. Courage !
Si on résume les étapes :
- Créer un matériau dans le node
Materials
. - Exposer le matériau dans le node
Materials
. - Assigner le matériau à une géométrie dans le node
Assign Material
.
Comment publier une scène dans Houdini⚓︎
-
En fonction de votre configuration (voir plus haut), rentrez dans un groupe (cyan), ou restez dans le network
/stage
(si pas groupe).
-
Dans le panneau de droite, cliquez sur le bouton
Save to disk
.
Vous devriez à présent avoir un product Surf_Publish
(ou plusieurs Surf_Publish_varXXX
en fonction de votre configuration) dans le format .usd .