忍者ブログ

Light of the Wave

主に、LightWave3Dに関する事を書き記します。

   

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2012/10/06 【モーションベイクのまとめ】

kaeru2s-.jpg
海際の河口付近で釣りをしたら、何とも場違いなカエルを見かけました。

他のカエルはこんな所まで来ないだろうから一匹で寂しいだろうにと思っていたのですが、カエルが広い海を見るなんてなかなか滅多に無いことだから、それはそれでこの子は幸せなのかな~と思ったり・・・。

でも、例え幸せでも一人はやっぱり寂しいものです。
あのカエルが冬眠して来年に目覚めた時にはまた別の新しい場所に冒険へと出かけるのか、小川か田んぼでみんなと仲良く暮らすのか・・・どちらの生き方を選ぶんでしょうね?

そんな旅路の終わりに思いふけるカエルと海と夕日がどこか印象的に思いました・・・。




ご無沙汰です~。
今回は、モーションベイクについてまとめてみました。
LWにはどんなモーションベイクの機能があるのか僕自身もあまり知らなかったので、忘れないように以下に書き記します~。

 


:『何で手付けにモーションベイクをする必要があるのか?』

今までだとアイテム数の削減でExpressionを利用する事でシーンを軽くしていましたが、逆に沢山のアイテムにExpressionを適用させていくと入力した数式の計算量が膨大になってシーンやレンダリングの動作が重くなってしまいます。
関数の使い方次第で計算に掛かる負荷を抑えることも出来ますが、全体のシーン編集作業の事を考えたら出来る限り軽い動作で作っていきたいというのが本音です。

で、この悩ましい問題を解決してくれるのが「モーションベイク」です。
Expressionのモーションをベイクすることによって、数式の計算が済んだ値をあらかじめ全フレームに焼き付けてくれるのです。

こうすることで、LWはExpressionなどの計算をする手間が省かれた状態になり、アイテムが多ければ多いほどシーンの動作やレンダリングスピードに差が出てくる有効な手段になります。




:『LWのモーションベイク標準機能』


【Bake Motion】・・・ベーシックなモーションベイク。

bake_m_001.png シンプル~。
 

1.レンダーオプションパネルからレンダリングの開始と終了の数値を入力する。 これがモーションベイクする範囲の指定値になる。

2.統括プラグイン内から「BakeMotion」を選択して、ドロップダウンメニューからベイクするアイテム名を選択してOKボタンを押すとモーションベイクされる。

う~ん、移動と回転全てのチャンネルにキーが打たれるのがちょっと嫌かなぁ。
チャンネル指定でベイク出来たら何かと便利なんだけど・・・。


