ポリゴンの面を定義する頂点をint配列で取得したかったのですが、MELのpolyInfoコマンドでは返ってくるstring配列に余計な文字列が入って、そのままではすぐに使えないので、フェースを定義する頂点をint配列で返す簡易的なロシージャを書きました。
global proc getFaceToVertexList(int $o_res[], string $target_name){
string $fvs[] = `polyInfo -fv $target_name`;
int $fnum = size($fvs);
string $vs[];
int $i, $j, $vnum;
clear $o_res;
int $cnt=0;
for($i=0; $i<$fnum; ++$i){
tokenizeList($fvs[$i], $vs);
$vnum = size($vs);
for($j=2; $j<$vnum; ++$j){
$o_res[$cnt] = $vs[$j];
++$cnt;
}
}
}
使用例
int $fvlist[];
getFaceToVertexList($fvlist, "pPlane1");
getFaceToVertexList($fvlist, "pPlane1");
こういうのが標準で入ってないなんて変な気もします。知らないだけなのかもしれないですが。そもそも使っているMayaのバージョンがやや古いので新しいバージョンのMayaには入っていたりするかもしれないですね。