ユーティリティ/プラグイン/スクリプト」タグアーカイブ

スクリプト:BVHローダーの使い方

modo 601から搭載されたキャラクタアニメーションですが、自分でいちからアニメーションをつけていくのは、なかなか骨が折れる作業でもありますよね。そんなときにはBVHファイルをアサインしてみるのはいかがでしょうか?

BVHファイルとは、キャラクタアニメーション用のデータフォーマットであり、ネット上にも様々なサンプルデータが落ちています。modo 601ではデフォルトでBVHファイルを読み込むことはできないのですが、LuxologyアセットシェアにてBVHローダーが公開されており、このローダーを使えばmodoの中にBVHファイルを取り込むことが可能になっているのです。

ではmodoへとBVHファイルを読み込むための準備を行っていきましょう。modoへBVHファイルを読み込みシーンを構築するのに必要なリソースは三つ、ひとつはBVHファイルを読み込むためのスクリプト(BVHローダー)、読み込んでキャラクタに割り当てるためのBVHファイル、そしてBVHファイルを割り当てる先のキャラクタモデルです。

まず最初にBVHローダーを用意しましょう。アセットシェアにアップロードされているBVHローダーはこちら(アセットシェアからアセットをダウンロードするには、Luxologyサイトにてアカウントの登録が必要です)↓

http://www.luxology.com/asset/scripts/view.aspx?id=3423

ここからスクリプトをダウンロードします。ダウンロードファイルはZIPで圧縮されていますので、ファイルを解凍し、modoのユーザーコンフィグフォルダへと解凍したフォルダごとコピーします。modoのユーザーコンフィグフォルダの場所がわからなければ、modoを起動しシステムメニューからユーザーコンフィグフォルダを開くをクリックしてください。modo起動中にスクリプトをコピーした場合には、必ずmodoを再起動してください。modoを起動すると、アニメーションレイアウトの中にBVHというタブが新たに作られており、ここにBVHファイルを読み込むためのパラメータが収められています。

次に、キャラクタに割り当てるBVHファイルですが、今回は以下のサイトよりBVHファイルをダウンロードしてきました↓

http://www.beyondmotion.com.au/free_motion.html

今回使用するのはSlip Downという面白いアニメーションです。お好みで他のアニメーションを選んでいただいてもかまいません。

最後にBVHファイルを割り当てるためのキャラクタですが、前回のブログ記事で紹介したBlueNinjaを使用することにしましょう。プリセットからBlueNinjaをダブルクリックし、modo上へと読み込みます。これで準備は完了です。

ではまず、このBlueNinjaの全体のサイズを把握しておきます。モデルレイアウトへと移り、BlueNinjaを選択したら、ビューメニューから寸法ツールを起動します。このBlueNinjaの身長は4.6605m。意外と大きいですね。

寸法ツールをオフにし、今度はアニメーションレイアウトへと移ります。BVHタブからBVHファイルを読み込むことになるわけですが、このパラメータの中にあるHeightにキャラクタの身長を入力します。4.6605と入力したいところですが、このキャラクタ、頭がかなり長いので、短めに4mに設定しておきましょう。Load BVH Motionボタンをクリックし、先ほどダウンロードしておいたBVHファイルを指定します。

BVHが読み込まれると、シーン上でスケルトンがアニメーションしている様子が確認できるようになります。このスケルトンはキャラクタモデルとはまだバインドされていないため、モデルが連動することはありません。それではバインド処理へと進みましょう。

モデルを選択し、スケルトンも全て選択したら、セットアップモードボタンをクリックし、デフォーマタブからバインドボタンをクリックします。セットアップモードを抜け出し、アニメーションを再生してみるとどうなるでしょうか?メッシュがぐちゃぐちゃに破壊されてしまい、見られたもんじゃありません。こうなってしまう原因は、最初のセットアップにあります。

