『禍つヴァールハイト』に お
けるWwise活用事例

2

KLab株式会社所属 エンジニア



コンシューマーゲーム会社を経て入社。

『禍つヴァールハイト』で インゲーム リードプログラマーを担当



田中 康夫

エンジニア

KLabGames事業本部

KLab株式会社

経歴

3

KLab株式会社所属 エンジニア



『禍つヴァールハイト』で クライアント、サーバー、

パイプライン、プラットフォーム連携など多方面で活躍

庄司 薫

エンジニア

KLabGames事業本部

KLab株式会社

経歴

4

KLab ound eam グループリーダー



『禍つヴァールハイト』を じめ、KLab Gamesがサービス中 

多く ゲームにサウンドディレクターとして携わる

磯田 泰寛

サウンドディレクター

クリエイティブ部

KLab株式会社

経歴

5

1. ゲーム 特性
2. サウンドにおける課題
3. バンク運用
4. シーンごと 運用
5. SetEvent 活用
6. デバッグ
7. 禍つヴァールハイト的サウンド演出
アジェンダ

6

ゲーム 特性

7

8

本格マルチオンラインRPG


ゲーム 特性

9

シナリオ:生田美和 / サウンド:横山克

ゲーム 特性

10

豪華有名声優陣、ADV・カットシーンフルボイス

ゲーム 特性

11

男女自由なキャラクターエディット

ゲーム 特性

12

リアルタイムで進行するクエスト、バトル


ゲーム 特性

13

サウンドにおける課題

14

● 品質 良い状態でユーザーへ伝えたい。
○ 横山さんに楽曲を作ってもらった で、できるだけ提供音に近づ
けたい。
○ 豪華声優陣な で、ボイスまわりをリッチにしたい。
○ エフェクトが派手な で、ちゃんとSEをつけたい。
● 大量 アセットをどう運用するか?
○ スマートフォンな で、メモリやCPU負荷などにスペック的な制
約がある。
サウンドにおける課題

15

バンク運用

16

● BGM・ボイス・環境音

○ ストリームを使うことで、音源 品質を高い状態に近づける。
○ 使いすぎるとI/Oが圧迫され、全体 パフォーマンスに影響する
で、プロファイリングをして調整を行った。
バンク運用

17

● E

○ シーンごとに読み込むバンクを切り替える。
○ フィールド、バトル、ADVパート、カットシーン etc.
○ 場面 切り替え タイミングで適宜、破棄とロードを行う。
バンク運用

18



● バンク情報をアプリ内DBに格納することで、イベント再生に必
要なバンクをCL/ Vで管理できるようにした。

○ 差分バンク運用が可能になった。
● ADVパート・カットシーン 章ごとに個別バンク化

○ シナリオ 章単位で事前ダウンロードして扱えるようになった。
バンク運用

19

シーンごと 運用

20

シーンごと 運用:フィールド

21

● AKListener ポジショニングを設定するだけで3Dパンニング
(LRチャネル+距離による減衰効果)対応を行うことができた。
○ 足音、川 せせらぎ音など 地形から発生させる環境音。
● Tokyo Game Show 2018で出展したVR版を実装した際につ
いても、特別な調整を行うことなくVR上違和感 ない3Dパン
ニングが再現できていた。
シーンごと 運用:フィールド

22

シーンごと 運用:バトル

23

● PrepareEvent APIを用いた事前ロード。
○ ゲーム仕様上、自由にスキルなどを設定できる で扱うボイス
や効果音 組み合わせが膨大になった。
○ PrepareEvent APIを用いて、特定 バンクから必要なイベント
分だけでバトル開始時にロードするように対応。
○ 結果、メモリを節約することができ、随時ロードで発生するような
スパイク負荷も軽減することができた。
シーンごと 運用:バトル

24

シーンごと 運用:ADVパート

25

● ADVパート フルボイス、それに対応した自動再生&ページ
送り機能を実装。
● PostEvent APIから イベント終了コールバックと連動して自
動再生&ページ送り機能を連動。
シーンごと 運用:ADVパート

26

シーンごと 運用:カットシーン

27

● カットシーン Unity Timelineにて実装。
● 公式で提供されているWwise IntegrationでWwiseトラックが
標準で提供されている。
● 禍つヴァールハイトで 、ゲーム実装部 都合で公式 も
で なく、追加パラメータ 設定など設けたPlayableTrackを
使って対応した。
シーンごと 運用:カットシーン

28

● ボイスと字幕 連携について
○ 一連 ボイス上で字幕 切り替えタイミングを調整したいという
要望があり、制御用 字幕トラックを作ってデザイナーが調整し
た。
○ 後ほど検討した結果、Wwise マーカー機能を使え 楽に連携
できたと思われる。
シーンごと 運用:カットシーン

29

シーンごと 運用:ガチャ

30

● 演出スキップ機能 ため、フェーズごと 再生・停止イベントを
作成。
シーンごと 運用:ガチャ

31

