VRChat 非公式日本語ドキュメント

リアルタイムMIDI

MIDIデバイスを使用して、MIDIノートおよびコントロールチェンジ信号により、Udonワールドをリアルタイムで制御できます。

コンポーネント

シーンで MIDI を使い始めるには、いずれかの GameObject に VRC Midi Listener コンポーネントを追加します。

VRCMidiListener

このコンポーネントは、MIDI イベントの受信を希望していることを VRChat に通知し、必要に応じて MIDI システムを起動します。「Active Events」のトグルを押して、受信したいイベントを選択してください。デフォルトではどのイベントも選択されていないため、テストを開始する前にオンにする必要があります。また、これらのイベントを受け取る UdonBehaviour を指定する必要があります。VRC Midi Listener の「Behaviour」として対象の UdonBehaviour を選択してください。この UdonBehaviour は、MIDI Listener と同じ GameObject 上にあっても、他のオブジェクト上にあっても構いません。

シーンを開始すると、自動的に追加される VRCMidiHandler GameObject に気づくかもしれません。これは MIDI デバイスドライバーを処理し、すべての Listener にイベントを送信する役割を担っています。このコンポーネントを自分でどこかに追加しないでください。MIDI デバイスが一度だけ接続され、ユーザーがワールドから退出した際に切断されるように、自動的に追加・削除される仕組みになっています。

デバイスの選択 - エディタ

VRChat SDKを通じてデバイスを選択することで、Unity Editor上でMIDIイベントをテストできます。選択内容はエディタの環境設定に保存されるため、Unityはプロジェクトごとに使用するデバイスを記憶します。

Midi Utility Window

Midi Utility Selector

デバイスの選択 - ランタイム

MIDIイベントを含むワールドを訪れると、VRChatはPC上で最初に見つかったMIDIデバイスを開こうとします。複数のデバイスがあり、使用するデバイスを指定したい場合は、デバイス名の一部をコマンドライン引数として渡すことができます。例えば、Windows上で「SchneebleCo MidiKeySmasher 89」と表示されるデバイスを使用する場合、起動オプションやスクリプトに以下を追加します。

--midi=midikeysmasher

VRChatは名前の一部一致で検索を行い、大文字と小文字は区別されません。その他のすべての起動オプションについてはこちらをご覧ください:Launch Options

サンプルシーン

3種類すべてのメッセージタイプを読み取り表示する、Udon Midi Test サンプルワールドをご覧ください。

最終更新: