Unity Audio 完全に理解した に行ってきた
本日は少し濃いめの勉強会と定評のある「Unity Audio 完全に理解した」に行ってきました。
会場は前回の完全に理解したシリーズである「Unity Network完全に理解した」の際と同じ、株式会社ミクシィ様にて開催されました。
Audio系のせいか機材セッティングが少し大変そうでした。
開催内容的に音を実際に鳴らして見せるケースも多かった為、こちらは必見です。
【Unity Audio完全に理解した】
— 青木とと(ˊᗜˋ*)UnityAudio完全理解 1/29(火) (@lycoris102) 2019年1月29日
本日の勉強会のライブ配信URLはこちらになりますー!https://t.co/dtq6QhbSft#UnityAudio完全に理解した
(Unity Learning Materialsにも後日動画が上がるそうなので上がったら差し替えておきます)
タイムスケジュール順に上から資料、その際のツイート、コメントという形で紹介していきます。
音量の基礎&Unity上での音量演出
(Speaker : @8bitdots)
人間の感覚器官はレンジがすごく広いので、対数を取るといい感じになる #UnityAudio完全に理解した
— とりすーぷ (@toRisouP) 2019年1月29日
・音圧の定義の話。基準音圧値との比の対数値。なぜなら人の感覚はLog。
— らくとあいす@Raku_Phys (@rakuraku_vtube) 2019年1月29日
・より人間の感覚に寄せたのは、「ラウドネス」(単位はLKFS)
・Unityにはまだラウドネスを直接扱える仕組みはない。#UnityAudio完全に理解した
#UnityAudio完全に理解した https://t.co/gpgmiCsVZS
— mewlist (@mewlist) 2019年1月29日
ローパスフィルタをかけてやるとくぐもった音になるので pause 画面とかで割と有効とのこと
— あすてろ だいき (@Asteroid_1) 2019年1月29日
#unityaudio完全に理解した
LPFはボイチェンするときによく使いますねぇ! #unityaudio完全に理解した
— とりすーぷ (@toRisouP) 2019年1月29日
AudioMixer使ってダッキングするの楽なのでぜひ試して!https://t.co/WTmZUCDrjK#UnityAudio完全に理解した
— 青木とと(ˊᗜˋ*)UnityAudio完全理解 1/29(火) (@lycoris102) 2019年1月29日
DOTweenとか使っている人は AudioSourceにDOFadeメソッドが生えているので簡単にフェードイン/フェードアウト実装できるよ#UnityAudio完全に理解した
— 青木とと(ˊᗜˋ*)UnityAudio完全理解 1/29(火) (@lycoris102) 2019年1月29日
クロスフェード普通にリニアでやってしまっていたな。。。それだと全体音量が下がってしまうので、よろしくはない。sin^2+cos^2にすれば音量が下がらない。なるほど。 #UnityAudio完全に理解した
— 大庭俊介(bao_bao) (@ohbashunsuke) 2019年1月29日
フェードについて
— らくとあいす@Raku_Phys (@rakuraku_vtube) 2019年1月29日
・リニアでクロスフェードすると途中で音量が落ちる→三角関数を使う(sin2+cos2 =1)
・イントロ部分とループ部分をクロスフェードするなどの活用。
・クロスフェードの活用でループ部分から任意の音に切り替え。インタラクティブなBGMなどに活用。#UnityAudio完全に理解した
私はAudio関連はCRIに頼りきりだったのでAudioMixer関連はとても勉強になりました。
やはり、ビート検出からのAudioMixerを使った様な演出などの音での魅せ方はかなり疎かになりがちな部分なので事ある毎に積極的に使っていきたいですね。
サウンド実装の手間を省くためのCRI ADX2
(Speaker : @Takaaki_Ichijo)
ADX2のAtom Craftをデーター管理に使う #UnityAudio完全に理解した
— Kazushige Mori(Cz_mirror) (@Cz_mirror) 2019年1月29日
確かに音声データのExcel管理は辛い…… #UnityAudio完全に理解した
— ザバイオーネ (@z_zabaglione) 2019年1月29日
Atom Craftではリアルタイム調整機能がついてるので、
— mr@UnityAudio (@MasujimaRyohei) 2019年1月29日
実機実行しながらデバッグできる#UnityAudio完全に理解した
なるほど、Atom Craftは、プランナーに音周りのかなりの部分を手伝ってもらえるっていうことか。 #UnityAudio完全に理解した
— 大庭俊介(bao_bao) (@ohbashunsuke) 2019年1月29日
#unityaudio完全に理解した
— クロノス@VRChat一般市民 (@khronos2510) 2019年1月29日
ADX2を使うとUnity側のコードは汚さず(キューを呼び出す処理だけで)いろいろ制御できるらしい
コードだと1キャラクターが同時に2つのセリフをしゃべらないようにするだけで面倒そうだけどそんな処理もキューを扱うだけ
CRIに関しては前にスマホリズムゲームを開発、運営させて頂いた時に少し触っていたので、キューシート関連がかなり音源管理を簡単にしてくれていた印象でした。
何よりも鳴らす場所決めたらプランナーだけで殆どいい感じに変更できる様になるという開発支援力が半端ないです。もう迷ったらCRIを使うといいと思います。
もともと一條さん ( @Takaaki_Ichijo )がこの #UnityAudio完全に理解した をやりたい!と声を上げていただいたのですよね。ありがとうございますー! #UnityAudio完全に理解した
— 青木とと(ˊᗜˋ*)UnityAudio完全理解 1/29(火) (@lycoris102) 2019年1月29日
ありがとうございます!!
VR音響のための鏡像法による距離減衰の再現
(Speaker : @TyounanMOTI)
距離減衰のリアリティを理解する
— えむにわ (@m2wasabi) 2019年1月29日
ワクワクするセッションです
#UnityAudio完全に理解した
距離減衰の作り方
— らくとあいす@Raku_Phys (@rakuraku_vtube) 2019年1月29日
・Unityデフォルトは逆二乗則(点音源、無残響)
・実際は(近くでは近似がよくないほど)点ではないし、残響(初期反射・後期残響)が効く。
・初期反射と後期残響の比によって空間スケールを変えられる#UnityAudio完全に理解した
(この話、UnityでVRコンテンツをこれから組む人は皆見ておいた方がいいやつだ…) #UnityAudio完全に理解した
— 青木とと(ˊᗜˋ*)UnityAudio完全理解 1/29(火) (@lycoris102) 2019年1月29日
ガチのサウンドプログラマの方のお話はすごく勉強になる。ていうか、知らないことばかりである。だけど、すごく面白い。とりあえず家に帰って距離減衰カーブを自分で書いてみよう(不安 #UnityAudio完全に理解した
— 大庭俊介(bao_bao) (@ohbashunsuke) 2019年1月29日
シミュレーション結果から減衰曲線の導出
— らくとあいす@Raku_Phys (@rakuraku_vtube) 2019年1月29日
・直接音から50msまでを初期反射としてrms(二乗平均)をとる→反射のない場合との比をとってその地点での減衰曲線にプロット。
・音源を動かしながらプロットを増やしていく→減衰曲線に。#UnityAudio完全に理解した
鏡像法って光だけでなく音にも使えるというのが普通に忘れていたので、どういったアプローチの仕方でシミュレートするのかとても参考になりました。
シミュレートが重いという所で参考値として使うという事でしたが静的な物なら事前に計算を終わらせてMap化するのもいけるのかなとか思いました。ライトマップ見たいに。
今回の勉強会は音という事でやはり数学はAudio(波形)と切っては切り離せない関係なんだなと感じました。
私は学生の時、数学はあまり得意な方ではなかったのでこの機に学び直すのも有りかなとも思いましたね…。
途中、Audio関係の勉強会あるある(?)の機材トラブル等もありましたが、もんりぃ先生や、ichijoさんの方々によるカバーにより問題なく終わり、それも含めてとても濃い良い勉強会でした。
そして次回の完全に理解したシリーズは「Unity AssetBundle完全に理解した 」だそうです。
担当的によく業務で格闘する私としてもこの複雑な心境を抱く単語の勉強会はとても楽しみです。絶対行きます。ぐぎぎ…。
次回は3月中旬を目処に「Unity AssetBundle 完全に理解した」を開催したいと思っておりますので、募集開始したあかつきには何卒よろしくお願いいたします!
— もんりぃ先生👨🏫マンガでわかるUnity連載中! (@monry) January 29, 2019
また、セッション・LT の登壇者も若干名募集しておりますので、希望者の方はご連絡いただけると嬉しいです!
勉強会とは別になりますが、今度の技術書展6に参戦がほぼほぼ確定しているのでこちらも今後、こちらの方で取り上げていく予定です。では。
Gotanada.unity #10 に行ってきた
記念すべき最初の記事はGotanda.unityの勉強会に行ってきたのでそのまとめ記事です。
今回は株式会社アカツキさんのところで行われたGotanda.unity #10へ参加してきました。
土足厳禁の芝生という良い会場でした。弊社にもちょっと欲しい。(もしかして何処かにある?
タイムスケジュール順に上から資料、その際のツイート、コメントという形で紹介していきます。
LT #1 会場/アカツキ枠 Norihiro Funakoshi : スクリプトの処理を効率化してゲームを軽くしよう
(資料が公開されて無いので公開されたら追加)
スクリプトと描画処理のどちらかが原因となることが多いが、スクリプトの場合についての紹介。UnityProfilerを使おう。DeepProfileで詳細も調べられる。 #gotandaunity
— なっつー (@yashinut) January 23, 2019
Update()でGetComponentみたいなのをやめようー。
— さやちゃんぐbot (@songofsaya_) January 23, 2019
[SeriarizeField]private someObject;でインスペクターから設定しておくものを使う、みたいな。#gotandaunity
LINQはtoArrayを使うなどでキャッシュを使う#gotandaunity
— シン (@Shin09shin) January 23, 2019
Linqの実行タイミングをずらして先にキャッシュさせて使うみたいなところは結構忘れがちなところもあるので気を付けたいところ
あと、MonoBehaviourの空メソッドは許してはならない。
LT #2 Hiroto Imoto : どこから始めるUnityテスト
「テストのしにくさから設計の問題を把握する」なるほど #gotandaunity
— やがて寿司になる (@maruju_fav) January 23, 2019
Unityに依存しないドメイン部分と、Unityに依存している実装部分で分けようってことですね #gotandaunity
— とりすーぷ (@toRisouP) January 23, 2019
Zenject入門その1 疎結合とDI Container https://t.co/2QGv5ePfFd #Qiita
— とりすーぷ (@toRisouP) January 23, 2019
今回の内容に近いのはこれかな!参考になれば! #gotandaunity
DI、疎結合をしっかりする事でテストがしやすくなる。リファクタリングに近いからテストは未来の開発短縮に繋がるし設計見直しも出来るよという事なので、密結合部分はテスト出来るのかどうかという点もふまえて見直せると良いのかも。
LT #3 mao : ECSベースのVRMSpringBoneを実装してみた話
既存のunity混ぜたハイブリッドecsではなく、pureecsで、vrmの機能を再実装したお話 #gotandaunity
— Yu (@yuma1217_ja) January 23, 2019
Blittable型と非Blittable型のドキュメントhttps://t.co/QmBKRCOvPF#gotandaunity
— えひやん (@efyaan) January 23, 2019
UnsafeUtility…見るからにやばそうなAPIだw #gotandaunity
— やがて寿司になる (@maruju_fav) January 23, 2019
UnsafeUtilityでC++感溢れるDirectXを触ってた頃を思い出すような動きが出来るっぽいです。ポインタあんまり触りたくないですが、突き詰めると触る事になりそう…。
あと、ECSをまだ触ってないのでpreview外れる前に一度見ておきたい。
LT #4 Nozomi Tanaka : Unity(C#)メモリ小話
戦わなくちゃGCと #gotandaunity
— やしむす (@yashims85) January 23, 2019
ちなみにGCが発生しているかみたいなテストもかけますよ! #gotandaunityhttps://t.co/ZXW0MGy8bX
— いも@efb~相手は死ぬ~ (@adarapata) January 23, 2019
ボックス化についてはneueccさんの資料がわかりやすいぞ!https://t.co/Ih4QPMFHO7
— とりすーぷ (@toRisouP) January 23, 2019
#gotandaunity
スタックとヒープを意識してGCを抑えようというお話でした。
ラムダにメソッドを食わせると大抵はゴミが出るので、インゲームでは気をつけていきたい。
LT #5 小林拓 : VRMと暗号化
VRMのストロングポイント
— えひやん (@efyaan) January 23, 2019
・環境に依存せずに動く
・VRMファイル1つで完結
・ランタイムロード(ダウンロード)が出来る
・人型に特化
#gotandaunity
VRoid SDKが来週月曜日に出る!#gotandaunity
— ソクハ (@Sokuhatiku) January 23, 2019
👀 #gotandaunity | Unity(C#) で「正しい」暗号化処理をするライブラリを作成しました https://t.co/fkvlb90nEs #Qiita
— 青木とと(ˊᗜˋ*) Gotanda.unity#10 1/23(水) (@lycoris102) January 23, 2019
実際にVRoid SDK内で使用した暗号化のお話でした。1/28(月)に出るらしい。
時間切れで最後まで聞けなかったですが、Saltと初期ベクターを生成の度にちゃんと変更するセキュアな暗号化が出来る奴でした。
今の所全員時間オーバーで草 #gotandaunity
— とりすーぷ (@toRisouP) January 23, 2019
LT #6 Tomohiro Okamura : PUN2を使おう!
PUN2。動作がちょっと軽くていい。コールバックの方式が変わって頻繁に叩かれない。RPCはひきつづき Reflectionを使っており重い。 #gotandaunity
— Kazushige Mori(Cz_mirror) (@Cz_mirror) January 23, 2019
Directory, Namespace, Assembly この辺はアセット側でどうにかしてくれないと困る系なので、素晴らしいですね。 #gotandaunity
— もんりぃ先生👨🏫マンガでわかるUnity連載中! (@monry) January 23, 2019
お行儀(フォルダ、Namespace構成)と動作が軽くなって戻ってきた感じだった。
だが100MBを超えるファイルが含まれるらしいのでGitLFSとか使わないといけなさそう。
LT #7 Naoya Mizota : VRM対応スマホアプリのすすめ
VRMのiPadアプリすご。Hubからダウンロードして、すぐにアプリ上で3dモデル出せるんだ #gotandaunity
— Yu (@yuma1217_ja) January 23, 2019
スマホのファイル移動もう少し楽になるといいよなー#gotandaunity
— シン (@Shin09shin) January 23, 2019
懇親会でお話を聞いた感じだと、VRMは名前だけとか特定の情報だけロードするのが標準では無理っぽいので、今は起動時に全ロードさせているらしい。
CreateFromFileみたいなロード欲しいね…。
LT #8 joshuaarthurelcaro : もう「ぼくが持ってるUnityと違う…」ではない!
HDRPで劇的にルックを変えよう!~部屋とかキャラのセットアップをしてみる。~
スライドがUnityエディタだ・・・! #gotandaunity
— えむにわ (@m2wasabi) January 23, 2019
> 今はPreviewだがいずれがんに効くようになる
— mao (@TEST_H_) January 23, 2019
わかる。ECSもそのうちDNAに素早く届くようになると思ってる。#gotandaunity
アンリアルみたいな良い感じの絵が出せる奴。鏡とかワンポチで作れる。
いずれガンに効く。
LT #9 aoiaioi : 簡単な弾幕をつくる
Vector3、結構便利メソッド多いっぽいんだけどあんまり使いこなせてない https://t.co/Y9Z71mK0uH #gotandaunity
— いも@efb~相手は死ぬ~ (@adarapata) January 23, 2019
龍神録プログラミングの館を思い出した。Vector3は実装した後にあったんかい案件に遭遇した事もあるので見てちゃんと活用していきたい。
今回、Gotanda.unityは初参加で別シリーズ(?)の完全に理解したシリーズは行ったりしてましたが、ガチ勢から初心者向けまで幅広くLTが行われており、とても良い勉強会でした。
こういうのを企画してくれるUnityAmbassadorのお二人には足を向けて寝れませんね。
LTの内容はVRMとメモリ周りが多かったイメージですが、
VRMは今度、勉強会が開催されるのでこちらも枠が空いたらこちらも是非参加したいです。
私も次回辺り、何か初登壇枠で話せれば良いなとか考えてますので枠を取れたその際は皆さんよろしくお願いします。