サウンド実装の手間を省くための
CRI ADX2
#UnityAudio完全に理解した
2019年1月29日
株式会社ヘッドハイ 一條貴彰
自己紹介:一條貴彰
● 株式会社ヘッドハイ代表
○ Play,Doujin! ディレクター
○ CRI ADX2のアンバサダー
○ GamesIndustry.bizのライター
● 個人ゲーム開発者
○ 「Back in 1995」
○ Unite 2016~2018で登壇
○ Nintendo Switch向け4人対戦ロボゲー
「デモリッション ロボッツK.K.」開発中!
● 趣味
○ 80’s洋楽ポップスのレコード収集
○ 刀剣乱舞おじさん、DREAM!ingおじさん
Taipei Game Show 2019 Indie Game Festa (1/24-25)
「デモリッション ロボッツ K.K. 」の紹介
● 4人対戦の街破壊ゲーム
● 音がとっても多い!
○ 音にかかる実装の手間を省きたい
○ ゲーム容量(アプリサイズ)を小さくしたい
○ ゲームの展開とBGMを連携させる演出を作りたい
CRI ADX2を使用
もくじ
● CRI ADX2とは
● やらなければいけないサウンド実装
● ボイスデータの管理
● Unity標準とADX2導入時のワークフローの違い
● ツールデモ
● ボイスデータの管理例
● Unityデモ
● サウンド演出の設定
● まとめ
CRI ADX2とは
CRI ADX2とは
・ゲーム向け統合型サウンドミドルウェア
1. 音にまつわる演出が組み込まれたライブラリ&ツール
・イントロ付きループ再生
・再生数の上限管理
・ランダムに音を変化させる
・インタラクティブミュージック
2. ゲームに最適化した音声圧縮形式
・サウンド再生の負荷軽減
・暗号化
・Android 低遅延再生
CRIWAREを使っているアプリ
ADX2 エディションの説明
● ADX2: 有償版
○ 法人向け
○ ゲーム発売前ごろから有償のサポート契約(機能検証は無償)
→ 売上%払いとか、月額とか。ゲーム販売形態による
(資料末尾で補足)
● ADX2 LE: 無償版
○ 個人、小規模向け(1,000万円以下の売り上げ)
○ 無償で使える
○ iOS/Android/PC/Mac 限定
ADX2の効能!としてよく紹介しているもの
● Androidのサウンド遅延対策
○ SDKを入れて設定すれば改善するので、あまり説明することがない。
● 音声データの暗号化
○ 入れれば暗号化できるので(略)
● 途切れのないイントロ付きループ再生の実現
○ 入れ(略)
最速導入チュートリアル:Unity 2018のサウンド機能をADX2で強化する
https://qiita.com/Takaaki_Ichijo/items/16e6501fc07f5b3b3377
今回のテーマ
・実装の「手を抜く」ためのADX2
・エクセル管理表から脱却するためのADX2
やらなければいけないサウンド実装
● 負荷軽減
○ 同時再生数の上限設定
○ CPU・メモリ管理
● 管理
○ ボイスデータの管理
○ AssetBundle...
● 演出設計
○ フェード処理
○ セリフが再生されたときにボリュームを落とす(ダッキング)
ボイスデータの管理
よくありそうなボイス管理テーブル.xls
どういうシチュエーションで鳴らされるか、
の管理が難しい
現場のフロー(想像)
ボイス収録できたやで!
データ納品ドーン!
連番ファイルの中身はExcelで管理しつつ、
プログラマーに鳴らしてもらおう
なるほど!
このボイスの番号はこれか!
再生システムに入れたで!
(^)(^)ミ
ボイスリスト.xlsx
現場のフロー(想像)
ファイル名変わりました
ボイス入ってるAssetBundle変わります
( )( )ミ
ワイはどこからどれを鳴らせば
いいんや....
Excelの方が古くて指定を間違えてました
ボイスリスト(2)_最新版_20190129_高橋修正(再提出).xlsx
ボイスリスト_最終_201901マージ_佐藤作業分.xlsx
Excel管理の問題
● 実際のファイルとExcel管理用のデータがズレる
● ファイルを見に行かないとプレビューできない
● AssetBundle使う場合もプログラマーとのやりとりが多数発生
データとメタデータが
分離していることが問題っぽい
専用管理ツールを開発する?
● プランナー(or ゲームデザイナー)が触れるようにしたい
○ Unity Editor拡張だと辛そう
● 「どう鳴らされるか」のシチュエーションをツール側で巻き取りたい
○ 文字情報ではなく、タグのように再生設定を埋め込む
● データは階層構造で管理したい
○ パックファイル(またはAssetBundle)の単位として管理したい
● その他ツールとしての要件
○ undo
○ プレビュー機能
ADX2の「Atom Craft」をデータ管理に使おう
Unity標準AudioとADX2導入時の
ワークフローの違い
サーバー
実行ファイル
Unity Audioのフロー
AssetBundle
Script
・AudioClipを指定して再生
・さまざまなサウンド制御実装
・再生数制御
・フェード
・ダッキング
Unity Editor
AudioClip
(Wav, Ogg)AudioClip
(Wav, Ogg)AudioClip
(Wav, Ogg)
AudioClip
(Wav, Ogg)AudioClip
(Wav, Ogg)WAV インポート
ビルド
管理エクセル
サーバー
ADX2の
パックファイル
Unity + ADX2のフロー
Script:
・キューを指定して再生
・ランタイムに実装済みの
サウンド制御を指定して再生
Unity Editor + ADX2 plugin
g)av,
Ogg)WAV
ビルド
実行ファイル
CRI Atom Craft
ツール操作:
再生単位「キュー」を作り、
鳴り方をパラメータで指定。
・フェードイン
・再生数制御
・ダッキング
ADX2の
パックファイル
ADX2の
パックファイル
インポート ビルド
Unity AudioとADX2の違い
● Unity Audio
○ サウンドファイルと再生処理が1対1
○ 「ファイルに関する情報」を外に持つ必要がある(エクセル管理表・Scriptable Object?)
○ ファイル名の変更→スクリプトの修正
● ADX2
○ サウンドファイル ≠ 再生処理
■ 再生単位「キュー」を指定する
■ 内部的にファイルが更新になっても、スクリプトは変えなくて良い
■ 「キュー」に任意文字列を埋め込める
○ 音の鳴らし方をパラメータとして内包できる
○ ツール上でプレビュー再生できる(重要)
○ スクリプトをいじらずに鳴らし方を調整できる(重要)
ボイスデータの管理
Atom Craftを使ってボイスデータの管理をする
ユニティちゃんアクションボイスパック Vol.1を使って実験
http://unity-chan.com/
ボイスデータの管理手順1
プロジェクトにwavの入った
フォルダを登録する
ボイスデータの管理手順2
キューシート(パックファイルの単位)を作成する。
このファイルには何のデータが入っているかコメント欄に書く。
ボイスデータの管理手順3
キュー(再生の単位)を作成する
ボイスデータの管理手順4
● キューにコメントを入れる
○ コメント: ツール上のみで確認できるコメント
○ ユーザーデータ:ファイルに埋め込まれ、プログラムから読める文字列
この例ではセリフ情報を入れたが、何らかの制御情報も入れられる
● キューにパラメーターを設定する
○ 発音数制御
○ ランダム再生
○ 優先度
(この後の「演出」セクションで紹介)
ボイスデータの管理手順5
再生処理を組む。 「キュー名称」あるいは「ID」で指定して再生。
会話シーンなど順序が絡む処理はIDでの再生、
アクションシーンなどはアニメーションなどと絡む処理は
キュー名での再生が管理しやすそう
ボイスの確認と調整
BGMを流しつつ、ツールで確認再生(最重要)
ゲーム上で再生される状況と
同じ環境でボリューム調整が
できる
リアルタイム調整機能(インゲームプレビュー)
ゲームを実行させながら、Atom Craftでパラメーターを調整できる
・Editor実行中にインスペクタでパラメーターいじる感じ
・PCビルドでもスマホ実機でも接続OK
・3Dゲームの距離減衰系はこれ使うと便利
サウンド演出の設定
CRI Atom Craftで設定できることの一部
● 音量調整
● ループ位置の変更
● 複数ファイルからのランダム再生
● ピッチシフト、フィルタなどの適用範囲
● 再生数上限設定
● 音同士の反応(Aが鳴ったらBの音を下げる)
Unity + ADX2のボイス演出デモ
https://drive.google.com/file/d/1kWZgrG9SBGdnW0LEa8VTHEg3ei0emhdO/view?usp=sharing
スクリプトは激シンプル
演出は音データ側に
埋め込まれている。
デモのボイス、BGM
両方ともこんな感じ。
ランダム再生
● ツール上で色々ランダムできる
○ ピッチ
○ フィルタエフェクト
○ 複数データのランダムチョイス
カテゴリ
キューにカテゴリ(タグ)をつけて、その単位で操作する
例:あるカテゴリの音は最大1音しか再生されない設定、「カテゴリキューリミ
ット」を付与する
=同一キャラの声がいちどに2つ鳴らないようにできる
BGMのクロスフェード:一番楽な方法
・エンベロープタブの
「アタック」「リリース」を使う
・フェードカーブを高速変化にすることで
「全体の音量が下がる瞬間」を回避
ダッキング
セリフの再生が始まったら0.5秒かけて音量が30%になり、
終了したら0.5秒かけてもどる設定
キューシート(パック単位)の話
キューをまとめた「キューシート」が出力ファイルの単位になる
Voice_Kohaku, Voice_Yuko, BGM
UnityAudioMaster.acf :全体設定
BGM. awb :ストリーミング再生データ
キューシートが別なら同名キューが使える
2人のスクリプトは同じで、同じ名前の「キュー」を再
生している。
キューシートを入れ替えるだけでボイスを変更できる。
=キャラごとに再生キューを変える必要なし
まとめ
まとめ
● オーディオは考えることがいっぱい!
○ 自作もできなくはないが、いろんな要素が掛け合わさる状態の管理が大変
○ ある程度の複雑性が見込めるならADX2を試してみよう
● 大量の音データ管理はツールで乗り越えよう
○ ADX2は音データの「管理」がとくい
○ プレビュー機能でボリューム調整仕事を分散
○ ボイス管理表.xlsから脱出しよう
近日アップデート予定とのこと!
今は色々言えないんじゃが、アレのアレとかが良くなる。。。。。
書籍:Unity Audio 実装の極意
● Unity Audioの機能解説
● 実装例の紹介
● ADX2の機能解説
● 実装例の紹介
● VRコンテンツ向け実装例紹介
ご清聴ありがとうございました
おまけ
有償版ADX2がUnity等と契約形態が違う理由
● 「ツール販売」ではなく「使用許諾」
○ サウンド専門スタッフによるライブラリのサポート&メンテ契約、みたいな発想
■ 日々発売されるヤバい端末とのたたかい
■ 日々更新されるOSアプデとのたたかい
○ 同じ会社内ならツールを何台でもインストールしてOK
=アカウント数を気にせず、テスターやプランナーさんにツールでの調整を任せられる
● ゲームの販売形態によって契約形態も異なる
○ ダウンロード定額販売ゲーム:売上の0.95%
○ 運営型ゲーム:初期費用35万円、月額0円~80万円(ゲームの売上連動)
→サポートが終わらずずっと続くので、月額スタイル
めざましアプリがキャラごとに5個出るとか、1か月限りのプロモアプリであるなど、
個々の細かい事情は相談可能
それでもExcelを使いたい
● 開発チームがExcel派の場合は?
○ ADX2にはcsvインポート・エクスポート機能あります
■ 一括操作はExcelでやった方が早い場合も
○ Excelで作業してますよ!というポーズのためにも使用できる(やや邪悪)

