MidiAnimatorDriver 使い方ガイド
VRChatワールドでMIDIコントローラーを使ってAnimatorを操作できるギミックの使い方を解説します
MidiAnimatorDriver 使い方ガイド
はじめに
MidiAnimatorDriverは、VRChatワールド内でMIDIコントローラーの入力を受け取り、Animatorのトリガーを発火させるギミックです。
本ギミックを使うことで、VRChatワールド内でMIDIコントローラーを活用した演出やインタラクションが実現できます。
ライブパフォーマンスや照明制御など、に活用することを想定しています。
リポジトリ
https://github.com/SmiSANN/MidiAnimatorDriver
Note: JSON構造の詳細やファイル構成など、より詳しい技術情報についてはGitHubのREADMEをご参照ください。
主な機能
- MIDI入力対応 - VRCMidiListenerを使用したMIDI信号の受信
- ネットワーク同期 - 全プレイヤーに対してAnimator操作を同期
- コンボ入力 - 複数ボタンの同時押しによるトリガー発火
- 操作権限ロック - 特定のプレイヤーのみが操作可能なロック機能
- JSON設定 - 外部JSONファイルによる柔軟なマッピング設定
マッピングツールの使い方
MIDIパッドとAnimatorのパラメーターを紐づけるためのエディターツールが付属しています。
ツールの起動
Unityのメニューバーから Tools > MIDI Pad Mapping を選択して、マッピングツールを開きます。

ツールの詳細
ツールは以下の要素で構成されています。

| 番号 | 名称 | 説明 |
|---|---|---|
| ① | Animators | シーン内のAnimatorコンポーネント一覧 |
| ② | Triggers | 選択したAnimatorのTriggerパラメーター一覧 |
| ③ | 割り当てフィールド | MIDIパッドのグリッド(ノート番号が表示) |
| ④ | レイヤー追加ボタン | 新しいレイヤーを追加 |
操作方法
パラメーターの割り当て
- 左側のAnimators一覧からAnimatorを選択します
- 中央のTriggers一覧に、選択したAnimatorのTriggerパラメーターが表示されます
- パラメーターを右側の割り当てフィールド(パッド)にドラッグ&ドロップします
レイヤーの追加と割り当て
- ④のボタンをクリックして新しいレイヤーを追加します
- 割り当てフィールドを右クリックしてコンテキストメニューを開きます
- メニューからレイヤーを選択して割り当てます
レイヤー機能の仕組み: レイヤーボタンとして設定したパッドを押しながら、別のパッドを押すことで、レイヤー専用のバインディングが発火します。これにより、同じパッドに複数の機能を割り当てることができます。
エクスポートとインポート
- Export: 右上のExportボタンで現在のマッピング設定をJSONファイルとして出力します
- Import: Importボタンで以前エクスポートしたJSONファイルを読み込み、再編集できます
Launchpad Miniプリセット
Novation Launchpad Mini MK3を使用している場合は、左上のPresetメニューからプリセットを選択できます。
| プリセット名 | サイズ | 説明 |
|---|---|---|
| Drum Mode | 8×8 | ノート番号36-99(左右2ブロック) |
| User Mode | 8×8 | Drum Modeと同じ配置 |
| Keys Mode | 8×8 | ピアノ風配置 |
| Programmer Mode | 9×9 | ノート番号11-99(行列=十の位・一の位) |
警告表示機能
Animatorやパラメーター名に以下の文字が含まれている場合、ツール上で警告が表示されます:
[]{}"\
これらの文字はJSON形式で問題を引き起こす可能性があるため、使用を避けてください。
ワールドへのセットアップ
マッピング設定が完了したら、VRChatワールドにギミックをセットアップします。

セットアップ手順
-
VRC MIDI Listenerの追加
- MeshRendererとColliderが付いたGameObjectを用意します
- Add Component > VRC Midi Listener を追加します
- Active Eventsの NoteOn をクリックして有効化します(青くなれば選択済み)
-
Midi Animator Driverの追加
- 同じGameObjectに Midi Animator Driver コンポーネントを追加します
-
Config Jsonの設定
- エクスポートしたJSONファイルをプロジェクトにインポートします
- InspectorのConfig Json欄にJSONファイルをドラッグ&ドロップします
-
インジケーターの設定
- 操作権限のロック状態を表示するオブジェクトを設定します
- Indicator Unlocked: フリー状態時に表示されるオブジェクト
- Indicator Locked: ロック状態時に表示されるオブジェクト
-
Colliderの設定
- Mesh ColliderまたはBox Colliderの Is Trigger を必ず有効化してください
Note: Colliderを配置することで、プレイヤーがInteractしてロック/アンロックを切り替えられるようになります。
操作権限ロックについて
| 状態 | 説明 |
|---|---|
| フリー(Unlocked) | 誰でもMIDI操作が可能 |
| ロック(Locked) | ロックしたプレイヤーのみ操作可能 |
Colliderをクリック(Interact)することで、ロック/アンロックを切り替えられます。
MIDIデバイスの接続
単体デバイスの場合
MIDIデバイスが1台のみPCに接続されている場合は、特別な設定は不要です。VRChatが自動的にデバイスを認識します。
複数デバイスの場合
PCに複数のMIDIデバイスが接続されている場合は、VRChatの起動オプションで使用するデバイスを指定する必要があります。

設定手順
- Steamのライブラリを開きます
- VRChat を右クリック → プロパティ を選択します
- 起動オプション 欄に以下を入力します:
--midi=LPMiniMK3 MIDI
例えば、Launchpad Mini MK3を使用する場合:
--midi=LPMiniMK3 MIDI
Tip: デバイス名は、Windowsのサウンド設定やMIDI設定で確認できます。
トラブルシューティング
Animatorが認識されない場合
- GameObjectにAnimatorコンポーネントがアタッチされているか確認してください
- Animator ControllerにTriggerパラメーターが定義されているか確認してください
- 名前に
[ ] { } " \などの特殊文字が含まれている場合は警告が表示されます。これらの文字は使用しないでください
MIDI入力が反応しない場合
- VRC Midi ListenerのNoteOnが有効になっているか確認してください(青く表示されている必要があります)
- MIDIデバイスがPCに正しく接続されているか確認してください
- 複数のMIDIデバイスが接続されている場合は、VRChatの起動オプションでデバイスを指定する必要があります
- JSONファイルの
midiChannel設定が正しいか確認してください(0=全チャンネル)
ロック機能が動作しない場合
- ColliderのIs Triggerが有効になっているか確認してください
- Layerが
Walkthroughに設定されているか確認してください(プレイヤーがすり抜け可能でInteract動作が可能になります) - Indicator UnlockedとIndicator Lockedのオブジェクトが正しく設定されているか確認してください