チュートリアル / 3ds Max:プラグイン活用で表現の幅を拡げよう!
第8回:3ds Maxで手軽に出来るデバイスモーションキャプチャ!

  • 3ds Max
  • コラム
  • チュートリアル
  • モデリング
  • 学生・初心者
  • 映画・TV
3ds Max:プラグイン活用で表現の幅を拡げよう!

こんにちは!
株式会社DEFT、代表取締役の子安と申します。

さっそくですが皆様はモーションキャプチャを使用した事はありますか?

昨今は容易に収録できるキャプチャシステムなども増えてきておりますが、1人で行うには敷居が高い、他のツールも使えるようにならなければいけないかも、などハードルの高さ故手を伸ばさない方も多いと思います。

実は3ds Maxはソフトを立ち上げているだけで、何も準備せずにモーションキャプチャを使用する事が出来ます。

このモーションキャプチャ機能は皆様が想像するモーションキャプチャとは一味違い、キーボードやマウス、ゲームパッドなどの入力デバイスでオブジェクトなどをコントロールする機能です。マウスにおいては上下左右にマウスを動かす事でCGオブジェクトをコントロール出来る特殊なキャプチャとなります。

今回はマウスやキーボードに加えて、電子楽器で古くから使用される共通規格の信号”MIDI”を使用してCGのオブジェクトをコントロールしてみようかと思います。

まずは雰囲気を知っていただく為、動画を作成したのでご覧ください!

それでは早速モーションキャプチャを説明していきます!

今回使用する3ds Maxのバージョンは、記事執筆時の最新バージョン3ds Max 2026.2です。

Step1 - マウスの動きをキャプチャしてみよう -

それではマウスの動きをキャプチャする手順を説明させて頂きます!
何を言ってるんだ?と一瞬意味が分からない方もいらっしゃるかもしれません。

PCの画面内でマウスポインターが動いていることからもわかるように、そもそもマウスの動きは既にPCに取り込まれて(キャプチャされて)いますよね。

今回のキャプチャは少し意味合いが異なります。
マウスの動きに合わせて、CG内のオブジェクトを動かせるのです。

手順は簡単ですので早速テストしていきましょう。

BOXを配置します。

BOXを配置します。

BOXを選択した状態でMotionパネルを開きます。

BOXを選択した状態でMotionパネルを開きます。

Assign ControllerパネルのRotation : Euler XYZを選択します。

Rotation:Euler XYZを選択しRotation:Euler XYZの上で右クリックを押すとウィンドウが開きリストが展開されます。

Rotation:Euler XYZを選択しRotation:Euler XYZの上で右クリックを押すとウィンドウが開きリストが展開されます。

リストからAssign Controllerにマウスを合わせると更にリストが展開されます。

リストからAssign Controllerにマウスを合わせると更にリストが展開されます。

更に展開されたリストからRotation Motion Captureを選択します。

更に展開されたリストからRotation Motion Captureを選択します。

Motion Captureのセットアップパネルが開きます。

Motion Captureのセットアップパネルが開きます。

X,Y,Zの回転に対してのキャプチャ設定初期状態はNoneとなっております。

X Rotation:Noneをクリックします。

X Rotation: Noneをクリックします。

Choose Deviceパネルが開きます。

ここで各々のデバイスに対して設定可能となります!
ワクワクしますね。

None:初期設定に戻す
Keyboard Input Device : キーボードの各キーを入力デバイスとします。
Joystick Input Device : ゲームコントローラーなどを入力デバイスとします。
Mouse Input Device : マウスの動きを入力デバイスとします。
MIDI Device : MIDI信号を入力デバイスとします。

気になる項目はありますが、ここは最初にお伝えした通り、マウス「Mouse Input Device」を選びましょう。

X RotationにHorizontal Mouseと表示され、下の項目にもMouse Input Device用の設定項目が表示されます。

