中易网

如何通过maya mel语言获取所选物体的材质球名称以及材质球color节点下的file节点名称。

答案:2  悬赏:40  
解决时间 2021-01-15 12:11
  • 提问者网友:皆是孤独
  • 2021-01-15 01:55
如何通过maya mel语言获取所选物体的材质球名称以及材质球color节点下的file节点名称。
最佳答案
  • 二级知识专家网友:从此江山别
  • 2021-01-15 03:01
首先通过transform节点获取其shape节点。
transform节点名:pSphere1
shape节点名:pSphereShape1
球体历史节点名:polySphere1
第一种方法如下:
string $Shape[] = `ls -dag -sl -type "pSphere1"`;
系统会返回 两个节点pSphere1(transform类节点) 和 pSphereShape1(shape节点)名并赋值给数组$Shape[] ,那么数组$Shape[0] 保存了pSphere1节点名;数组$Shape[1] 保存了pSphereShape1节点名;
第二种方法如下:
string $shapes[] = `listRelatives -shapes "pSphere1"`;
此法为显示与transform关联的所有shape节点,当前只有一个shape节点pSphereShape1,所以$shapes[0]保存了pSphereShape1节点名。
全部回答
  • 1楼网友:一叶十三刺
  • 2021-01-15 03:50

这个附件里 在maya脚本编辑器里的python里输入  程序载入后 选中模型执行函数 lsMaterial_file()
就可打印出其下所有材质球的file名称 还有函数里有个kle的序列 这里边保管的是材质球的类型 如果你需要其他类型可以再次添加
其实很简单 只是过程有些繁琐
listConnections就可以干这事 但需要用户自行提供 材质球名称
而查询材质球 又需要 提供 ShadingSample节点名称 

所以顺序如下 根据OBJ模型上的名称 找到其自身的mesh节点名称 在从其关联找到 旗下的ShadingSample节点 然后就可以找到材质球 根据listConnections的type模式下查找file即可
希望能帮到你
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息