More Related Content

PDF
UE4におけるキャラクタークラス設計
PDF
GPU最適化入門
PDF
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
PDF
「Adx2 LE」Unity活用編 初~中級編
PDF
ゲーム音楽演出を進化させる「インタラクティブミュージック」と「音楽的ゲームデザイン」
PDF
猫でも分かるUE4のポストプロセスを使った演出・絵作り
PDF
多機能ボイチャを簡単に導入する方法
PDF
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
UE4におけるキャラクタークラス設計
GPU最適化入門
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
「Adx2 LE」Unity活用編 初~中級編
ゲーム音楽演出を進化させる「インタラクティブミュージック」と「音楽的ゲームデザイン」
猫でも分かるUE4のポストプロセスを使った演出・絵作り
多機能ボイチャを簡単に導入する方法
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント

What's hot (20)

PDF
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
PDF
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
PDF
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
PDF
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
PDF
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
PDF
ゲームデザイナーのためのキャラクター表現&コンセプトメイキング:抜粋版
PPTX
【出張ヒストリア2017】新しいUnreal AudioEngineでインタラクティブサウンドコンテンツはどこまでつくれるか!?
PDF
Riderはいいぞ!
PPTX
ARマーカーを利用したHoloLens同士の位置合わせ
PDF
出張ヒストリア ブループリントを書くにあたって大切なこと
PDF
MusicEngine for Unity/ADX2を使った簡単音楽同期ゲーム制作
PDF
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
PDF
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
PDF
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
PDF
PDF
なぜなにFProperty - 対応方法と改善点 -
PDF
UnityのMultiplayサービスの得意な事
PDF
60fpsアクションを実現する秘訣を伝授 基礎編
PDF
猫でも分かるUE4.22から入ったSubsystem
PDF
Unityアニメーションシステムの 今と未来の話
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
ゲームデザイナーのためのキャラクター表現&コンセプトメイキング:抜粋版
【出張ヒストリア2017】新しいUnreal AudioEngineでインタラクティブサウンドコンテンツはどこまでつくれるか!?
Riderはいいぞ!
ARマーカーを利用したHoloLens同士の位置合わせ
出張ヒストリア ブループリントを書くにあたって大切なこと
MusicEngine for Unity/ADX2を使った簡単音楽同期ゲーム制作
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
なぜなにFProperty - 対応方法と改善点 -
UnityのMultiplayサービスの得意な事
60fpsアクションを実現する秘訣を伝授 基礎編
猫でも分かるUE4.22から入ったSubsystem
Unityアニメーションシステムの 今と未来の話
Ad