X RotationにHorizontal Mouseと表示され、下の項目にもMouse Input Device用の設定項目が表示されます。

Track Nameに任意で分かりやすい名前を入力します。

Track Nameに任意で分かりやすい名前を入力します。
今回はBOX001_Rot_Mouseとしました。

続いてY Rotation:Noneもクリックします。

続いてY Rotation:Noneもクリックし、デバイスをMouse Input Deviceに設定します。
設定するとEdit BindingのYが青表示に切り替わり、Y Rotation専用のセッティング項目に切り替わります。

Mouse Input DeviceのMouse AxisがデフォルトのHorizontalにチェックが入っているので、Verticalに切り替えます。

Mouse Input DeviceのMouse AxisがデフォルトのHorizontalにチェックが入っているので、Verticalに切り替えます。

Utilityパネルに移動しUtilitiesのリストからMotion Captureを選択します。

Utilityパネルに移動しUtilitiesのリストからMotion Captureを選択します。

下のパネルにMotion Captureの設定パネルが表示されます。

先ほど名前を付けたBOX001_Rot_Mouseがリストアップされております。

Motion Capture設定パネルのRecord Controlsはこのような機能となります。

Motioin Capture設定パネルのRecord Controlsはこのような機能となります。

Start : タイムラインも動き、指定していたフレームのキャプチャレコードがスタートします。
※指定フレームはMotion Capture設定パネル下部のRecord Rangeとなります。

Stop : レコードをストップする際にクリックします。環境によってストップが出来ない場合があるので、私としてはマウスの右クリックをすることでクリック時までのキャプチャレコードが残るので推奨です。

Test : 割り当てたキャプチャが動くかテスト出来ます。Escでストップします。

それではマウスを動かしてCGのオブジェクトを動かしてみましょう!

動画はテスト中のムービーとなります。

マウスポインターも収録されている為、マウスの動きに合わせて先ほど割り当てたローテーションが反映されているのが分かります。

実際体感して頂くのが早いかと思いますので3ds Maxデータ(Mouse_Rotation_Capture.max)を置いております。
(Mouse_Rotation_Capture.maxは記事の最後のダウンロードボタンよりダウンロード可能です。)

動画はTestではなくマウスの動きをキャプチャした動画となります。
手順としてはStartを押してマウスを動かすのみとなります。

動画の中でリスト内のTrack Nameをクリックしております。
クリック前後でキャプチャ可能/不可となっているのは下記の内容となります。

Track Nameの左側が赤い状態はレコード可能状態、白い状態はレコードが出来ない状態となります。
Track Nameの左側が赤い状態はレコード可能状態、白い状態はレコードが出来ない状態となります。

Track Nameの左側が赤い状態はレコード可能状態となります。

白い状態はレコードが出来ない状態となるため、Testでもオブジェクトを動かす事などが出来ない状態となります。

以上でマウスの動きをキャプチャする事が出来ました。
活用方法としてはアニメーションのタイミングをメモしたい場合、簡易プリミティブにガイドとしてモーションを焼きこむ事で、自分が気に入ったアニメーションを作成する手がかりに出来るかもしれません。

次はtyFlowと絡めてみたいと思います。

Step2 - tyFlowのエミッターをキャプチャで動かしてみよう -

Record Controls内のPlay During Testにチェックを入れるとTestの際にタイムラインも動く為、他のキャラクターアニメーションデータなどがある場合にモーションキャプチャを割り当てたオブジェクトを同時に動かす事が出来ます。

今回はもっと楽しくPlay During Testを実行する為に以前から連載で使用しているtyFlowを使ってみようと思います。

tyFlow 設定画面

Step1で使用していたBOXをそのまま使用して、BOXからパーティクルが発生するようにしてみました。

tyFlowの使い方やインストール方法は以前の記事を参考にして頂ければ幸いです。

今回は下記のような簡単なセットアップにしております。

