无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

[MAYA腳本]簡單無聊的合并與分離

2020-07-16 02:01 作者:小小の我  | 我要投稿

沒什么大用的腳本,就是最近整理模型的時候合并分離來回刪歷史,處理過的物體還在層級里亂跑比較煩人,為了少點幾次鼠標(biāo)寫的

合并的物體會自動放到最后選擇的物體的那個層級里,如果層級里只有它一個物體的話會自動清除組

Simple Merge

分離物體只要選擇想要分離出來的殼的其中一個面片就可以直接把模型按照鏈面的連接掰開,并且永遠(yuǎn)只會把物體分離成兩個,省著默認(rèn)的那個分離會把選擇的部分全部碎開變成單獨的物體

Simple Separate

執(zhí)行過后都是自動刪除歷史的

除非操作會造成子集只有一個物體,不然會自動把物體合到最后一個選擇物體的大綱層級

//Simple merge selected objects


string $objs[] = `ls -sl`;


string $parentGrp[] = `listRelatives -p $objs[(size($objs)-1)]`;

polyUnite -ch 0 -n ($objs[(size($objs)-1)]+"_merged") $objs;


if($parentGrp[0] != ""){

????if(`objExists $parentGrp[0]` == 1){

????????parent ($objs[(size($objs)-1)]+"_merged") $parentGrp[0];

????}else{

????????print "The Parent contains no objects has been removed, object moved below the word";

????????};

};

上面是合并,下面是分離

//Simple Separate shell from selected object


SeparatePolygon;

DeleteHistory;


string $_objs[] = `ls -sl`;

select -d $_objs[size($_objs)-1];

string $extractObj[] = `ls -sl`;

string $parent_Grp[] = `listRelatives -p $_objs[0]`;


if (size($extractObj) > 1){

????polyUnite -ch 0 -mergeUVSets 1 -centerPivot -name ($parent_Grp[0]+"_Separeted") $extractObj;

????parent ($parent_Grp[0]+"_Separeted") $parent_Grp[0];

}else{

????rename $extractObj[0] ($parent_Grp[0]+"_Separeted");

};

rename $_objs[size($_objs)-1] ($parent_Grp[0]+"_Origin");

都是mel,不是python


另外那個自動根據(jù)材質(zhì)分離的腳本完善了一下,這兩天用的時候發(fā)現(xiàn)竟然有物體可以被賦予一個不在任何面上的材質(zhì),會導(dǎo)致腳本失效,驚了

#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))

????????elif len(locals()[sg])==0:

???????????pass

????????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(粘貼代碼沒有縮進(jìn)好沙雕,有啥辦法把縮進(jìn)粘進(jìn)去嗎)

再想想還有啥大佬們不屑于寫的垃圾功能我可以寫點


[MAYA腳本]簡單無聊的合并與分離的評論 (共 條)

分享到微博請遵守國家法律
怀仁县| 得荣县| 祁东县| 阿拉善左旗| 石渠县| 新宾| 祁东县| 绥棱县| 钟山县| 新龙县| 剑川县| 闽清县| 商河县| 柳林县| 绵竹市| 九龙县| 天柱县| 缙云县| 五寨县| 临汾市| 库伦旗| 双江| 贡觉县| 博白县| 瑞金市| 白城市| 永昌县| 广水市| 陆丰市| 阳春市| 禹州市| 晋江市| 嘉荫县| 荔浦县| 金湖县| 融水| 通城县| 儋州市| 临漳县| 邵阳县| 珲春市|