Scripting 如何在maya中创建.obj和.mtl导出器
我在学校的任务是在maya中创建自定义的.obj和.mtl导出器,但文档很难理解和使用 找到一篇类似这样的博客文章,代码可以工作,但我想知道更多关于它的实际功能以及将来处理类似问题的技巧Scripting 如何在maya中创建.obj和.mtl导出器,scripting,maya,.obj,wavefront,pymel,Scripting,Maya,.obj,Wavefront,Pymel,我在学校的任务是在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(':'
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()
因为这是一个家庭作业,我最好给出一些文档,而不是代码对吗。。以下是maya中的自定义文件转换器。译者可以找到一些更深刻的例子。欣赏:)