2021年3月4日木曜日

カプセルの軌跡をモデリングする

  前回のスクリプトで作成したカプセルには"extentCurve"というカーブオブジェクトが存在しています。


  今回は、このカーブオブジェクトを使った小技というか、備忘録。
  エフェクトで、剣とか槍とか武器の軌道が欲しい場合に使えるかもしれません。


  カプセルリグで、こんなモーションを作ってみました。


  ここで"extentCurve"を選択し、

[Animation] Visualize -> Create Animation Snapshot の設定画面を出します。

カプセルが動いている間を指定して[Snapshot]を実行すると、大量のカーブオブジェクトが階層化された"snapshot1Group"というのが作られます。


  つぎに、この"snapshot1Group"を選択した状態で、

[Modeling] Surfaces -> Loft の設定画面を開きます。

  上の設定で [Loft] を実行すると、サーフェイスが作られます。

  ちなみに、ここまで、Construction History は On の状態で実行していないと、ここからの微調整が出来ないので注意してください。


  "snapshot1Group"のアトリビュートエディタに"snapshot"のタブが並んでいます。

  この Increment で、ロフトの荒さを調整できます。0よりも大きければ少数値でも可能ですが、あまり細かくしても大変です。
  Loft のほうでも分割数は設定できるので、そんなに細かくしなくても大丈夫です。

  Loftのほうでは、Degree と Section Span をいじるくらいでしょうか。


  サーフェイス全体を見て、ちょっと歪な部分を見つけた場合、

  そのフレームでキーフレームを編集すると、snapshot から loft まで、ちゃんと修正が適用されます。当たり前ですけど。


  この作業、Animationメニューと Modelingメニューを行ったり来たりしないといけないので、やっぱスクリプトで実行した方が楽ですね。

{
    string $crv ="extentCurve";
    int $stt =  0;
    int $end = 30;
    
    string $snap[]=`snapshot -st $stt -et $end -i 1 -ch 1 $crv`;
    string $loft[]=`loft -u 1 -c 0 -d 1 -po 0 -ch 1 $snap[0]`;
    
}

  最初の3行を引数にして呼び出すようにすれば作業ははかどりますが、作り方の伝承ができないですね。こういったモデリングの場合、流行り廃りがあったりして組み合わせを思い出すのが大変だったりします。

  これ、たしか、Motiontrail: snapshot1 の Start Time と End Time に frame を使ったエクスプレッションを付けると、ライトセイバーっぽいエフェクトに出来たはずですが、mayaLT はエクスプレッション非対応なので確認できず。



0 件のコメント:

コメントを投稿