2009年02月11日

キャタピラつくるスクリプト

XSIプラグイン TU_TreadsGenerator1.0

一月ほど前ですがXSI Baseにも似たようなのがありましたね。
http://www.xsibase.com/forum/index.php?board=6;action=display;threadid=38609;start=0#msg245855
デモビデオが豊富でわかりやすい。まっすぐ動かすだけだったらコッチの方が高性能で使いやすい。 けどちょっとでも曲げようものなら途端に面倒になる。

個人的には「TU_TreadsGenerator」の方がシンプルで使いやすいと思います。 コッチはキャタピラの制御が小さいサークルを回転させるだけなので、移動する動きをつけ終わってからキャタピラの動きをつけたり、 エクスプレッションやらコンストレインやらを足してリグを組むのに自由度が高いです。

でもちょっと使いにくいところがあったので改造してみました。
キャタピラのオブジェクトがモデルだった場合はインスタンスになるようにして、ヌルを作ってその子供に複製されるようにした。

103行目  
var oClones = Clone(oObj, oNum, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, true);

  var oClones;
  var oNull;
  oObj = Dictionary.GetObject(oObj);
  if( "#model" == oObj.Type ){
    oClones = Instantiate(oObj, oNum, -1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1);
   oNull = ActiveSceneRoot.AddNull();
  }else{
    oClones = Clone(oObj, oNum, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, true);
   oNull = oObj.Model.AddNull();
  }
  ParentObj(oNull, oClones);

あとプリミティブメニューに追加

10行目に追加
 in_reg.RegisterMenu(siMenuTbGetPrimitiveID,"TU_TreadsGenerator_Menu",false,false);

適当なところに追加(22行目?)
function TU_TreadsGenerator_Menu_Init( ctxt )
{
 var oMenu;
 oMenu = ctxt.Source;
 oMenu.AddCommandItem("TU_TreadsGenerator","TU_TreadsGenerator");
 return true;
}

あとは、モデリングする時って大抵Z向きにするじゃないですか。 なのでサークルのX回転でキャタピラが動くようにエクスプレッションを変更した。

108行目
   SetExpr(oPConstrains(i)+".perc", " - "+ oSecondCurve +".kine.local.rotz/03.6/" + nCurveOffset +" - "+ nPerc, null);

   SetExpr(oPConstrains(i)+".perc", " - "+ oSecondCurve +".kine.local.rotx/03.6/" + nCurveOffset +" - "+ nPerc, null);

【ソフトウェアの最新記事】
posted by ika at 21:45 | Comment(2) | TrackBack(1) | ソフトウェア | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
お疲れ様です。
はじめまして、TU_TreadsGeneratorを作ったtatsuyaと申します。

トラックバックありがとうございます。
回転軸の件はローテーションオーダーの変更で大丈夫ですよね。。うっかり忘れておりました(笑)
あとメニューへの登録ですが、くコ:彡さんのコードをそのまま使わせていただきました。
モデルだった場合の件は後日また改めて書きたいと思います。

今後ともよろしくお願いします。
Posted by tatsuya at 2009年02月12日 02:17
はじめまして、ikaです。
なんか修正を強要してしまったみたいで申し訳ないです。
ちょっと使いやすくすれば、とても良いスクリプトだと思いましたのでつい。スミマセン。
Posted by ika at 2009年02月15日 14:52
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック

XSIプラグイン TU_TreadsGenerator1.1
Excerpt: くコ:彡さんより 取り急ぎちょっと直しました。オブジェクトがモデルだった場合は後日また修正したいと思います。。 http://b.cr8er.com/?eid=762490 【不具合修正..
Weblog: CGとか(仮)
Tracked: 2009-02-12 02:05
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。