Realtime Midi
MIDIノートやコントローラーチェンジを使用して、リアルタイムにUdonワールドを制御することができます。
コンポーネント
シーンでMidiを利用し始めるには、いずれかのGameObjectに VRC Midi Listener コンポーネントを追加してください。

このコンポーネントは、VRChatに対してMIDIイベントを受信したいという通知を行い、必要に応じてMIDIシステムを起動します。テストを開始する前に、'Active Events' のトグルを押して 受信したいイベントを選択してください(デフォルトでは何も選択されていないため、忘れずにオンにしてください)。また、VRC Midi Listener の 'Behaviour' として、これらのイベントを受け取る UdonBehaviour を指定する必要があります。この UdonBehaviour は、MIDI Listener と同じ GameObject にあっても、別のオブジェクトにあっても構いません。
シーンを開始すると、VRCMidiHandler というGameObjectが自動的に追加されることがあります。これはMIDIデバイスドライバーを制御し、すべてのリスナーにイベントを送信するためのものです。このコンポーネントを自分でどこかに追加しないでください。これはMIDIデバイスへの接続を一度のみ行い、ユーザーがワールドから退出した際に切断されるよう、自動的に追加・削除される仕組みになっています。
デバイスの選択 - エディター
VRChat SDKを通じてデバイスを選択することで、Unityエディター上でMIDIイベントをテストできます。この設定はエディターの環境設定に保存されるため、Unityはすべてのプロジェクトでデバイスを記憶します。

デバイスの選択 - ランタイム
MIDIイベントを含むワールドを訪れると、VRChatはPC上で最初に見つかったMIDIデバイスを開こうとします。複数のデバイスがあり、使用するものを指定したい場合は、デバイス名の一部をコマンドライン引数として渡すことができます。例えば、Windows上でデバイス名が "SchneebleCo MidiKeySmasher 89" と表示される場合、起動オプションまたはスクリプトに以下を追加できます:
--midi=midikeysmasher
VRChatは名前の一部一致を検索し、大文字と小文字を区別しません。その他のすべての起動オプションについてはこちらをご覧ください:Launch Options
サンプルシーン
3種類すべてのメッセージタイプを読み取って表示するサンプルワールド、Udon Midi Test を訪れてみてください。
最終更新: