2012年2月11日土曜日

【Tips】モーキャプデータの揺らぎを抑える

モーションキャプチャーのデータというのはリアルに動かすことができるアニメーションの1つです。
実際にモーションキャプチャーのデータを触ってみるとわかるのですが、人というのはじっと立って演技していても、バランスをとろうとして意外と体がゆらいでいるものです。
シーンを組んでいるときバストショットやクロースショットなど割とアップのレイアウトの場合このゆらぎがもうちょっとじっとしていてほしいなど演出に合わないときが多々あります。

そこでモーキャプの揺らぎのニュアンスを残しつつ抑える1つの方法を紹介します。

まず始めにゆらいでいる状態のデータです。
このときのキーフレームの状態は以下の図のようになってます。

この状態でもOKな演出やレイアウト(映るサイズ)があると思いますが、割とアップめの時は抑えたいと思います。


1.まず体全部のIKのTrans、Rotのキーフレームを全部をフラット(同じ値)にします。
 
このときReachT,ReachRは100%の状態にしておきます。

この状態になれば全く微動だにしない動かない状態のデータになります。

2.あとはアニメーションをみながらReachT、ReachRの値を小さくしていきます。
上記の例だとReachT、ReachRは30%にしてありますがアニメーションによっては80%などするときもあります。

これで出来上がったムービーは以下のようになります。

あまり抑えすぎると前後のアニメーションのつながりが悪くなったりしますが、つながりが悪いところとかはFilterで滑らかにしたりとか抑えるのを少しにしたりとか工夫が必要になるかもしれません。

忘れちゃいけないのがあくまでこれは1つの方法論であって、アニメーションが良くなれば手法は何だっていいってことです。

2012年2月4日土曜日

【Tips】モーキャプベースのWalkサイクル

モーションキャプチャーを使うとリアルな動きが手早く出来ます。
そこでモーキャプをベースとした歩きのサイクルなど作る時など多々あります。
作成するには色々な手法があると思いますが、今回はその1つの手法を紹介。

1.モーキャプでサイクルできそうなところを検討する
2.検討したら前後を切り取る

3.作業しやすいようにスタートフレームでTransXとTransZを原点に腰をオフセットします。

4.スタートフレームとエンドフレームで腰のTranZが同じ位置にくるようにリニアでキーを打つ。

5.上記でキーを打った値と逆の値でReferenceにキーを打つ。

上記ステップまで作業してPlotすると、リグ自体のデータはその場歩くキーになり、前進している動きはReferenceに入っている状態になります。

後はPoseControlsの機能を使ってスタートフレームとエンドフレームのポーズを合わせたり、
細かいアニメーションの調整をしていけば、モーションキャプチャーをベースとした歩きのサイクルアニメーションの出来上がりです。

この作りかたのメリットとしては、Referenceのキーフレームを消せばその場ループと前進しているループを自由に切り替えることが出来ること。ループの開始ポイントを変えやすことがあります。

Storyモードを使ったループモーションの作り方も便利ですが、特に移動系のループを作成する場合は上記のやり方が今のところベターなのかなと思っています。

2012年1月13日金曜日

【Tips】MotionBuilderの小数点

MotionBuilderのデフォルト設定だと小数点は第2位までしか表示されません。
内部的には小数点第13位までデータをもっているようですが、表示するときに四捨五入して小数点第2位までで表示している動作をしています。

意外と小数点第2位までというのは小さい値かと思うのですが、骨のRotationデータで見たときにはそれ以下の値が違うと結構見た目でもはっきりわかるくらい違いがわかるものです。

そこで表示も小数点を細かく表示出来るようにするには、PreferencesでFields&ValueのセクションのDecimal Placesの値を大きくすると、小数点も細かく表示されるようになります。

ここの値が小数点第何位まで表示するかの値になっています。
ちなみに私の場合は5に設定して小数点第5位まで表示するようにしています。

2012年1月2日月曜日

新年 あけましておめでとございます

