2017-05-24 38 views
0

私はmayobにカスタム.objと.mtlエクスポータを作成するという仕事を学校で持っていますが、ドキュメントは本当に理解しにくく使い方が難しいです。mayaで.objと.mtlエクスポータを作成するには

このように見えるブログポストが見つかりました。このコードは機能しますが、実際には何をしているのか、今後このような問題を処理するためのヒントを知りたいと思います。その宿題以来

import pymel.core as pm 

def material(): 
    file2 = open("C:/Users/MyName/Desktop/test.mtl", "wb") 
    textureName="" 
    object = pm.ls(sl=1)[0].split(':')[0] 

    selection = pm.ls(sl=1) 
    for each in selection: 
     object=pm.PyNode(each) 
     shadingGroups = object.shadingGroups() 
     print("SG "+str(shadingGroups)) 

     for shadingGroup in shadingGroups: 
      material=shadingGroup.listConnections(source=True, destination=False, type=nt.Lambert)[0] 
      print("Mat "+str(material)) 
      texture = material.color.listConnections(type=nt.File)[0] 
      textureName=texture.fileTextureName.get() 
      print("Texture "+str(textureName)) 

      materialColor = material.getColor() # for Kd 
      materialAmbient = material.getAmbientColor() # for Ka 
      materialSpecular = material.getSpecularColor() # for Ks 
      refractiveIndex = material.getRefractiveIndex() # for Ni 

      file2.write("newmtl " + "test" + "\r\n") 
      file2.write("Ka " + str(materialAmbient[0]) + " " 
        + str(materialAmbient[1]) + " " 
        + str(materialAmbient[2]) + "\r\n") 
      file2.write("Kd " + str(materialColor[0]) + " " 
        + str(materialColor[1]) + " " 
        + str(materialColor[2]) + "\r\n") 
      file2.write("Ks " + str(materialSpecular[0]) + " " + str(materialSpecular[1]) + " " + str(materialSpecular[2]) + "\r\n") 
      file2.write("d 1.0\r\n") 
      file2.write("Illum 2\r\n") 
      file2.write("map_Kd " + textureName + "\r\n") # for map_Kd 

    file2.close() 

答えて

1

私はより良いいくつかのドキュメントではなく、コードの権利を与えるだろうか? ;)..ここにはmayaのカスタムファイルトランスレータ用のdocumentationがあります。そして例の翻訳者はhere、もう少し深いのはexampleです。

+0

ありがとうございます:) – Hamaro

関連する問題