再度セットアップモードへと戻ってみましょう。セットアップモードではキャラクタモデルも変形しておらず、さらにBVHを表すスケルトンも腕を横に広げた直立の状態で表示されています。この状態のポーズをTスタンスといい、モーションキャプチャなどで取得したBVHのアニメーションデータには、初期状態を表すためのこのポーズの情報が含まれています。セットアップ時にはキャラクタモデルと、このBVHTスタンス状態とをなるべく合わせる必要があります。ビューポート上で見てみると、モデルの立ち位置、さらにスケルトンとキャラクタのメッシュの位置が合っていませんので、できるだけこのセットアップモードでキャラクタモデルの中にスケルトンが仕込まれているかのように、スケルトンを編集する必要があります。

いったんバインドを解除するため、アイテムツリーにあるNormalizing Folderを削除し、バインド時に生成されたキャラクタモデルのウェイトマップ(リストビューウェイトマップの中でロケータアイコンがついているウェイト)を全て削除します。Tスタンスのスケルトンをモデルの位置まで移動させ、腕や足、首の位置などが一致するよう、スケルトンを移動させます。指のスケルトンなど細かい動きが必要なければ、思い切って手首から先の指先のスケルトンは削除してしまってもかまいません。

ほぼモデルとスケルトンが重なるように配置できた時点で、再度バインドを行います。セットアップモードを抜け、アニメーションを再生してみると、こんな感じのアニメーションが出来上がります↓

このキャラクタは、体型が通常の人間とは異なりますので、腕が体にめり込んだり、モーションデータがぴったり重なり合わない部分もありますが、大まかにはいい感じでアサインされているようです。

ここまでざっとBVHデータをキャラクタモデルへとアサインする流れをご紹介してきました。改めて、BVHアニメーションを忠実に再現するために重要となるポイントについて、以下まとめておきます:

[1] BVHデータを読み込む前にキャラクタモデルの慎重を把握しておくこと!

今回も、最初にBVHデータを読み込むときに寸法ツールでサイズを測りましたが、大体の目安を合わせておくことが大事です。BVHを読み込んだ段階でキャラクタモデルと比較してみて、あまりに違いすぎるようであれば、もう一度サイズを指定しなおして読み込むほうが、後の修正が楽に行えますし、破綻しにくくなるでしょう。大体はBVHデータの首の部分のスケルトンと、モデルの首の部分が一致するぐらいを目安にすると、合わせやすくなります。

[2] 必要のないスケルトンは削ってしまうこと!

セットアップモードでキャラクタとBVHのTスタンスを細かく合わせていくのは、多少面倒な作業となります。今回も指先付近のスケルトンは削除してしまいましたが、再現したいアニメーションの全体像に必要ないスケルトンは削ってしまう、というのも一つの選択肢です。

[3] キャラクタモデルはできるだけTスタンスに近い形状を選ぶこと!

セットアップモードでモデルとTスタンスを合わせるとはいえ、元から相似した形状であれば、修正も少なくなりますし、再現度合いも高くなります。あまりにキャラクタの形状がTスタンスと異なるようであれば、アニメーションを忠実に再現することが難しくなりますので、ご注意ください。

[4] セットアップモードでスケルトンをできるだけキャラクタモデルに沿って配置すること!

セットアップモードで、スケルトンをどれだけキャラクタにきちんと配置できるかが、アニメーションを再現する一番重要なキーとなります。いろいろなビューから眺めて、できるだけキレイな形で配置できるよう調整してください。

あれやこれやと注意事項を書くと、何だか面倒くさいなぁと感じられるかもしれませんが、慣れてくるとそれほどでもありません。何より、キャラクタに好きなようにアニメーションデータをはめ込み、動いている姿を見るのはとっても楽しいものです。様々なBVHをmodoに取り込み、お気に入りのキャラクタにアニメーションをつけてみてください!

 

CAD Loaders for modo/Power SubD-NURBSリリース!

本日よりmodo CADワークフローツールであるCAD Loaders for modoPower SubD-NURBSプラグインの販売を開始いたします。

CAD Loaders for modoではCADのデータをmodoへと読み込み、Power SubD-NURBSではmodoで製作したデータをCADデータへと書き出すためのプラグインであり、CADデータとmodoとの読み込み/書き込みを円滑に行えるようになります。使い方も簡単!日本語ドキュメントが付属しておりますので、操作に迷われることはありません。CADデータとのやりとりが発生するワークフローでは欠かせないツールとなっています。

ご自分のワークフローの中でどれだけ役に立つものなのかを試してみたい!という方のために、今回このプラグインの体験版をご用意しております。ぜひプラグインの機能を納得いくまでお試しいただき、購入をご検討くださいませ!

 

スクリプト:ウェイトのミラー機能

modo 601がリリースされてから、601対応のスクリプトもお目見えするようになって来ました。今までも様々なスクリプトを発表してきたMatt Cox氏が今回、いち早くウェイトのミラー機能を実現するスクリプトを発表されています↓

Mirror Weight

このスクリプトではX軸、Y軸、Z軸に対し、それぞれウェイトをミラーリングするだけでなく、別モデルに対してミラー部分のウェイトを設定することも可能です。modo 601で新たに搭載されたキャラクタアニメーション用リグの機能に欠かせないツールとなりそうですね。

その他にもMDDをエクスポートするためのスクリプトを発表されています↓

Export MDD

MDDファイルになじみのない方もいらっしゃるかもしれませんね。MDDファイルとは、時間の経過を伴うジオメトリの頂点の変位情報を保存しておくフォーマットであり、modoでは外部で保存されたMDDファイルを読み込むことが可能でした。このため、これまではMDD出力に対応している他のアプリケーションで変位アニメーションさせた頂点情報をMDDファイルへと出力し、それをmodoの中で読み込むといった処理が可能だったのですが、このExport MDDにより、modoからも出力が可能になりましたので、modoから出力したMDDファイルを他のアプリケーションで取り込むことが可能になっています。複数のアプリケーションを組み合わせたワークフローを活用されている製作現場などでは、大変便利に使えるスクリプトです。

そしてもう一つ発表されているのが、リネーム用のスクリプト↓

Rename

こちらのスクリプトでは、複数アイテムのリネーム処理を一括で行えます。複製などのツールを使用すると、同じ名称を持つアイテムが山のようにできて、後からわかりやすい名称へとリネームしたいのだけれど、手作業でリネームしていくのはちょっと無理、とあきらめられた方もいらっしゃると思います。このスクリプトを使えば、規則性を持った名称へと一括リネームが可能ですので、ぜひ試してみてください。

 

recoil使用例:鎖

今回ご紹介するrecoilの使用例では、衝突したり倒れたり、といった破壊系の動きではなく、逆に互いに連結された鎖の拘束された動きを表現しています。

recoilではコンストレイントという、互いを連結させる機能を実装させることで、様々な表現を可能にしています。コンストレイントには様々な種類が用意されていますので、今回のような鎖やヒンジといった表現だけでなく、モーターやスプリングなどの動きをシミュレーションすることも可能です。

鎖の巻き取りやたわみ加減など、物理演算処理を行っているrecoil ならではですね。跳ね橋がゆっくり上がる様子などは、なんだか実写のミニチュアっぽい感じもしてステキです。

 

 

スクリプト:Peeler Plus v1.1

今回はちょっと便利なスクリプトをご紹介します。そのスクリプトとはPeeler Plus。その名が示す通り、基本機能であるUV ピーラーの拡張版です↓

解説ビデオを見てもわかるとおり、通常のUV ピーラーに比べオプションも追加され、ピーラー機能だけではなく、SplitやMerge機能も同時に搭載されています。

このスクリプトのダウンロードはこちらのページから →  http://www.thethirdguild.com/products/uv-peeler-plus-for-modo-501/

圧縮ファイル内にあるフォルダTTG_PeelerPlusを、スクリプトフォルダの中に入れ、modoを再起動するだけで、UVレイアウトのメニュー内にTTG Peeler Plusメニューが追加されます。スクリプトフォルダはシステムメニュー > ユーザースクリプトフォルダを開くメニューを選ぶと、フォルダが開きます。

基本機能ではちょっと物足らないと思っていた方には、ぴったりなツールかもしれませんね。


モーションパスの表示:Motion Paths

前回パスアニメーションのチュートリアルについてご紹介しましたが、modoにはもちろんキーフレームアニメーション機能も実装されています。

