MetaFusion/Reference/SuperRiggingEditor/scripts/SGRefreshGeoLineEdit.mel

91 lines
1.8 KiB
Plaintext
Raw Normal View History

2025-02-03 22:58:41 +08:00
//******************************************************************************
//
// <20><>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD>: <20><>Ϫʱ<CFAA><CAB1><EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾
// <20><>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>: q.100@qq.com
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 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;
}