如果已分配,我需要打印每个剃须形状及其指定的着色器名称。请帮助。
import os
import maya.cmds as cmds
shave_list = cmds.ls(type='shaveHair')
cmds.select(cl=True)
a = 0
list_texture = []
while a < len(shave_list):
file_list = cmds.listconnections(shave_list[a],type="file")
a+=1
答案 0 :(得分:0)
如果您想要形状的着色器名称:
def shader_from_shape(shape):
sg = cmds.listConnections(shape, type='shadingEngine')
if sg:
return cmds.listConnections(sg[0] + ".surfaceShader")
并获取所有头发形状的着色器:
for shape in cmds.ls(type='shaveHair'):
print shape, shader_from_shape(shape)
如果形状没有附加着色器,则应为着色器打印None
。如果形状有多个着色器,这将无法给出正确的结果 - 我不确定这是否可行。