少し遅いですが、明けましておめでとうございます。
去年の8月から始めたこのブログですが当初は1日の平均ページビューが5ビュー位でしたが、現在は平均ページビューが30ビュー位あるので、見ていただけていると思うと書いているわたくしにとっても嬉しい限りです。

今年はMotionBuilderを使ったより実務的なレベルのアニメーション制作のTipsとかを書いていけたらと考えていますが、基本的な路線はMotionBuilderやMayaを絡めた3Dアニメーションやプログラムに関しての記事を書いていき、より充実した内容のブログにしたいと思っています。

それでは、今年もよろしくお願いいたします。

2011年12月31日土曜日

【Tips】MotionBuilderでQuickTime形式でレンダリング

MotionBuilderで作ったアニメーションを確認するときなどレンダリングをすると思います。
そのときにレンダリングでQuitckTime形式、いわゆるMOVでレンダリングするときのオプションで一番圧縮形式が効率的(画質が綺麗でファイルサイズが小さい)と思われるのがSorensonVideo3です。



このMOV形式でレンダリングするときにSorensonVideo3の圧縮形式を表示するにはQuickTimeの設定を変更してあげると表示されるようになります。

QuickTimeのメニューから編集→設定→QuickTime設定でオプション設定画面を表示ます。

表示されたオプションの詳細タブでメディアエンコーディングのところにチェックをONにします。


このチェックをONにしてあげるとMotionBuilderでMOV形式でレンダリングするときの圧縮形式でSorensonVideo3を表示することができます。


2011年12月18日日曜日

【Tips】MayaのBlendShapeをMBにもっていくとき

MayaでBlendShapeを設定したデータをMotionBuilderへ持っていくとき、たまにうまくコンバート出来ない場合があります。BlendShape自体の設定が消えてたり、メッシュ自体が消えていたりする場合などが度々あります。そんなときは、色々試すよりBlendShapeをMaya側で作り直したほうが早いです。ただ、作り直すときは以下のポイントに注意してBlendShapeを作成したほうが良いです。

【ポイント】
BlendShapeを作成するときのオプションのDeformationOrderでFrontOfChainに設定で作成


デフォルト設定ではこのFront of Chainになっているはずなんですけど、たまにParallelとかに設定されているとMayaではちゃんと動いてくれているけど、MotionBuilderへコンバートするとBlendShapeの設定が消えていたりするケースがあります。

ちなみに、MotionBuilderでBlendShapeのスライダーはメッシュを選択してPropertiesのところでShapesのところにあります。

2011年12月2日金曜日

【Tips】MotionBuilderがフォーカスを失ってもViewerを描画

MotionBuilderで作業しているときに、何かのドキュメントやらWebやらを見ながらアニメーションを確認したいときがあります。けどドキュメントをみるとフォーカスがMotionBuilderからドキュメントに移りMotionBuilderはViewerの描画をしなくなります。これというのはドキュメントをみつつアニメーションを確認したいときなんかは結構不便だったりします。いちいちまたMotionBuilderにフォーカスを移してアニメーション確認っていうのは面倒な作業です。

そこでMotionBuilderがフォーカスを失っても描画するようにする設定が隠れ機能としてあります。

1.以下のテキストファイルを開く
MB2010での場合です。
C:\Users\○○○○○\AppData\Local\Autodesk\MB2010\config\△△△.Application.txt
○○○○○は自分のユーザー名
△△△は自部のマシン名

2.ファイルの最後に以下の文字を追記し保存。
[Timing]
NoFastIdleOnDeactivate=False




こうすることで、ドキュメントにフォーカスが移っていてもアニメーションの確認もできるので作業の効率化が図れると思います。

意外とこれが便利な機能だったりします。

2011年11月29日火曜日

【script】Maya スキンウェイトの四捨五入