Birth : 200個のパーティクルを100Fで出し切る
Position Object : BOXを指定しBOXのポリゴン面(Face)から発生
Speed : ランダム3D
Force : 少しGravityを入れ上昇するように、タービュランスノイズを少し入れて気流感
Slow : パーティクルの動きを遅く
Spin : ランダム3Dでランダムに回転
Shape : PresetのLeaves
Mesh : レンダリングする際にレンダリングされるように
Display : Geometry

動画は簡単にtyFlowのセットアップをお見せした後、実際にキャプチャしながらリアルタイムにtyFlowのパーティクルを設定している様子です。

X移動とY移動を入れた方が面白そうなので、セットアップしていきます。

モーションキャプチャの設定で、マウスのHorizontalとVerticalをオブジェクトのX Translate,Y Translateに割り当ててみました。

しかしながらポジションのキャプチャが繊細なので、入力をキーボードデバイスに切り替えてみようと思います。

動画の内容は以下の手順となります。

tyFlowがリアルタイムで動くとキャプチャ時にラグが出る為、オブジェクトの動きはキャプチャのみに

1.MotionパネルのPosition XYZ をMotion Captureに変更
2.Xの移動をLeft Allowキーに
3.Yの移動をUp Allowキーに
4.UtilityパネルからMotion Controll設定

反省点としてはいくらリアルタイムとは言え、パーティクルエミッターもリアルタイムで位置を拾いに行く為、少し挙動に不備が出てしまった点です。

インタラクティブで非常に楽しくはあるのですが、安定性を考えるとエミッターはエミッターとしてキャプチャに専念させた方が良質な結果が得られました。

デバイスの設定はマウスとキーボードを設定しました。
次はMIDIでオブジェクトを動かしてみましょう!

Step3 - MIDIを使用してオブジェクトを動かしてみよう -

基本的な考え方はキーボードやマウスと同じで、MIDIの信号をオブジェクトの何にマッピングするか?という事ですので、1つ1つをマッピングしていけば沢山の幅が広がって行きます。

それではMIDIの設定方法を説明していきます。

Motion Captureの接続方法はStep1と同じになります。

Step1と同じ内容となりますが、Motion Capture設定パネルを開きます。

Step1と同じ内容となりますが、Motion Capture設定パネルを開きます。

紐付けたいモーションのNoneをクリックしてChoose Deviceパネルを開きます。

紐づけたいモーションのNoneをクリックしてChoose Deviceパネルを開きます。
先ほどはMouse Input Deviceを選択しておりましたが、今回はMIDI Deviceを選択します。

MIDI Deviceを選択するとMIDI Deviceの各設定項目が表示されます。

MIDIを選ぶとMIDI Deviceの各設定項目が表示されます。

MIDI Channelの設定

こちらはMIDIのチャンネルを選ぶ画面となります。
MIDIは最大16Chに振り分けられるので、各MIDIを扱えるソフトやデバイスによって設定したチャンネルが受信される事となります。

私が使用しているMIDIキーボードはNative Instruments社のKOMPLETE KONTROLを使用しております。

KOMPLETE KONTROL

こちらはMIDIキーボードの入力Chを切り替える設定画面です。
各々設定方法があると思いますので、各デバイスによって設定をします。

今回は6Chに設定しました。

MIDIはキーボードが無くてもDAWや専用ソフトから送出する事も可能です。

今回は無料で使えるソフトを幾つか使用しましたので下記に案内させて頂きます。

Cakewalk Sonar
https://www.cakewalk.com/sonar

MIDIのスコアを入力している作業画面です。

MIDIのスコアを入力している作業画面です。
こちらもチャンネルを調整出来る場所があり、DefaultはCh1ですが任意で変更可能です。

こちらの動画はトップの映像にも入れておりますが、MIDIを再生するとCG内のオブジェクトが反応しているのが分かります。

上記はどのような状況であれ、MIDIのチャンネルは存在する事をお伝えさせて頂きました。

