2009年8月22日 星期六

對齊基準點 (pivot alignment)

以下的兩個程式可以幫你快速對齊基準點(align pivot).
使用方法 : 先選 2個以上的模型然後執行以下的兩個程式之一 . 最後被選的物件基準點為參考點.

1. 只更動基準點,不改變模型位子.

{
string $objs[]=`ls -sl -type "transform"`;

if(size($objs)>1)
{

string $lastObj=$objs[size($objs)-1];

float $refPiv[]=`xform -q -ws -piv $lastObj`;

int $id =0;
for($id;$id<size($objs)-1;$id++)
{
xform -ws -piv $refPiv[0] $refPiv[1] $refPiv[2] $objs[$id];
}
}
}



執行前:模型基準點位子不一


執行後:模型基準點位子對齊了

2. 移動模型&基準點位子.

{
string $objs[]=`ls -sl -type "transform"`;

if(size($objs)>1)
{

string $lastObj=$objs[size($objs)-1];

float $refPiv[]=`xform -q -ws -piv $lastObj`;

int $id =0;
for($id;$id<size($objs)-1;$id++)
{
float $currPiv[]=`xform -q -ws -piv $objs[$id]`;

float $currT[]=`xform -q -t $objs[$id]`;

float $delta[3];
$delta[0] = $refPiv[0] - $currPiv[0];
$delta[1] = $refPiv[1] - $currPiv[1];
$delta[2] = $refPiv[2] - $currPiv[2];

xform -t ($currT[0]+$delta[0]) ($currT[1]+$delta[1]) ($currT[2]+$delta[2]) $objs[$id];
}
}

}



執行前



執行後

1 則留言: