0
リストからマテリアルの名前を取得し、各マテリアルの後に名前を付けたレンダーレイヤーを作成し、共有するマテリアルに白いサーフェスシェーダーを適用するスクリプトを作成しようとしていますレンダーレイヤーの名前と黒いサーフェスシェーダーを持っていないオブジェクトにレンダリングします。レンダリングレイヤーをMaya Pythonで設定する
import maya.cmds as cmds
matName = ['blue_mat', 'green_mat', 'red_mat', 'purple_mat']
cmds.shadingNode('surfaceShader',asShader=True,n='WhiteMat')
cmds.setAttr('WhiteMat.outColor', 1.0, 1.0, 1.0, type = 'double3')
cmds.shadingNode('surfaceShader',asShader=True,n='BlackMat')
cmds.setAttr('BlackMat.outColor', 0.0, 0.0, 0.0, type = 'double3')
for i in range(4):
cmds.select(cl=True)
cmds.select(hi=True, all=True)
cmds.createRenderLayer(n=matName[i]+'_layer')
cmds.hyperShade(objects=matName[i])
cmds.hyperShade(assign='BlackMat')
if cmds.hyperShade(objects='BlackMat'):
cmds.hyperShade(objects=matName[i])
これまでのところ、私はすべてのオブジェクトとレイヤーを作成し、すべてに黒のシェーダを適用するためにそれを得ているが、私は唯一の上の材料に白いシェーダを適用する方法については失われたビットですレイヤーは名前を付けました。私はそれを設定するためにif文を使うことができると思うが、私はPythonには新しく、まだ物事を扱おうとしている。
ありがとうございます!