ただ、modo上でアニメーションをつける際、アニメーションの軌跡が表示されずに、設定しにくいと感じられることもあるかもしれません。パスアニメーションの場合は、パスの元となるカーブはもともとジオメトリですのでビュー上に表示されますが、キーフレームアニメーションはそういうわけにはいかないため、そのフレームあたりでどの値を動いていたのかなどを直感的に把握するのが難しいケースもあるでしょう。

そのようなときには、Matt Cox氏製作のMotion Pathsというスクリプトがお勧めです:

このスクリプトは、文字通りモーションパスを表示させるためのスクリプトになっており、フリーで配布されています↓

Matt Cox 氏製作のスクリプト:Motion Paths

インストールはいたって簡単!

modoを起動し、システムメニューユーザースクリプトフォルダを開くから、ユーザー用のスクリプトフォルダを開きます。ここにダウンロードし解凍した2個のスクリプトを配置するだけ。

あとはモーションパスを表示したいアイテムを選択し、システムメニュー実行から @mc_lxCreateMotionPath.py というコマンドを入力してください。同じく表示をオフにする場合も簡単で、同じようにシステムメニュー実行から @mc_lxRemoveMotionPath.py というコマンドを入力するだけです。

表示されるモーションパスには、アニメーションの軌跡だけでなく、パス上にフレームも表示されるため、どのタイミングで、どこに位置しているのかを理解することができるという点でも便利に使えそうですね。

さらに、いちいちコマンドを入力するのが面倒くさい!という方は、キーボードショートカットキーを割り当ててみると良いかもしれません。たとえば、パスを表示するための @mc_lxCreateMotionPath.py コマンドをあるひとつのキーに、パスを非表示するための @mc_lxRemoveMotionPath.py コマンドをまた別のキーに割り当てれば、コマンドを入力することなく、キーを押すだけで表示・非表示を切り替えられるようになります。キーボードショートカットの割り当てはシステムメニュー入力編集から行えますので、ぜひ併用してみてください!

 

recoil 日本語版リリース開始!

いよいよ本日より、recoil 日本語版のリリースが開始されました!

この日本語版では、インターフェイス、ドキュメント、付属ビデオ全てが完全に日本語化された状態でリリースされますので、非常にわかりやすく使いやすい仕様になっています。

ビデオは使用方法を紹介するチュートリアルビデオだけでなく、動きを制御するための各コンストレイントの違い、動きに影響を与える各フォースについてなど、ドキュメントの中に日本語字幕付ビデオを埋め込むことで、様々な概念やパラメータを読むだけでなく、見たり聞いたりすることでも学習できるようになっています。

recoil 日本語プレリリース版をご購入いただきました皆様方にも、こちらの完全日本語化されたバージョンを無償でご提供いたしておりますので、ぜひご利用くださいませ!

 

recoil 日本語プレリリース版販売開始!

大変長らくお待たせいたしました。

Luxology社より販売されていた物理演算シミュレーション用プラグイン「recoil」、本日2011/07/06より、recoil 日本語プレリリース版として販売を開始いたしました!

本プラグインはBullet Physics物理演算エンジンを用いて、modo 501上で剛体物理演算(リジッドボディダイナミクス)シミュレーションを行うためのプラグインとなっています。具体的にどんなことができるのかについては、まずこちらの映像をご覧ください:

このようにオブジェクトとオブジェクトが衝突しあうようなアニメーションを生み出すことができるプラグインなのです。また静止画用に、多くのオブジェクトが互いにのめりこむことなく積み重なるような配置も、recoil プラグインを使用すれば、簡単に設定できるようになります。

recoil紹介ページには、多数の静止画・動画のサンプルが用意されていますので、どうぞそちらもご覧ください。

また、今回販売を開始する日本語プレリリース版では、インターフェイスの完全日本語化に加え、チュートリアルビデオ2本を日本語字幕付でご提供いたします。

来月リリース予定の recoil 日本語版(インターフェイスおよびドキュメント、ビデオ全て日本語化予定)も無償でご提供いたしますので、一刻も早く recoil を触ってみたいユーザー様は、どうぞ一足先に日本語プレリリース版でお試しください!

 

