天天看点

xform的应用——MEL

项目绑定没有给角色IKFK无缝切换的功能,手动写了个插件实现了无缝切换。其中用到的xform应用很广泛,之前在群里有朋友要群定脚工具(mgtools里有单定脚工具),就是xform+for循环。先把xform的查询、粘贴世界旋转及位移功能贴进来:

//xform

//-----xform -q -ws -t----查询世界位置信息
global proc xformQwsT(){
string $selCon[] = `ls -sl`;
global vector $tempValueT[]; clear  $tempValueT;
int $i;
for($eachCrv in $selCon) {
    float $buffer[] = `xform -q -ws -t $eachCrv`;
    $tempValueT[$i] = <<$buffer[0],$buffer[1],$buffer[2]>>;
    $i++;
    }
//print   $tempValueT;
}


//-----xform -q -ws -r----查询世界旋转信息


global proc xformQwsR(){
string $selCon[] = `ls -sl`;
global vector $tempValueR[]; clear  $tempValueR;
int $i;
for($eachCrv in $selCon) {
    float $buffer[] = `xform -q -ws -ro $eachCrv`;
    $tempValueR[$i] = <<$buffer[0],$buffer[1],$buffer[2]>>;
    $i++;
    }
//print   $tempValueR;
}


//-----xform -ws -t-----粘贴世界位置信息
global proc xformwsT(){
string $selCon[] = `ls -sl`;
global vector $tempValueT[]; 
int $i;
for($eachValue in $tempValueT) {
    xform -ws -t ($eachValue.x) ($eachValue.y) ($eachValue.z) $selCon[$i];
    $i++;
    }

}

//----xform -ws -r-----粘贴世界旋转信息
global proc xformwsR(){
string $selCon[] = `ls -sl`;
global vector $tempValueR[]; 
int $i;
for($eachValue in $tempValueR) {
    xform -ws -ro ($eachValue.x) ($eachValue.y) ($eachValue.z) $selCon[$i];
    $i++;
    }

}
           

可以一次性查询/粘贴多个物体的世界坐标信息,可以用于涉及动画信息记录的任何脚本。

以后用得到的话直接进来复制就ok,简单快捷。明天更新个Python版的吧。

继续阅读