1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | global proc string createCurveObject( vector $positions [] ) { string $cmd = "curve -d 1" ; vector $pos ; int $size = size( $positions ); for ( $i =0; $i < $size ; $i ++ ) { $pos = $positions [ $i ]; $cmd +=( " -p " +( $pos .x)+ " " +( $pos .y)+ " " +( $pos .z)); } for ( $i =0; $i < $size ; $i ++ ) $cmd +=( " -k " + $i ); return eval ( $cmd ); } |
使い方としては、スクリプトエディタからであれば、
1 2 3 4 5 6 7 8 9 | { vector $pos []; $pos [0]=<< 0,0,0>>; $pos [1]=<< 10,0,0>>; $pos [2]=<< 0,0,0>>; $pos [3]=<<-10,0,0>>; $pos [4]=<< 0,0,0>>; rename `createCurveObject $pos ` "testCrvObj" ; } |
こんな感じになります。
8行目、renameコマンドへ返ってきたカーブ名を渡すことで即座にリネームできるのがミソです。
直線のカーブオブジェクトしか作れないというのが欠点ですかね・・・。
多くのリガーが使用しているであろうrigging101.comのrig101 Wire Controllersは、カーブの座標がベタ書きなので可読性が悪く、なんとなくよろしくないですね。
0 件のコメント:
コメントを投稿