五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

[MAYA腳本] 根據(jù)材質(zhì)分離OBJ文件腳本

2020-06-03 17:07 作者:小小の我  | 我要投稿


MAYA導(dǎo)入OBJ的時候經(jīng)常會遇到這種即使勾選了多重物體之后導(dǎo)入的模型也是相連在一起的情況,

可以點擊Mesh→Seperate將模型按照相連的面片分離,

但是遇到那種分離之后有成百上千零件的物體想再把同類的部分合并起來就麻煩了,比如這只冰箱

這個冰箱分離之后一共有653個零件

實際上其他軟件導(dǎo)出的obj如果設(shè)置正確都會一個mtl文件

如果maya讀取到了這個文件的話就會把物體的材質(zhì)組信息一起導(dǎo)入進(jìn)來,我們可以根據(jù)這個材質(zhì)組來選擇物體的面進(jìn)行分離(當(dāng)然你也可以選擇fbx或者abc格式)

這個物體一共有16個材質(zhì)

一個一個分離太麻煩了,我們輸入腳本來按照材質(zhì)自動將模型分離好,復(fù)制以下代碼

#The?selected?item?must?be?Obj?by?imported

import?maya.cmds?as?cmds

def?seperateObj(merger):
????mergerShape?=?cmds.listRelatives(merger,?s=1)[0]
????allSG?=?cmds.listSets(o=mergerShape,?type=1)
????
????for?sg?in?allSG:
????????locals()[sg]=[]
????
????components?=?cmds.polySeparate(merger,?ch=0)
????grp?=?cmds.listRelatives(components[0],?p=1)
????
????for?element?in?components:
????????sgname?=?cmds.listSets(o=cmds.listRelatives(element,?s=1)[0])[0]
????????locals()[sgname].append(element)
????????
????for?sg?in?allSG:
????????if?len(locals()[sg])==1:
????????????cmds.sets(locals()[sg][0],?e=1,?forceElement?=?sg)
????????????cmds.rename(locals()[sg][0],?(merger+"_"+sg))
????????
????????else:
????????????part?=?cmds.polyUnite(locals()[sg],?ch=0,?n=(merger+"_"+sg))
????????????cmds.sets(part,?e=1,?forceElement?=?sg)
????????????cmds.parent(part,?grp)

for?obj?in?cmds.ls(sl=1):
????seperateObj(obj)

打開腳本編輯器,粘貼到python標(biāo)簽頁,選中需要分離的物體點擊執(zhí)行

OK,分離好了,每個物體的名字是未分離物體的名字加上屬于它的著色組名字作為后綴

也支持多選物體一起分離

不想每次都打開腳本編輯器執(zhí)行的話可以選擇保存到工具架把腳本變成按鈕

Tip:不推薦在maya里進(jìn)行面給材質(zhì)這樣的操作


(發(fā)現(xiàn)有時候會遇到不存在于任何面上的材質(zhì)導(dǎo)致腳本失效,更新了一下代碼,詳情在這個最后面https://www.bilibili.com/read/cv6783312)

[MAYA腳本] 根據(jù)材質(zhì)分離OBJ文件腳本的評論 (共 條)

分享到微博請遵守國家法律
砀山县| 内黄县| 门源| 昭平县| 晋城| 台山市| 磐石市| 盱眙县| 新晃| 紫云| 隆尧县| 苏尼特左旗| 资中县| 清原| 板桥市| 忻州市| 兴城市| 顺昌县| 天镇县| 光山县| 双流县| 遂溪县| 陕西省| 思茅市| 宽城| 巧家县| 桂平市| 揭阳市| 伽师县| 龙胜| 曲松县| 山东| 郴州市| 东辽县| 新兴县| 宜兰市| 光泽县| 阳西县| 赫章县| 子长县| 昌黎县|