最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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腳本]簡單無聊的合并與分離的評論 (共 條)

分享到微博請遵守國家法律
于都县| 临洮县| 双峰县| 门源| 阳江市| 卢湾区| 浮梁县| 抚松县| 靖宇县| 衡水市| 江安县| 北宁市| 兴化市| 邻水| 辽阳市| 普兰店市| 库尔勒市| 呼伦贝尔市| 安泽县| 富宁县| 焦作市| 晋中市| 泗阳县| 新巴尔虎左旗| 仙桃市| 宝坻区| 上蔡县| 台北县| 文登市| 察雅县| 黑龙江省| 林甸县| 西藏| 龙南县| 长乐市| 隆化县| 肥东县| 阿拉尔市| 宝山区| 安西县| 高阳县|