ワイヤーフレームレンダリング:mm_WFRender

以前、便利プラグインとしてカメラ用のプラグインsl_customresをご紹介しましたが、今回はワイヤーフレームレンダリングを行ってくれるプラグイン mm_WFRender をご紹介します。

このプラグインも、Luxology社のフォーラムにて公開・配布されていたプラグインです↓

http://forums.luxology.com/discussion/topic.aspx?id=51935
http://www.modonize.com/Scripts/159.aspx

まずはこちらでスクリプトをダウンロードしたら、modoを起動し、システムメニューからユーザーコンフィグフォルダを開くメニューを選択します。

そうすると、お使いのマシン上にあるmodoのユーザーコンフィグのフォルダが開きますので、その中にフォルダを作成してください。名称は何でも構わないのですが、ここではmm_WFRenderをいう名称をつけましょう。フォルダを作成したら、そのフォルダの中に先ほどダウンロードしたファイルに含まれている二つのファイル(index.cfgmm_WireFrame.py)をコピーしてください。これでインストールは完了です!あとはmodoを再起動するだけ。

modoを再起動すると、レンダーメニューの一番下にSet up wireframe renderというメニューが新たに追加されています。これがワイヤーフレームレンダリング用のメニューになります。

では、実際にレンダリングしてみることにしましょう。せっかくのワイヤーフレームレンダリングですから、カッコいいメッシュモデルで試してみよう!ということで、今回はLuxology社のアセットシェアから銃のメッシュをお借りすることにしました。modo上にデフォルトで読み込んだ状態は、このような感じです:

あとは先ほどのメニューを適用するだけなのですが、このスクリプトの使用する際にひとつだけ注意点があります。それは、このメニューを適用する前に必ずシーンを保存しておくこと!ワイヤーフレームレンダリングを実現するために、このスクリプトではメッシュをスタティックメッシュへと変更したうえで処理を行うため、いったん処理を適用すると元に戻れなくなってしまいます。なので、ここはいったんシーンを保存してから、メニューSet up wireframe renderを適用してください。するとアイテムツリー上でメッシュの種類が変更されたのが確認できますね:

ではこの状態でレンダリングしてみましょう。

これでワイヤーフレームレンダリングのできあがりです!精密なモデルであればあるほど、より違った趣が出てきて面白そうですね。

 

カメラ用便利プラグイン:sl_customres

Luxology社のmodoフォーラムでは、ユーザー達が自作の便利プラグインをフリーで公開してくれることがあります。今回は、そんなフリーの便利プラグイン sl_customres をご紹介します:

http://forums.luxology.com/discussion/topic.aspx?id=55301

このプラグインは、解像度や被写界深度、モーションブラー、ステレオスコピックの設定をカメラ毎に持たせ、ボタン一つでレンダー設定へと反映してくれるプラグインです。複数カメラに対して異なる設定を持たせたい場合には、大変重宝します。

インストール方法はいたって簡単です:

  1. まずは上記フォーラムよりプラグインをダウンロードし、ローカルディスクにコピーしたら、圧縮ファイルを解凍し、中にあるフォルダ sl_customres を任意のフォルダへとコピーしておきます。
  2. 次に、modoを起動し、システムメニューからユーザースクリプトフォルダを開くメニューをクリックし、ユーザースクリプトフォルダを開きます。
  3. コピーしておいたフォルダ sl_customres を、このユーザースクリプトフォルダにコピーし、modo を再起動します。

インストール手順はたったこれだけ。あとは、アイテムツリーからカメラを選択すると、プロパティに custom resolution というカテゴリが表示されるようになります。

Add Custom Resolution ボタンをクリックと、設定が表示されるようになりますので、このカメラに対する設定を行います。Set As Render Camera ボタンをクリックすると、これらプロパティの設定がレンダー設定へと反映されるようになります。これらの設定は、各カメラ毎に対して保存されますので、レンダリングするカメラを切り替えるたびに手動で解像度などを設定する必要がなくなり、時間と手間を省いてくれます。

複数カメラで異なる解像度などを多用する方に、お勧めのプラグインです。