MIDI Triggerの設定

MIDI Channelの下にあるMIDI Triggerとなります。
今回はVelocityにチェックを入れております。
MIDIのVelocityは0~127段階あり、数値が大きくなる(速くなる)ほど強い音となります。

MIDI Triggerに関しては下記のヘルプを参照すると詳細が載っております。
https://help.autodesk.com/view/3DSMAX/2026/JPN/?guid=GUID-89367E0E-8D43-48A5-ABC1-BD1119B25F77

Note Rangeの設定

Note Rangeの設定となります。
こちらは音階を設定する項目となります。

開いている項目Noteは音名となります。
C:ド
D:レ
E:ミ
F:ファ
G : ソ
A : ラ
B : シ
となります。

オクターブの設定

オクターブの設定です。

Note Rangeの設定

一般的なピアノ(88鍵)の中央のドの音はC4となります。
ソフトなどによってはC3が基準となっていたりします。

こちらの設定はC4(オクターブ4のド)の信号が送られた時のみ反応する設定となります。

LowとHighで幅を作る事で範囲内に信号が送られた場合に反応する設定などが可能となります。

今回のテストは単音のみ反応する仕組みで進めます。

MIDI Channel Viewerボタン

一番下のMIDI Channel Viewerボタンを押してみましょう。

MIDI Viewerの設定

MIDI Viewerパネルが開きます。
ここでMIDI信号が3ds Maxに入力されているか確認出来ます。

画像はMIDI Channel 6のF#4 ファのシャープでオクターブ4に信号が入っている状態です。
信号がしっかりと受信されていたので、各々セットアップをしていきます。

MIDI Setupの設定

13音のセットアップを施しました。
下に設定画面が8個表示されております、
左からC4,D4,E4,F4,G4,A4,B4,C5となります。
これ以外の5音分のセットアップ画面を並べられなかったのですが、
D5,E5,F5,G5,A5
こちらがセットアップ済となります。

それでは早速鍵盤を弾いて動かしてみましょう!

キーボードを弾く事でオブジェクトが動きました!

こちらのデータ(MIDI_C4-A5_PianoSet.max)も公開しておきますのでDAWやMIDIキーボードがある方は動かしてみてください。
(MIDI_C4-A5_PianoSet.maxは記事の最後のダウンロードボタンよりダウンロード可能です。)

ここまでのシンプルな物を更に発展させ、全ての音階(にオブジェクトのコントールを割り当ててみました。
私が使用しているMIDIキーボードは61鍵なので61個を割り当てました。

オリジナルで作成したMIDIを流し込み、質感やマテリアルを割り当ててレンダリング、コンポジットした物が下の動画となります。

音に合わせてオブジェクトが動いて一味違った表現となりました!

皆様も楽しんでみてください!

今回の配布データは下記バージョンで作成したものとなります。
3ds Max 2026.2
28.0-28.2.0.20659

今回使用した3ds Maxバージョンとプラグイン情報、使用ソフトは以下の通りとなります。

3ds Max 2026.2
28.0-28.2.0.20659
V-Ray7.0 Update2 Hotfix1
tyFlow 1.130

MIDIキーボード
Native Insturuments KOMPLETE KONTROL A61
KOMPLETE KONTROL(Windows) Ver3.5.0

DAW
Cakewalk by BandLab Version 2024.12

Windows 仮想MIDIケーブル
loopMIDI
LoopBe

接続は下記の流れとなります。
MIDIキーボードKOMPLETE KONTROL A61

KOMPLETE KONTROL(Windows)

仮想MIDIケーブル loopMIDI

DAW Cakewalk by BandLab

仮想MIDIケーブル LoopBe

3ds Max

次回はtyFlowとForest Pack Proに関してお伝えしてみたいと思います!

製品購入に関するお問い合わせ
オートデスク メディア&エンターテインメント 製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。