SlideShare a Scribd company logo
Unity サウンドTips
2019

株式会社ヘッドハイ 一條貴彰
2019/7/20
Unity++ ~ショートセッション勉強会~
自己紹介

● 株式会社ヘッドハイ 代表取締役

○ 「ゲーム開発者向けのツールやサービスを広める」をやる会社 

■ Play,Doujin! ディレクター 

■ CRI ADX2のアンバサダー 

■ Google Indie Games Festival アドバイザー 

■ GenvidのDeveloper Relations ←New! 



● 個人ゲーム開発活動

○ 「Back in 1995」(Switch/PS4/PS Vita/One/N3DS) 

○ 「デモリッション ロボッツK.K.」開発中! 

● 趣味

○ 80’s洋楽ポップスのレコード収集 

○ 刀剣乱舞、千銃士、ドリミ、MakeS

● @takaaki_ichijo→

ごあんない

● 本講演は5月で大阪にて開催された「Unity の集い」発表の増強版です。

○ 15分→25分

● もし出席者が居たら、半分くらいは「もう見た」になると思います。すみません。



講演背景:Unityのサウンドについて調べまくった

● 本を書いていましたので!

○ 「Unity サウンド エキスパート養成講座」 

○ 2019/8/27発売

○ 絶賛内容チェック中

○ 当社とCRI・ミドルウェア社の共同事業 

○ Unity標準サウンド、VR、CRI ADX2の実装を解説! 



● とにかくマニュアルを読みまくった

● その中で特に面白かったトピックを紹介

● サウンドは大事だよ!をあらためて言いたい。



(仮の表紙)

もくじ

1.ふりかえり編

2.エフェクト編

3.VR編

4.CRI ADX2編

5.知らなかった そんなの...編

ふりかえり編

Unity Audioの基礎!!

● Unity Audioの基礎については、Unite 2018の講演参照
○ Audio機能の基礎と実装テクニック
○ https://www.slideshare.net/UnityTechnologiesJapan0
02/unite-tokyo-2018audio


フェード処理(拡張メソッド)

public static IEnumerator PlayWithFadeIn(this AudioSource audioSource, AudioClip audioClip, 

float fadeTime = 0.1f) 

{

audioSource.Play(audioClip, 0f);



//目標ボリュームに到達するまで毎フレームボリュームを上げる//

while (audioSource.volume < 1f) 

{ 

float tempVolume = audioSource.volume + (Time.deltaTime / fadeTime ); 



//目標ボリュームより計算結果が大きいか判定し、急に音量1fを超えた大ボリュームにならないようにする// 

audioSource.volume = tempVolume > 1f ? 1f : tempVolume;



yield return null; 

}

}



