チュートリアル / もしもMotionBuilderでプリビズをしたら
第12回:デバイスってなに?
- MotionBuilder
- アニメーション
- コラム
- チュートリアル
- 上級者
- 中級者
- 映画・TV
前2回はモーションキャプチャのお話をしました。 モーションキャプチャが活用できる事がMotionBuilderの大きな特徴の一つですが、これを実現するのがデバイス機能です。他のCGソフトにはないMotionBuilder特有の機能と言えるでしょう。 これから数回にわたって、このデバイス活用についてお話していこうと思います。
なにが接続できる?
MotionBuilderはデバイスを使う事で外部機器からのデータ入力を実現することができます。VICONやInterSenseのシステムを接続するためには専用のデバイスソフトが必要となりますが、デフォルトでもいくつかの入力装置を接続する事ができます。 では、何が接続できるか見てみましょう。
ResourcesのAsset Browserタブを選択し、Templatesの下にあるDevicesを見てみましょう。15個のアイコンがありますね。15種類の入力装置を利用できるソフトウェアが組み込まれている訳です。すごいでしょう。
Mayaや3ds Max、SoftimageなどのCGソフトウェアでは特別なプラグインソフトを開発しなければ何も接続する事ができませんが、MotionBuilderは最初からこれだけの入力装置を利用することができるのです。これを活用しない手はありません。
では、それぞれの入力装置について見てみましょう。
・General Purpose Interface
外部機器を接続するための標準的な規格です。
・JLCooper MCS-3800
JLCooper社のメディア・コマンド・ステーションMCS-3800を接続できます。MIDI機材の一つですね。
・Joystick
ゲームコントローラーを接続するためのデバイスです。
・Keyboard
キーボードのキーによる制御を可能にします。
・LTC
LTCはオーディオ信号に含まれるタイムコードで、外部タイムコードを扱う時に通常使われる規格です。
・MIDI
MIDIとはMusical Instrumental Digital Interfaceの略称で、シンセサイザーなどの電子音楽機器を接続するための規格です。
・Mouse
一番身近な入力装置ですね。
・Network client
ネットワークを通じて、他のPCで起動しているMotionBuilderと接続することができます。
・Network server
clientで接続する場合、接続するPCのMotionBuilderで起動させておかなければならないデバイスです。serverが起動しているMotionBuilderにclientを起動して接続することになります。
・Script
Pythonスクリプトで作成したソフトウェアを利用することもできます。
・Sound
音楽ファイルで制御することもできます。
・SpaceBall
マウスを裏返したようなインターフェースです。
・Trigger
外部信号をトリガーにすることができます。
・Voice
フェィシャルアニメーションをつくる際に使用できるデバイスです。
・Wacom Tablet
Wacom社のタブレット製品を接続する事が可能です。
結構、多種多様なデバイスが揃っていることがおわかりでしょう。目的に合わせて使えば、いろいろな効果を生み出せそうです。
Mouseデバイスを使ってみよう
せっかくなので、一つ使ってみましょう。
まずは、一番簡単なデバイス「Mouse」を使用して、オブジェクトを動かしてみましょう。
オブジェクトはcube(立方体)を使います。Asset BrowserタブのElementsにあるcubeをViewerへドラッグ&ドロップします。すると、Viewerにcubeが表示され、NavigaterのFiltersのSceneの中にcubeが追加されます。
続いて、Mouseデバイスをインストールしましょう。 Asset BrowserタブのDevicesにあるMouseをViewerへドラッグ&ドロップします。 NavigaterのFiltersにDevicesが追加され、その中にMouseが追加されているはずです。
これでインストールは終わりですが、デバイスとオブジェクトの情報をリンクさせないと、デバイスから入力されるデータはオブジェクトに適用されません。
そこで、NavigaterのFiltersにあるConstraintsを選択し右クリック、Insert Costraintを選択してRelationを選びます。Relationのセッティング画面が現れるので、この画面にFiltersからMouseとCubeをドラッグ&ドロップします。Cubeの時にSenderかReceiverのどちらを選ぶか聞いてきますので、Receiverを選んで下さい。これで入力を割り当てる準備が整いました。
ここで重要ポイント。Mouseデバイスから出力されるのは数値データ(Number)ですが、オブジェクトが受け取れるのはベクトルデータ(Vector)です。なので、データを揃えてあげなければなりません。Relationのセッティング画面にConvertersというリストがあります。その中のNumber to Vectorを選び、ドラッグ&ドロップします。あとは、図のようにラインで接続をすれば完成です。
どうでしょう?マウスのX軸の移動量をcubeのX軸移動量へ、マウスのY軸の移動量をcubeのZ軸の移動量へ割り当てました。マウスの動きに合わせてcubeが動きますね。
このように、非常に簡単に外部機器からのデータ入力を実現する事ができるんです。
ただ、これだとちょっと使いにくいなあとお思いではないでしょうか?
次回は、デバイスを活用してより使いやすくする方法を紹介していきたいと思います。
お楽しみに。