MetaFusion/Reference/SuperRiggingEditor/scripts/SGRefreshGeoLineEdit.mel
2025-02-03 22:58:41 +08:00

91 lines
1.8 KiB
Plaintext

//******************************************************************************
//
// 版权所有: 玉溪时光科技有限公司
// 联系邮箱: q.100@qq.com
// 开发日期: 2023/08/08
//
//******************************************************************************
global proc SGRefreshGeoLineEdit (){
string $meshes[] = `SGMeshesList`;
for ($i=0;$i<size($meshes);$i++){
if(`optionVar -ex $meshes[$i]`){
string $mesh = `optionVar -q $meshes[$i]`;
if(`objExists $mesh`){
if($meshes[$i] == "body_lod0_mesh"){
SGSetMeshes -m 50 $mesh;
}
else{
SGSetMeshes -m $i $mesh;
}
}
else{
string $sel[] = `ls -type "transform" ("*"+$meshes[$i]+"*")`;
if(size($sel)){
for($s in $sel){
if(`objectType $s` == "transform"){
if($meshes[$i] == "body_lod0_mesh"){
SGSetMeshes -m 50 $s;
}
else{
SGSetMeshes -m $i $s;
}
break;
}
}
}
else{
SGSetMeshes -m $i "";
}
}
}
else{
string $sel[] = `ls -type "transform" ("*"+$meshes[$i]+"*")`;
if(size($sel)){
for($s in $sel){
if(`objectType $s` == "transform"){
if($meshes[$i] == "body_lod0_mesh"){
SGSetMeshes -m 50 $s;
}
else{
SGSetMeshes -m $i $s;
}
break;
}
}
}
else{
SGSetMeshes -m $i "";
}
}
}
}
global proc SGSetMeshLineEdit (int $index, string $mesh){
string $meshes[] = `SGGetMeshes`;
if($mesh != ""){
optionVar -sv $meshes[$index] $mesh;
}
else{
optionVar -rm $meshes[$index];
}
}
global proc string[] SGMeshesList (){
string $meshes[];
int $edition = `SGDescriptor -ed`;
if($edition >= 2){
int $meshIndices[] = `SGGetMeshes -lod 0`;
for($index in $meshIndices){
$meshes[size($meshes)] = `SGGetMeshes -i $index`;
}
}
else{
$meshes = `SGGetMeshes`;
}
return $meshes;
}