国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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文件腳本的評論 (共 條)

分享到微博請遵守國家法律
吉首市| 措美县| 宁海县| 井冈山市| 瑞昌市| 佛山市| 麻江县| 施甸县| 依兰县| 威海市| 丹寨县| 赣榆县| 桑植县| 永福县| 盐城市| 中山市| 桑植县| 乌恰县| 凤阳县| 马鞍山市| 镇平县| 兴业县| 大方县| 亚东县| 高陵县| 犍为县| 双峰县| 涪陵区| 南乐县| 邵武市| 巫山县| 易门县| 罗甸县| 绵阳市| 泰安市| 瓦房店市| 延长县| 习水县| 邵武市| 泰来县| 广平县|