● フェーズ切り替わりごとに逐次、フェーズに一致したイベントを
呼ぶことで演出SE・ボイスが再生される。
● 今後 コラボ施策など、演出SE・ボイス 差し替えを考慮し
て、SVからイベント名など受け取り、動的対応できるよう変更
予定。
シーンごと 運用:ガチャ

32

etEvent 運用

33

● Set Switch、RTPC 活用。
○ ソースコードとWwiseEngineと 連携を下記で行う。
○ Set Switch(分岐による音源変更)
■ マイプレイヤー性別・ジョブ
■ 地形属性:地面情報(コンクリート、砂場、草原など)
○ RTPC(アナログ値係数)
■ オプション:各種ボリュームなど
etEvent 運用

34

● プログラマ 複雑 分岐処理を書く必要がない。
○ 「ダメージ」や「スキルA」といった大項目程度 イベントだけ
PostEvent APIでリクエストする。
etEvent 運用

35

● SetEvent 活用なし例。



etEvent 運用

36

● SetEvent 活用例。

etEvent 運用

37

● Set Switch、RTPCを使った結果。
○ プログラマ:イベントを組み込む負担が減る。
○ サウンドデザイナー:組み込み 自由度向上。
etEvent 運用

38

デバッグ

39

● WwiseエディタからPC, スマートフォンにリモート接続して、リ
アルタイムでプロファイルすることが可能。

○ ユーザーアカウント作成後、プロジェクト参加すれ Wwise
Luncherを使ってエディタをDLすることが可能。
○ Wwiseエディタ 、Windows, Macプラットフォーム対応。
Wwiseエディタを用いたデバッグ

40

 
Wwiseエディタを用いたデバッグ

41

● プログラマーがプロファイルできることでデータ不具合をプログ
ラマーからサウンドデザイナーに指摘・提案することが可能。
● 主に用いたプロファイル内容
○ ロード済みバンクとメモリ使用状況
○ アプリ側からリクエストしたイベントログ
○ エラー詳細情報


Wwiseエディタを用いたデバッグ

42

禍つヴァールハイト的

サウンド演出

43

● できたことできなかったこと
○ FootStep 素材ごと 出し分け
○ フルボイス
○ インタラクティブミュージック
○ コーディング無しで リッチなサウンド演出
禍つヴァールハイト的サウンド演出

44

● FootStep 素材ごと 出し分け
○ 達成
■ 背景素材側にSwitchEventを設定
● 背景が配置されることで自動的にマップ上 足音が変
化する
禍つヴァールハイト的サウンド演出

45

● フルボイス
○ 達成
■ 膨大なボイスデータ
● Stream設定にすることで解決
● SwitchコンテナとBanks分けによる解決
■ 優先順位によるバトルボイス 出し分け
禍つヴァールハイト的サウンド演出

46

● インタラクティブミュージック
○ 当初 ゲーム仕様
■ バトルにシームレスに移行するゲームシステム
■ インタラクティブミュージックと 親和性が高い
○ 現在
■ バトル前に遷移するパートが挟まる
■ インタラクティブにすること メリットが少ない
禍つヴァールハイト的サウンド演出

47

● インタラクティブミュージック
○ 一部達成
■ BGM ステムデータで 実装
● Switch
○ 曲 開始位置・楽器構成を変化させる
● State
○ エフェクト かかり具合を変化させる
禍つヴァールハイト的サウンド演出

48

● コーディング無しで リッチなサウンド演出

○ 一部達成
■ マスタで サウンドEvent 設定(キャラ劇パート)
● Play・Stop・Set parameter など
■ アセット更新・マスタ更新だけでサウンド演出 変更
● 東京⇔大阪 遠隔開発 スムーズな運用
● 開発 手をかりない演出実装
禍つヴァールハイト的サウンド演出

49

まとめ

50

● バンク 構成と運用 、事前にプランナー、サウンドデザイ
ナー、プログラマーと話し合って仕様を決めておくと運用が楽
になる。
● シーンによって、LoadBank・PrepareBankといったAPIを使い
分けることによって、ランタイム上 負荷が高いシーンでもメモ
リ節減や動作安定を行うことが可能。
まとめ

51

● スイッチイベントとRTPC 機能を使いこなすことで、サウンド
デザイナー 品質向上 イテレーションに専念できるし、作業
独自化することで各パート 平行作業がやりやすい。
● Wwiseエディタ シーケンス作成・パブリッシュだけで なく、
強力なデバッグ・プロファイリングもできる で、上手く使ってデ
バッグ効率をあげる。
まとめ

52

お知らせ

53

https://www.klab.com/jp/recruit/career/
ゲーム開発エンジニア(サーバサイド) 

ゲーム開発エンジニア(クライアント) 



募集拠点:東京本社、大阪事業所、福岡事業所

採用告知

54

質疑応答

「禍つヴァールハイト」のハイスペックサウンド演出とは? / GTMF2019

「禍つヴァールハイト」のハイスペックサウンド演出とは? / GTMF2019