Unity EditorからADX2のデータをいじる魔改造
一條貴彰
株式会社ヘッドハイ
自己紹介:一條貴彰 @Takaaki_Ichijo
● インディーゲーム開発
○ 代表作: 「Back in 1995」 PS4 / Switch/ Xbox One等
○ 開発中:「デモリッション ロボッツ K.K.」
● インディーゲーム開発者向けメディア
○ https://indiegamesjp.dev/
● 著書
○ 『Unityサウンド エキスパート養成講座』
● 趣味
○ 日本のクラフトビールを呑む
ADX2ざっくり紹介
「CRI ADX2」とは
• 音の演出が組み込まれたライブラリ & ツール
• イントロ付きループ再生・インタラクティブミュージック
• 楽曲の演出にこだわれる
• ランダマイズやカテゴリ分けなど、多彩なサウンド制御
• 音データに制御情報を埋め込む
• Androidで音声再生の遅延を低減
• スマホで使われることが多い
• XR機器にも効果あり
• インディー向け無償エディション「ADX2 LE」
• https://game.criware.jp/products/adx2-le
最近の利用事例:『ALTDEUS: Beyond Chronos』
・Oculus Quest / Oculus Rift
/ Steam / PlayStation VR
• 多彩な楽曲演出
• 実存感を高めるボイス演出
インタビュー記事:
『ALTDEUS: Beyond Chronos』の魅力的なキャラクターの実在感について開発陣に訊く
https://www.gamebusiness.jp/article/2021/03/10/18332.html
同人・インディーゲームでの利用もいろいろ
朝はどこ モン娘ぐらでぃえーた
魔砲少女のメイガスフィア 星樹の機神 ユニティユニオンズ
ADX2の紹介・使い方・なにがうれしいのか
インディーゲームクリエイター向け サウンド実装の重要性
https://www.slideshare.net/takaakiichijo/ss-245065162
サーバー
ADX2の
パックファイル
Unity + ADX2 ワークフロー
Unity Editor
+ ADX2 plugin
g)
av, Ogg)
WAV
ビルド
実行ファイル
CRI Atom Craft
ツール操作:
鳴り方をパラメータで指定。
・「BGM」「SE」などタグ付け
・フェードイン設定
・同時再生数の制限
・ランダム再生設定
ADX2の
パックファイル
ADX2の
パックファイル
インポート ビルド
端末
スクリプト:
・キューを指定して再生
・サウンド制御を指定して再
生
ADX2では、専用ツール(Atom Craft)で音の設定をする
• 音声データが大量にある時の管理が楽
• リスト表示からの一括音量調整など
• 「音の演出」に集中して設定できる
• サウンドデザイナー・ゲームプログラマーの分業体制
ADX2の
パックファイル
Unity Editor + ADX2 plugin
CRI Atom Craft
オーサリングツール「CRI Atom Craft」で音を設定
音に制御情報を埋め込むツール
mac / windowsで動作
ADX2でちょっと面倒な事
別ツール体制のデメリット
• ゲームと音が密接に連動する演出では、ツールの行き来が少々面倒
• 「サウンドの設定ミスをちょっとだけ直したい」ときも面倒
• そもそも一人で全部作ってるので分業メリットあんまり無いがな
Atom Craft 開かずに
音データ修正したい
作りました:ADX2 for Unity Change Cue Settings
• サンプルで操作できること
• 同時再生の上限数
• 先着優先・後着優先
• プロジェクトファイル
• https://github.com/TakaakiIchijo/ADX2forUnityChangeCueSettings
デモ動画
https://www.youtube.com/watch?v=eTiGJs0QSJM
処理のしくみ
• ADX2の「ロボット機能」を利用(最近追加された機能)
• PythonスクリプトでAtomCraftを操作できる機能
• 繰り返し操作等を自動化
• AtomCraft外から実行可能
• CIツールによるデータビルド等
• Unity Editor側
• 「ロボット機能」用のスクリプトを生成
• Processでexe実行、スクリプト渡す
• 仕組み上どんなパラメーターもUntiy Editorから操作可能
ADX2用の制御スクリプトを生成
ここをUnity Editorで生成
ここはあらかじめ用意
Unity Editorからキュー設定変更 関連情報
• 別にPython経由でなくてもよい
• 操作用の通信ライブラリ ( CriAcApiClient.dll )はC#でも叩ける
• マーシャリングやりたくない....
• Python for Unityとの併用で何かがやりやすくなるかも...?
• 現在は単にProcessで呼んでるだけなので、なんか便利になるかも...?(処理待ちとか)
• 何も調べてない(なんもわからん)
• 便利だが、分業体制の時は注意
• くれぐれもサウンドデザイナーの領域を壊さないように
• 知らんうちに設定が大量に変わってたら絶対喧嘩になる
• ご利用は計画的に
ご静聴ありがとうございました

Unity EditorからADX2のデータを操作する魔改造