最近、Mayaでゲームモデルに対してスキンウェイトをいれる作業をしてます。
そこでゲームモデルには色々な制約があります。例えば、スキンウェイトは少数第3位までしか使ってはいけないとかです。これも手慣れているモデラーさんなら問題無いかと思うのですがアニメーターが自分で調整する場合やペイントで塗って調整している場合はその仕様を超えて少数第3位以上まで、細かい数値が入ってしまいます。

そこで、本来ならコンポーネントエディターとか使って手打ちで修正する作業が発生するかと思うのですが、全部の頂点に対してやるとなると結構骨の折れる作業になります。



そこでいつもの通りないなら作ろうの精神で
スキンウェイトを小数点第4位で四捨五入するスクリプトを作成しました。

ペイントでザ~ッとウェイトを調整してから、このスクリプトを実行してあげればだいたい仕様通りのスキンウェイトのモデルが出来あがるわけで、かなりの作業効率が望めるかと思います。


Usage
1.メッシュを選択(複数でもOK)
2.このスクリプトを実行

DownLoad
round_skinweight.mel
(Maya2012などで動作確認済み)

2011年11月20日日曜日

【雑記】FBXのファイルのフォーマットについて

MotionBuilderで使われているファイルフォーマットはFBXです。
FBXと言っても、実はこれには2種類のFBXファイルフォーマットが存在するのです。

1つ目はMotionBuilder2010のバージョンまでで使われていたfbxのフォーマット。
2つ目はMotionBuilder2011以降のバージョンとMayaとか3DMaxからExportされたFBXのフォーマット。

これらが何が違うかと言うと、1つ目のfbxフォーマットはMotionBuilderで使用されていたいわゆるネイティブなfbxフォーマットなんです。極端な言い方をしてしまえばfbxの中で独自に進化したガラパゴス的なフォーマットなんです。2つ目のFBXフォーマットはMayaや3DMaxなどからExportされたいわゆるパブリックなFBXフォーマットです。Autodeskがソフト間のDataExchangeとして猛烈プッシュしているファイルフォーマットです。

 なのでMotionBuilder2010までのバージョンまでなら本来ならMayaなどからExportされたFBXフォーマットはFile→Openでもファイルを開いても大きな問題はないので大丈夫かと思いますが本来ならFile→FBX Plug-in Import でファイルを読み込まないといけないんです。

MotionBuilder2011以降ならパブリックなFBXファイルフォーマットを正式に採用しているのでMayaなどのほかの3DCGソフトと互換性がかなり高くなっています。
実はそんな違いがあったのですが、もう最新バージョンなら特にそのようなことも気にせずにデータのImportやExportをしても気を使わなくても大丈夫なはずです。

fbxもガラパゴスから世界に通用するファイルフォーマットに進化をしましたというお話です。

2011年11月18日金曜日

【Tips】Constant Key Reducerの挙動

MotionBuilderでPlotするときのオプションでConstant Key Reducerのチェックがあります。

このチェックをONの状態でPlotすると値が同じキーフレームは削除されます。
それじゃ、OFFの状態でPlotすると値が同じ状態のものは削除されないかと言えば実はされる場合があります。
このようにConstant Key Reducer のチェックをOFFにしてPlotしてもキーフレームが削除されてしまう挙動というのは確かエイリアスに買収されたころのバージョンMotionBuilder6以降から確認出来てたかと思います。
これを直す方法を覚書として以下に残しておきます。

1.以下のテキストファイルを開く
MB2010での場合です。
C:\Users\○○○○○\AppData\Local\Autodesk\MB2010\config\△△△.Application.txt
○○○○○は自分のユーザー名
△△△は自部のマシン名

2.ファイルの中のUseRunTimeConstantKeyReducerの項目を探し出し、
  Noに設定する


上記のようにConfigファイルを書き直してPlotオプションのConstantKeyReducerのチェックをOFFにしてPlotするとちゃんと値が同じキーフレームでも削除されないでキーフレームが埋まっている状態にすることができます。

他のソフトへコンバートするときは、うる覚えですけどキーフレームが埋まっている状態のほうが良かったかと思います、確か・・・・・。