呼び出し側: StartCoroutine(audioSource.PlayWithFadeIn(audioClip, fadeTime); 

public static IEnumerator PlayWithFadeIn(this AudioSource audioSource, AudioClip audioClip, 

float fadeTime = 0.1f) 

{

audioSource.Play(audioClip, 0f);



//目標ボリュームに到達するまで毎フレームボリュームを上げる//

while (audioSource.volume < 1f) 

{ 

float tempVolume = audioSource.volume + (Time.deltaTime / fadeTime ); 



//目標ボリュームより計算結果が大きいか判定し、急に音量1fを超えた大ボリュームにならないようにする// 

audioSource.volume = tempVolume > 1f ? 1f : tempVolume;



yield return null; 

}

}



フェード処理(拡張メソッド)

強制的に最大音量まで
いってしまうので、
指定音量までフェードで
きない
呼び出し側: StartCoroutine(audioSource.PlayWithFadeIn(audioClip, fadeTime); 

fadeTime が負の値だと
Whileを抜け出せない
フェード処理(拡張メソッド)改良版 via: @8bitdots

public static IEnumerator PlayWithFadeIn(this AudioSource audioSource, AudioClip audioClip, float fadeTime = 0.1f, float endVolume = 1.0f )

{

//目標ボリュームを0から1に補正//

float targetVolume =Mathf.Clamp01(endVolume);



//フェード時間がおかしかった場合は補正//

fadeTime = fadeTime < 0.1f ? 0.1f : fadeTime;

//音量0で再生開始//

audioSource.Play(audioClip, 0f);



for (float t = 0f; t < fadeTime;t+= Time.deltaTime)

{

audioSource.volume =Mathf.Lerp(0f, targetVolume, Mathf.Clamp01( t / fadeTime) );

yield return null;

}



audioSource.volume = targetVolume;

}

エフェクト編

Unity, エフェクトがややムズ

● (ゲームエンジニアには)不慣れな単位や用語が出てくる

○ ボリューム単位がdBになる 

○ Attenuation

○ Send / Receive

○ Dry / Wet

● ミキサーはコンポーネントではなく「ユニット」

● パラメーターを触るには「エクスポーズ」が必要



Audio Mixer使ってる?

Audio Mixerの操作

● ダッキング

○ SendとReceive(Duck Volume)
● パラメーターのエクスポーズ
○ エフェクトのパラメーターを切りかえる
○ エフェクトのオンオフ
● スナップショット
○ エフェクトパラメーターの滑らかな切り替え
マニュアルがしんどめ

何言ってるか
わからん....
Unity サウンドTips 2019
Unity サウンドTips 2019
バグ発見&イシュートラッカー建立

Unity 2019.1.2f1あたりまで:

Audio Mixer GroupのSend levelとインスペクターのSend levelが連動してない

直った!(2019.1.8あたりから)

VR編

VRは音の分類が通常のゲームとちょっと違う

● 通常の3Dゲーム(スクリーンゲームとも)

○ 2Dの音:BGM、環境音、メニュー効果音 

○ 3Dの音:ゲーム内効果音、ボイス 

● VR:上記に加えて

○ 指向性を持った音:ゲーム内効果音、ボイス 

○ 360度から聞こえる音:環境音 

指向性を持った音 is 何

「位置情報」を表現できる音

・直接音:パンニング

+両耳の位置差

+距離減衰

・初期反射:リバーブ

・後期残響:エコー



360度から聞こえる音

・Ambisonics(アンビソニックス、録音技術の名称)

・特殊なマイクで360度の音を収録し、全方向サウンドデータにする

・THETAのサウンド版みたいなもの

・用途

・プレイヤーの位置が関係しない森の環境音とか

・位置移動ができないのでゲームでは扱いが難しめ

VRサウンドSDK多すぎ問題

● Oculus Audio SDK

○ Oculus Integrationに含まれてる 

○ GoでもQuestでもViveでも使える 

● Google Resonance Audio SDK

○ ベイク型の空間音響システムがある 

○ 反射音の材質プリセットがある 

○ 唯一iOS対応?

● Steam Audio SDK

○ impulsonic社が作っていた「Phonon」を買収してリネーム 

○ 何もわからん

● Vive 3DSP SDK

○ 何もわからん

 だいたいこれらのSDK単体か、プラス、サウンドミドルウェアみたいな使い方する 

VRサウンドSDK多すぎ問題

● Oculus Audio SDK

○ Oculus Integrationに含まれてる 

○ GoでもQuestでもViveでも使える 

● Google Resonance Audio SDK

○ ベイク型の空間音響システムがある 

○ 反射音の材質プリセットがある 

○ 唯一iOS対応?

● Steam Audio SDK

○ impulsonic社が作っていた「Phonon」を買収してリネーム 

○ 何もわからん

● Vive 3DSP SDK

○ 何もわからん

 だいたいこれらのSDK単体か、プラス、サウンドミドルウェアみたいな使い方する 

いまのところの正解はコレ 

Asset Storeで「Oculus Integration」を
ダウンロードすると含まれてる 

Oculus Audio SDKの罠

● OculusSpatializerUnityコンポーネント(Audio Sourceと一緒に使う)

○ パラメーター Max Wall Distance 

○ 空間サイズ計測用のレイを飛ばす距離の最大値 



単位フィート
● Audio Mixer用ユニット Oculus Spatializer Reflection

○ 反射音処理を一括して行うAudio Mixerのエフェクト 



Oculus Audio SDKの罠2

Spatializer処理はそれなりに重い

・無理に使わずともパンニング+距離減衰だけでも良い場合がある 

・そもそもoggコーデックのデコードが重い 

・GoやモバイルVRはかなり辛い 

(遅延低減のために、CPUを食うBest Latency設定するため) 

・CRI ADX2を使う

・HCA-MXコーデックが軽いので任せる 

導入:Unity 2018のサウンド機能をADX2で強化する 

https://qiita.com/Takaaki_Ichijo/items/16e6501fc07f5b3b3377

・法人の場合:CRI ADX2のOculus Audio SDK対応パッケージを使う 

・個人の場合:Spatializeしない音をADX2の処理にまかせる BGMとか 

CRI ADX2編

CRI ADX2

・ゲーム向け統合型サウンドミドルウェア 

 ・音にまつわる演出が組み込まれたライブラリ&ツール 

  ・イントロ付きループ再生 

  ・再生数の上限設定 

  ・ランダムに音を変化させる設定 



 ・ゲームに最適化した音声圧縮形式 

  ・たくさん音が鳴るゲームの 負荷軽減

  ・ボイスが多いゲームの データ圧縮

 ・インタラクティブミュージック!! 

ADX2のエディション

法人用の「ADX2」と無償版の「ADX2 LE」がある

● ADX2

○ 法人向け

○ 先進的機能とzendeskによる技術サポート  

○ ゲーム発売後に有償契約(売り上げ%とか月額とか) 

● ADX2 LE

○ 個人、小規模むけ(1,000万円以下の売り上げ) 

○ 機能のアプデは遅め 

○ 無償、ゲームの有料発売もOK 

ここからダウンロード

https://game.criware.jp/products/adx2-le/



Unity Asset Store版ADX2って?

Unity Asset Store版($99)の立ち位置

 ・日本国外在住の方(LEは国内利用のみのため)

 ・とりあえずPC向けで安価に試してみたい法人の方

(モバイルに対応していない)

日本に住んでいるなら、法人→ADX2、

個人→ADX2 LEでよい



今回デモ:専用のオーディオプロファイラー

デモ

知らなかった そんなの...編

Unityのロードマップ

 Audio機能の追加はほぼないっぽい 

 録音機能とか、タイムライン関連ぐらい 

 書籍を書くにはいいタイミングネ 

 (^^)

Audio DSP Graph が突如出現

(実は予告が2018年10月のUnite LAであったみたい)

わからんので、@tnayukiさんに調べてもらった

● Unityの集い in 大阪

○ 「DSP Graphを試してみた」 

わからん...。

まかせた結果!

● ドキュメントめっちゃ少ない

○ Megacityデモからコードひっこぬいて 

○ UnityCsReferenceのリポ見てインターフェースを探す 

○ アクセス必要なクラスがinternal 

○ Unity.Audioアセンブリ作って無理やりアクセス 

…等



資料はコチラ

https://www.slideshare.net/tnayuki/dspgraph?ref=https://learning.unity3d.jp/2452/

大変だった

DSP Graphはまだしんどめ

サウンド機能の開発は奥深い

● Native Audio Plugin SDKとか..

○ Unity5以降でサンプルの更新が止まってるらしい

● でも、ゲームのクオリティアップには超大事。

● みんなもサウンドこだわっていこうぜ

「Unityサウンド エキスパート養成講座」

ご清聴ありがとうございました


More Related Content

PDF
Unityのサウンド状況を調べまくって分かったアレコレ
PDF
サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解した
PDF
「Unityサウンド エキスパート養成講座」振り返り ~単著ができるまで~
PDF
Google Sheets経由でUnity Localization Packageのデータを更新する & ADXの多言語ボイス音声切り替え機能連携
PDF
同じ音が二度と鳴らないゲームの環境音を作る
PDF
インディーゲームでも「インタラクティブ・ミュージック」!
PDF
VRにはサウンドが大事って48,000回言っとるやろがい
PDF
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来
Unityのサウンド状況を調べまくって分かったアレコレ
サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解した
「Unityサウンド エキスパート養成講座」振り返り ~単著ができるまで~
Google Sheets経由でUnity Localization Packageのデータを更新する & ADXの多言語ボイス音声切り替え機能連携
同じ音が二度と鳴らないゲームの環境音を作る
インディーゲームでも「インタラクティブ・ミュージック」!
VRにはサウンドが大事って48,000回言っとるやろがい
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来

What's hot (20)

PDF
積み上げ棒グラフのリザルト画面を作る&いい感じに音をつける
PDF
インディーゲームクリエイター向け サウンド実装の重要性
PPTX
インタラクティブミュージック研究会
PDF
Unity for ADX2のプラグインを小改造して、ボイスデータの管理を便利に
PDF
サウンド演出開発をADX2で省力化する : Gotanda.unity 9
PDF
Unity EditorからADX2のデータを操作する魔改造
PDF
CEDEC 2011 「ARG:プラットフォームに依存しない新しい遊び方」八重尾スライド
PDF
多機能ボイチャを簡単に導入する方法
PPTX
Unite2014 Live2D x Unity x Kinect 2
PPT
Unite2014 Live2D x Unity x Kinect 1
PDF
Unity + Twitch Extensionsを使って動画配信
PPTX
Unity vr
PDF
Unity講習会(初級)
PPTX
Live2Dの描画の裏側の話
PPTX
第二回自作ゲームフェス勉強会(第1部・中村光一さん講演&質疑応答)
PDF
学生がUnityで2 dゲームを作るとこうなる
PDF
UnityのMultiplayサービスの得意な事
PDF
Doozy ui 導入Tips
PDF
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
PDF
Doozy UI 使おうぜ! #unity_lt
積み上げ棒グラフのリザルト画面を作る&いい感じに音をつける
インディーゲームクリエイター向け サウンド実装の重要性
インタラクティブミュージック研究会
Unity for ADX2のプラグインを小改造して、ボイスデータの管理を便利に
サウンド演出開発をADX2で省力化する : Gotanda.unity 9
Unity EditorからADX2のデータを操作する魔改造
CEDEC 2011 「ARG:プラットフォームに依存しない新しい遊び方」八重尾スライド
多機能ボイチャを簡単に導入する方法
Unite2014 Live2D x Unity x Kinect 2
Unite2014 Live2D x Unity x Kinect 1
Unity + Twitch Extensionsを使って動画配信
Unity vr
Unity講習会(初級)
Live2Dの描画の裏側の話
第二回自作ゲームフェス勉強会(第1部・中村光一さん講演&質疑応答)
学生がUnityで2 dゲームを作るとこうなる
UnityのMultiplayサービスの得意な事
Doozy ui 導入Tips
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
Doozy UI 使おうぜ! #unity_lt
Ad

Similar to Unity サウンドTips 2019 (19)

PPTX
【Unity道場スペシャル 2017札幌】超初心者向け!Unityのオーディオ機能を使ってみよう
PPTX
KLabCreativeSeminar#3_Unityサウンドエキスパート養成講座
PDF
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
PDF
ADX2LE GGJ13向けワークショップ
PDF
「ADX2 LE」Unity プラグイン クイック導入ガイド
PPTX
SIG-Audio#6 プラグインを書かなくてもここまで出来る!Unityサウンド
PPTX
モバイル×VRにおける3Dサウンド実践
PDF
[崇城大学][熊本Apps!] 学生のためのUnity勉強会
PDF
CRIWARE 最新情報 ~UE4 Editor × ADX2で加速するサウンドデザイン~ / GTMF2019
PPTX
【出張ヒストリア2017】新しいUnreal AudioEngineでインタラクティブサウンドコンテンツはどこまでつくれるか!?
PDF
SIG-Audio#17 GDC2019オーディオ報告会 「より没入感のある音響ユーザー体験のために」
PDF
UnityによるAR/VR/MR 開発体験講座
PDF
The beginners guide of real-time audio processing (Part 1:Equalizer)
PDF
効果音管理でラクしたい人のための Unity実装テクニック
PDF
プログラミング講座
PDF
SIG-Audio#10 GDC2015 オーディオセッション報告
PDF
SIG-Audio#14 GDC2017オーディオ報告会 「海外クリエーターから学んだサウンド開発レベルのスレッショルドライン~GDC2017をジャンル別...
PDF
「Adx2 LE」Unity活用編 初~中級編
PDF
3Dオーディオについて(ロングバージョン)
【Unity道場スペシャル 2017札幌】超初心者向け!Unityのオーディオ機能を使ってみよう
KLabCreativeSeminar#3_Unityサウンドエキスパート養成講座
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
ADX2LE GGJ13向けワークショップ
「ADX2 LE」Unity プラグイン クイック導入ガイド
SIG-Audio#6 プラグインを書かなくてもここまで出来る!Unityサウンド
モバイル×VRにおける3Dサウンド実践
[崇城大学][熊本Apps!] 学生のためのUnity勉強会
CRIWARE 最新情報 ~UE4 Editor × ADX2で加速するサウンドデザイン~ / GTMF2019
【出張ヒストリア2017】新しいUnreal AudioEngineでインタラクティブサウンドコンテンツはどこまでつくれるか!?
SIG-Audio#17 GDC2019オーディオ報告会 「より没入感のある音響ユーザー体験のために」
UnityによるAR/VR/MR 開発体験講座
The beginners guide of real-time audio processing (Part 1:Equalizer)
効果音管理でラクしたい人のための Unity実装テクニック
プログラミング講座
SIG-Audio#10 GDC2015 オーディオセッション報告
SIG-Audio#14 GDC2017オーディオ報告会 「海外クリエーターから学んだサウンド開発レベルのスレッショルドライン~GDC2017をジャンル別...
「Adx2 LE」Unity活用編 初~中級編
3Dオーディオについて(ロングバージョン)
Ad

More from Takaaki Ichijo (14)

PDF
Genvidセミナー シンプルJava Scriptオーバーレイ編
PDF
自作ゲームで使っている技術:動画配信&インタラクティブミュージック
PDF
ゲーム産業におけるDevRel活動について
PDF
「デモリッションロボッツK.K.」のGenvidインティグレート事例
PDF
インタラクティブ・ストリーミングが変えるゲームコンテンツの未来
PDF
キャラが8人同時にしゃべるんだけど...とPに言われたときの戦い方
PDF
CRI ADX2 for Unityを3年ぶりにシバいて 得られた知見
PDF
Unity対応してるmbass全部紹介する
PDF
音にこだわる! ネイティブアプリだからできる 快適なサウンド演出
PDF
Cocos2d-x Talks #2 「サウンド実装のちょっとした気配りで ユーザに”快適感”を。 &サウンドミドルウェア「ADX2」のご紹介」
PDF
Indie Stream Fes 2014 ツール・ミドルウェア出展3社セッション!
PDF
無償サウンドライブラリ「ADX2 LE」の紹介
PDF
アプリのボイスと曲を潤沢に!「ADX2」のご紹介
PDF
自力でゲームのSEを生成する方法 by 「ADX2 LE」
Genvidセミナー シンプルJava Scriptオーバーレイ編
自作ゲームで使っている技術:動画配信&インタラクティブミュージック
ゲーム産業におけるDevRel活動について
「デモリッションロボッツK.K.」のGenvidインティグレート事例
インタラクティブ・ストリーミングが変えるゲームコンテンツの未来
キャラが8人同時にしゃべるんだけど...とPに言われたときの戦い方
CRI ADX2 for Unityを3年ぶりにシバいて 得られた知見
Unity対応してるmbass全部紹介する
音にこだわる! ネイティブアプリだからできる 快適なサウンド演出
Cocos2d-x Talks #2 「サウンド実装のちょっとした気配りで ユーザに”快適感”を。 &サウンドミドルウェア「ADX2」のご紹介」
Indie Stream Fes 2014 ツール・ミドルウェア出展3社セッション!
無償サウンドライブラリ「ADX2 LE」の紹介
アプリのボイスと曲を潤沢に!「ADX2」のご紹介
自力でゲームのSEを生成する方法 by 「ADX2 LE」

Unity サウンドTips 2019