2017-08-16 3 views
-1

割り当てられているシェービングシェイプと割り当てられたシェーダ名を印刷する必要があります。これで助けてください。MayaでShave nのヘアカットのシェイプのリストとそのシェーダリストの接続をPythonを使って見つける方法

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 
+3

あなたの質問がありますか? – Miket25

+0

あなたの質問は明確ではありません。シェーダー/ファイルまたはすべてのネットワークを探したいですか?あなたの結果の例を送ってください –

+0

混乱して申し訳ありません。 もしあれば、シェービングシェイプと割り当てられたシェーダ名を印刷する必要があります – Murali

答えて

0

シェイプのためのシェーダ名場合:形状が全くシェーダが、それを添付していない場合

for shape in cmds.ls(type='shaveHair'): 
    print shape, shader_from_shape(shape) 

def shader_from_shape(shape): 
    sg = cmds.listConnections(shape, type='shadingEngine') 
    if sg: 
     return cmds.listConnections(sg[0] + ".surfaceShader") 

と、すべての髪の形状のためのシェーダを得るためにシェーダのためにNoneを印刷する必要があります。シェイプに複数のシェーダーがある場合、これは正しい結果を得られません。可能かどうかわかりません。

関連する問題