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을 처음 사용하고 여전히 사물을 다루려하고있다.
감사합니다.