(注:モーションエクスプレッションが追加されてるアイテムや、(0フレームしか)キーが作成していないアイテムでは上手くベイクされない場合がある。

(注:スケールのチャンネルはベイクされない。

 

 

【Motion Baker】・・・チャンネル指定でモーションベイク。

bake_m_003.png

[Extra Channnels]
特殊なチャンネルグループにキーを置く。

[Use Existing]
フレームスライダの移動でキーが作成される。
(下のポジション~スケールにチェックを入れたチャンネルだけにキーが打たれる。)

□[Overwrite Keys]
Overwrite KeysをONにすると、元々あるキーのデータを全て上書きされる。
(あまりこの機能の意味が分からなかったけど、OFFにした状態でベイクすると何故か-3フレームからベイクされてしまうのでなるべくONにした方が良いみたい。)


1.ベイクしたいアイテムを選択して、「モーションオプション」→「モディファイヤ追加」→「MotionBaker」を追加します。

2.追加された「MotionBaker」をクリックすると下の画像が表示された。
 しかし、モーションオプションパネルが超縦長に・・・もうちょっとコンパクトになってくれると助かるんだけど。


(注:誤ってプレビュー再生をしてしまうと、全フレームにキーが打たれてしまうので注意が必要。

 

 

【BakeIKtoKey】・・・IKモーションをベイク。(インバースキネマティクス制御のアイテムは全てベイク。)

bake_m_002.png

1.統括プラグイン内から「BakeIKtoKey」を選択して、フレーム範囲入力後にOKを押す。

2.IK制御していたアイテムがキーフレーム制御に変わっていてモーションベイクされた状態になる。

3.「Frame Step」ではモーションを維持しつつ、キーの間隔を空けてベイクしていきます。
 ゴールアイテムのキーフレームの情報を無視してベイクしていくので、細かい動作の場合は注意が必要です。


(注:LW11では「BakeIKtoKey」が使えない! OKボタンを押すとLWが落ちる。
    LW9.6~LW10.1は問題なく使える。
   ↓
(修:ディストーム様のHPから「BakeIKtoKey」のプラグインをDLして、元々入っている「BakeIKtoKey」と差し替えてやることで解決。
(XP環境のWin32Bit版での話です。 64BitやMac版は確認していません。)

 


【REL:Freeze_Rel_Motion】・・・RELを追加したモーション、エンベロープをベイクします。

bake_m_007.png

[Capture the Motion of One Item]
選択したアイテムのみベイク。

[Capture Engine Scene]
シーン中のアイテムをベイク。

Number of frames between each keyframe [    ]
ベイクするキーの間隔の数値入力。

□[Freeze Camera Motion]
カメラモーションベイク。

□[Freeze Light Motion]
ライトモーションベイク。

□[Freeze Items Only with Relativity Applied]
RELが含まれてる子の階層をベイク。
(例:全てRELが追加されているNull→Bone1→Bone2→Bone3の場合、Bone2~3はチェックをONにしないとベイクされない。)

□[Freeze non-motion channels as well]
モーションチャンネル以外のエンベロープもベイク。
 

Item [     ]  [Pick Item]
ベイクするアイテムを選択。

[Use World Coords for XYZ]
親座標ではなくワールド座標でベイク。


1.レンダーオプションパネルからレンダリングの開始と終了の数値を入力する。 これがRELのモーションベイクする範囲の指定値になる。

2.統括プラグイン内から「REL:Freeze_Rel_Motion」を選択してパネルを開く。

3.パネル内を編集してOKを押せばRELのモーションがベイクされる。


Relativityの補助プラグイン「REL:Freeze_Rel_Motion」は複数アイテムをまとめてベイク出来るので使い勝手が良いです。
RELの利用では欠かせないものになると思います。



 


:『LWのモーションベイク(フリープラグインから)』


01_no_bake.gif

ここからは例として、グニャグニャしたノイズのパスに沿うアイテムのgifアニメを載せていきます。
ノイズは比較的動作が軽いのですが、回転制御では「パスに沿う」が使われていて、これの適用されたアイテム数が多いとシーン動作とレンダリングに負担が掛かります・・・と言っても、何十~何百といったアイテム数の場合でしか実感出来ないものでありますが。。。
(IKや目標アイテムも同様に、大量に利用するとシーンに負担が掛かる。)




【Output World Coods】・・・選択しているアイテムのワールド座標系のモーションをベイクする。
                (モーションファイルとして保存することも可能。)

 


【MF_Keystove】・・・チャンネル指定で複数選択のアイテムモーションのベイクができる。

bake_m_004.png
 

1.ベイクするアイテムを選択して「MF_Keystove」をクリック。

2.フレーム範囲指定、ベイクしたいチャンネルのイクしたいチャンネルのオン/オフ、キーを打つ間隔の数値を入力してOKを押すとベイクされる。


02_bake.gif

(今回はSkipを0のままで全てのフレームにキーを付けていく。)


 


【MF Keyfragger】・・・チャンネル指定で複数選択のアイテムのモーションベイクされたキーを削減する。

bake_m_005.png


1.「MF_Keystove」の逆バージョンと考えると分かり易いです。
 「Skip」の入力値によって、元のモーションを維持したままキーを均一的な間隔で削減していきます。


03_bake_MF.gif

×Space → 〇Skip
(注:Skipの値が大きいと、元の動きと比べると曖昧なものになってしまう~あうあうあぁ~。


ttp://mentalfish.com/2010/08/keyfragger/

MentalFish様が開発されたスクリプトです。(MF Keystove / MF Keyfragger)
パネルが非常にコンパクトで分かり易くて、複数選択のアイテムのモーションベイクが出来るのでとても気に入っています。

 

 

【KeyReducer】・・・キーの削減を自動的に行なってくれるスクリプト。

bake_m_006.png


1.選択のアイテム、全てのアイテムのモーションを維持したまま、キーを自動的に削減してくれます。

2.「MF Keyfragger」はSpaceを利用して均一的な間隔で削減していくものでしたが、これはキーポーズ用のキーを自動で検出してくれるようなとても優れたプラグインです。


04_bake_KR.gif

今回はノイズで複雑な動きのためにキーが多く残っています。


ttp://www.lwplugindb.com/Plugin.aspx?id=92798671


イチカワフジオ様が開発されたスクリプトです。(KeyReducer)



標準機能だけでは惜しいと思っていた事が、フリープラグインで実現出来ました!!
プラグイン開発者様に感謝です。^^
 

 

これらのプラグイン、スクリプトを利用することによって、ワークステーション(ハイエンドクラス)のマシンでなくても膨大なアイテムモーションの編集がサクサクと出来るようになっていきますねぇ~。


こうなってくると、僕のモーションの作業手順も少し変わっていくのかなぁ・・・。
変わるとしたらこんな感じかな?


「Expressionモーション」 → 「モーションベイク」 → 「キー削減」 → 「FKで細部の微調整」


僕のようなExpressionを多用したキャラクターリグでは全部の動きをベイクすると大変な量ですから、動作を重くする要素などを部分的にベイクしていくのが現実的ですね。
操作し易いリグを組むまでは良かったのですが、段々とExpressionを多く利用していくことによってシーンが重たくなってしまうのが悩みの種だったので、これで快適にモーションが作れそうです。

拍手[9回]

PR

カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

プロフィール

HN:
d_suzukky
性別:
男性
自己紹介:
こんにちは、d_suzukkyです。

田舎暮らしでのほほんと3DCGの勉強をしています。

ブログ内検索

Booklog

最新コメント

[05/22 topchecker]
[05/22 topchecker]
[05/22 topchecker]
[05/22 topchecker]
[05/22 Hyksof]

最新トラックバック

バーコード

フリーエリア

Copyright ©  -- Light of the Wave --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]