前置き
どうでもいい人は飛ばしていいです
「なんでもできるUnityなんだしDJコンも入力いけるんじゃね?」
「それできるならDJコン使ったゲームとかいけるじゃん!」
って思ったことから始まりました。
まず自分が持っているのは「DDJ-400」です。
色々と調べた結果Midiコンであることが判明しました。
そこからMidiコンをUnityで使う方法を探し、遂に見つけました!
Keijiroさんが出している「Minis」です!
そして最近の「InputSystem」を使っていることがわかり、勉強したり触ったりしてました。
しかしDJコンとMinisの相性が悪いことが判明しまた色々と試行錯誤してみました。
その結果同じ人がMinisの前バージョンである「MidiJack」を見つけました!
こちらの方がMinisよりも相性がよいことがわかり、今回はこちらで実装をしています。
作ったもの
-
MidiJackのコントローラー入力をDJコン用にするスクリプト
開発環境
Unity2021.3.1f1
DDJ-400
導入方法
- まずここから.unitypackageをダウンロードしてインポートします
- その他必須パッケージをインポートします
これで導入は完了です!
使い方
まず入力をConsoleで確認するだけのSceneがあります。(TestDebug)
これは接続してコントローラーをいじるだけでConsoleに出力されるだけのものです。
続いて↑にも画像を載せたUIで確認できるSceneがあります。(DDJ400DebugUI)
これは入力があったものに応じてジョグやツマミなら回ったりボタンなら赤くなったりするものです。
Channelなどを確認するためのものです。
ついでにここからビルドした.exeをダウンロードできます!
最後にエフェクトを制御できるSceneがあります。(Demo)
ここではジョグでエフェクトの再生スピードを変化させることができます。
コントローラー中央最上部のツマミ(ロータリーセレクター)でエフェクトの種類を変えられます。
スクリプトについて
本パッケージはUniRxを使っています。
基本的にこのように各ControllerからSubscribeするだけで使えます!
詳しくはDebugUIに入っているスクリプトを見てください!
最後に
これでDDJ-400を使ってゲームだけじゃなくて色々なものが作れそうです!
もし他の人で使いたい人がいたら是非使ってください!