Similar to サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解した (20)

PDF
キャラが8人同時にしゃべるんだけど...とPに言われたときの戦い方
PDF
Unityのサウンド状況を調べまくって分かったアレコレ
PDF
CRI ADX2 for Unityを3年ぶりにシバいて 得られた知見
PDF
サウンド演出開発をADX2で省力化する : Gotanda.unity 9
PDF
Unity for ADX2のプラグインを小改造して、ボイスデータの管理を便利に
PDF
「Unityサウンド エキスパート養成講座」振り返り ~単著ができるまで~
PDF
同じ音が二度と鳴らないゲームの環境音を作る
PDF
インディーゲームでも「インタラクティブ・ミュージック」!
PDF
Unity対応してるmbass全部紹介する
PDF
重い音楽と軽い音楽 欧米と日本のゲーム音楽の違いについて
PDF
Unity サウンドTips 2019
PDF
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来
PDF
130622-gcs2013-presentation-c
PDF
GDC07 Report
PDF
積み上げ棒グラフのリザルト画面を作る&いい感じに音をつける
PPTX
「ゲーム・ミュージック・シーンをリードするクリエイター達」の思い出
PDF
Unity EditorからADX2のデータを操作する魔改造
PDF
Bitsummit報告会
PDF
SIG-Audio#17 GDC2019オーディオ報告会 「より没入感のある音響ユーザー体験のために」
PDF
開催趣旨・00年代イントロ・パネルディスカッション資料
キャラが8人同時にしゃべるんだけど...とPに言われたときの戦い方
Unityのサウンド状況を調べまくって分かったアレコレ
CRI ADX2 for Unityを3年ぶりにシバいて 得られた知見
サウンド演出開発をADX2で省力化する : Gotanda.unity 9
Unity for ADX2のプラグインを小改造して、ボイスデータの管理を便利に
「Unityサウンド エキスパート養成講座」振り返り ~単著ができるまで~
同じ音が二度と鳴らないゲームの環境音を作る
インディーゲームでも「インタラクティブ・ミュージック」!
Unity対応してるmbass全部紹介する
重い音楽と軽い音楽 欧米と日本のゲーム音楽の違いについて
Unity サウンドTips 2019
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来
130622-gcs2013-presentation-c
GDC07 Report
積み上げ棒グラフのリザルト画面を作る&いい感じに音をつける
「ゲーム・ミュージック・シーンをリードするクリエイター達」の思い出
Unity EditorからADX2のデータを操作する魔改造
Bitsummit報告会
SIG-Audio#17 GDC2019オーディオ報告会 「より没入感のある音響ユーザー体験のために」
開催趣旨・00年代イントロ・パネルディスカッション資料
Ad

More from Takaaki Ichijo (17)

PDF
Google Sheets経由でUnity Localization Packageのデータを更新する & ADXの多言語ボイス音声切り替え機能連携
PDF
Genvidセミナー シンプルJava Scriptオーバーレイ編
PDF
インディーゲームクリエイター向け サウンド実装の重要性
PDF
自作ゲームで使っている技術:動画配信&インタラクティブミュージック
PDF
VRにはサウンドが大事って48,000回言っとるやろがい
PDF
ゲーム産業におけるDevRel活動について
PDF
「デモリッションロボッツK.K.」のGenvidインティグレート事例
PDF
Doozy ui 導入Tips
PDF
Unity + Twitch Extensionsを使って動画配信
PDF
インタラクティブ・ストリーミングが変えるゲームコンテンツの未来
PDF
音にこだわる! ネイティブアプリだからできる 快適なサウンド演出
PDF
Cocos2d-x Talks #2 「サウンド実装のちょっとした気配りで ユーザに”快適感”を。 &サウンドミドルウェア「ADX2」のご紹介」
PDF
Indie Stream Fes 2014 ツール・ミドルウェア出展3社セッション!
PDF
無償サウンドライブラリ「ADX2 LE」の紹介
PDF
「ADX2 LE」Unity プラグイン クイック導入ガイド
PDF
アプリのボイスと曲を潤沢に!「ADX2」のご紹介
PDF
自力でゲームのSEを生成する方法 by 「ADX2 LE」
Google Sheets経由でUnity Localization Packageのデータを更新する & ADXの多言語ボイス音声切り替え機能連携
Genvidセミナー シンプルJava Scriptオーバーレイ編
インディーゲームクリエイター向け サウンド実装の重要性
自作ゲームで使っている技術:動画配信&インタラクティブミュージック
VRにはサウンドが大事って48,000回言っとるやろがい
ゲーム産業におけるDevRel活動について
「デモリッションロボッツK.K.」のGenvidインティグレート事例
Doozy ui 導入Tips
Unity + Twitch Extensionsを使って動画配信
インタラクティブ・ストリーミングが変えるゲームコンテンツの未来
音にこだわる! ネイティブアプリだからできる 快適なサウンド演出
Cocos2d-x Talks #2 「サウンド実装のちょっとした気配りで ユーザに”快適感”を。 &サウンドミドルウェア「ADX2」のご紹介」
Indie Stream Fes 2014 ツール・ミドルウェア出展3社セッション!
無償サウンドライブラリ「ADX2 LE」の紹介
「ADX2 LE」Unity プラグイン クイック導入ガイド
アプリのボイスと曲を潤沢に!「ADX2」のご紹介
自力でゲームのSEを生成する方法 by 「ADX2 LE」

サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解した