houdiniの話です。
BGなどでcolorとopacityだけにテクスチャが入っているFBXモデルを
houdiniで読み込んだ際に、constant shaderに組み換える時に使ったpythonです。
後はmaterialpatをwrangle等で書き換えれば、1クリックで変更終了!
これ自体は限定的過ぎるけど、対象のパラメータを変更すれば他のシェーダにも応用出来るので、足掛かりになればいいなくらいと思ってますー。
これから少しづつ自分用のメモで残していたものを書いていこうかと思います。誰かの役に立てばいいなくらいなノリなので、微妙なものもあるかもですが、それはそれでいいかなと。
import hou
def cangeFbxMaterial():
nodes = hou.node('/obj/').allSubChildren()
for node in nodes:
if node.outputs():
if node.type().nameComponents()[2] == 'v_fbx':
outnode = node.parent()
nname = outnode.name()
map1 = node.evalParm("map1")
map2 = node.evalParm("map2")
newNode = hou.galleries.galleryEntries("constant")[0].createChildNode(hou.node('mat/'))
newNode.setName(nname)
newNode.parm('dif_map').set(map1)
newNode.parm('opacmap').set(map2)
newNode.parm('usePointColor').set(0)
newNode.parm('usePointAlpha').set(0)