项目绑定没有给角色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版的吧。