Je souhaite traiter les paramètres de matériau dans un script dans Maya.
Applying a Texture in Python https://forums.cgsociety.org/t/applying-a-texture-in-python/1573565/7
Assigning a Material using Pymel https://discourse.techart.online/t/assigning-a-material-using-pymel/1240
On suppose d'utiliser maya.cmds
import maya.cmds as mc
Créez un shader de fichier et définissez le chemin du fichier de texture.
Créez un nœud de shader et connectez l'attribut (par exemple, color
) du shader auquel vous souhaitez attribuer la texture à file.outColor
.
Il semble que les shaders ne puissent pas être assignés directement aux objets (mesh), donc via le nœud shadingGroup (nœud qui collecte le shader de surface, le shader de volume, etc.).
Connectez le .surfaceShader
du nœud shadingGroup au .outColor
du fichier shader.
Attribuer shadingGroup à un objet. Il semble y avoir plusieurs façons, mais maya.cmds facilite les ensembles?
mc.sets("geo", edit=True, forceElement="sg1")
La structure est la suivante (je me demande si c'est plus facile à comprendre si vous la vérifiez avec l'éditeur Maya Node)
object(mesh) <- shadingGroup node (.surfaceShader) <- (.outColor) File shader (.fileTextureName) <- Texture filename
Si vous souhaitez l'affecter comme ombrage de volume ou ombrage de déplacement, vous pouvez modifier l'attribut connecté à shadingGroup.
Recommended Posts