Wwiseは多数の機能を持っていますが、特に開発初期において情報が足りず、思った通りに動かないことがあるかと思います。最初につまづいたことで、Wwiseが難しいという意識を持たれてしまう事を避けるために、これから「書かれた通りに設定すると必ず動作する」手順を紹介していきたいと思います。
初回はUnreal Engineで音を再生させるところまでを扱います。
なお、以下のバージョンを用いて動作を確認しています。
- Wwise 2023.1.1.8417
- Unreal Engine 5.3.2
バージョンが異なる場合、動作が異なる可能性がある事にご注意ください。
目次
プロジェクトの作成
Unrealプロジェクトの作成
Unreal Integrationを統合
Wwise側の初期設定
Unreal側の初期設定
Wwise Projectへの素材の登録
UAssetの作成
BluePrintからの音の再生
さいごに
付録 – フォルダ構成例
Unrealプロジェクトにすべて含む場合
WwiseプロジェクトをUnrealプロジェクトの外に出した場合
付録 - UAssetの作成方法
付録 – かんたん再生方法
AkAmbientSoundによる再生
BluePrintによる再生
C++による再生
プロジェクトの作成
Unrealプロジェクトの作成
1. Unreal Engineを起動、GAMES – Third Personを選択します。
2. プロジェクト名を指定します。
•この例では、ThirdPerson_Tutorialとしています。
3. 作成ボタンを押下し、プロジェクトを作成します。
4. プロジェクト作成後、Unreal Engineエディタ画面が起動しますが、いったん閉じておきます。
Unreal Integrationを統合
1. Audiokinetic Launcherを起動し、Unrealタブを開きます。
2. 先ほど作成したThirdPerson_Tutorialプロジェクトに対して、Integrate Wwise in Project…ボタンを押下します。
3. 統合するプラットフォームを確認しておいてください。
4. Wwise Project Pathは無指定にしておけば、自動的にUnreal Projectの下にWwise Projectが作成されます。
•事前に他の場所にWwiseプロジェクトを作成しておいた場合、ここで指定すれば利用できます。
5. Integrateボタンを押下します。
6. これでインテグレーションが完了しました。
7. 次に、Wwise Projectを更新するために、Open in Wwise- Wwise 2023.1.1.8417ボタンを押下してください。
Wwise側の初期設定
1. Project – Project Settings – SoundBanksの”Enable Auto Defined SoundBanks”にチェックします。
2. Wwise Projectを保存し、再びUnreal Engineを開きましょう。
Unreal側の初期設定
1. Edit – Project Settings…を開きます。
2. Wwise – User Settings – WAAPIから、Auto Connect to WAAPIを有効にします。
3. また、Wwise – Integration Settings – Installation – Root Output Pathに対して、Wwise ProjectのGeneratedSoundBanksフォルダを指定します。
•空白の場合、Contentフォルダを参照するため、正常にサウンドを再生させることができません。
4. Unreal Engineを開いた際、Wwise Authoring Tool側でExternal Project Changes警告ダイアログが表示されるため、Reloadボタンを押しておきましょう。
5. Wwise Browserを見ると、SoundBankのmetadataが存在しない警告が出ていますが、気にせずGenerate SoundBanks…ボタンを押してください。
6. Genate SoundBanksダイアログでGenerateボタンを押すとサウンドバンクが生成され、Wwise Browserにもディレクトリ構造が表示されるようになります。
Wwise Projectへの素材の登録
今回は、1つの環境音を再生する事にします。
以下のフォルダにあるIntegrationDemoの素材を流用することにしましょう。
•<Wwise>\SDK\samples\IntegrationDemo\WwiseProject\Originals\SFX
1. このフォルダにあるwaves.wavをActor-Mixer HierarchyのDefault Work Unitにドラッグ&ドロップすると、Audio File Importerダイアログが表示されます。
2. そのままImportボタンを押下すると、wavesという名前のSound SFXとして登録されます。
3. Project Explorerに表示される、今回登録したwavesという名前のSound SFXを選択すると、右側にオブジェクトの情報が表示されます。
4. General Settingsタブ内にLoop指定があるので、それを有効にしておきましょう。
5. wavesのSound SFXを右クリックして表示されるメニューを使って、以下のEventを作成します。
•Play_waves: Sound SFX “waves”をPlay
•Stop_waves: Sound SFX “waves”をStop
6. ここまで実行したところでWwise Projectを保存し、再びUnreal Engineを開きましょう。
UAssetの作成
音を再生するには、Unreal EngineのアセットであるUAssetを作成する必要があります。
複数の方法がありますが、ここではReconcileを使用した方法を説明します。
1. まず、追加されたEventを含んだSoundBankを作成します。
2. 次に、Wwise BrowserのReconcileボタンを押下します。
3. UAsset OperationがCreateになっていることを確認し、Reconcile Unreal Assetsボタンを押下します。
4. これでUAssetが生成されました。Wwise BrowserのWwise UAssets Status列をご覧ください。
Blueprintからの音の再生
今回の記事ではBluePrintから音を再生する事にします。
1. 以下のメニューから、Level Blueprintを開きます。
2. Blueprint画面で右クリックし、BeginPlayイベントを作成します。
3. BeginPlayイベントからコネクタを引き出し、PostEventノードを作成します。
4. Ak EventにPlay_wavesを設定します。
5. 最後にコンパイルしておきます。
6. この状態でPlayボタンを押します。
7. 波の音が聴こえるようになっているはずです!
さいごに
ここに掲載した手順は、実際に操作してみて動作することを確認しています。しかし、今後のバージョンアップで手順や画面が変わってしまうことが予想されるため、もし実際の挙動と異なる記載を見かけられた場合は、コメントをいただけると助かります。
また、掲載を希望する機能がございましたら、そちらもぜひコメントを投稿ください。
付録 – フォルダ構成例
Unrealプロジェクトにすべて含む場合
Wwiseプロジェクトの中にGenerated SoundBanksフォルダを含み、WwiseプロジェクトごとUnrealプロジェクト内に配置します。
•長所:1つのフォルダ・リポジトリで完結します。
•短所:サウンドクリエイター以外もWwiseプロジェクトをダウンロードする必要があります(Wwiseオーサリングツールは不要です)。
WwiseプロジェクトをUnrealプロジェクトの外に出した場合
Generated SoundBanksフォルダはUnrealプロジェクト内に置きますが、WwiseプロジェクトはUnrealプロジェクトの外に配置します。
•長所:サウンドクリエイター以外はWwiseプロジェクトをダウンロードする必要がありません。
•短所:フォルダ・リポジトリが複数に分かれます。
※TIPS:Unrealエディタ上での実行に必要な最小構成は、Generated SoundBanks直下のファイルおよび、Windowsフォルダのみです。
付録 - UAssetの作成方法
A) Wwise BrowserでEventをコンテンツブラウザにドラッグ&ドロップします。
B) 右クリックメニューから、Import Selected Assetsを選択します。
•複数あるいはフォルダ単位でも指定できます。
C) Wwise BrowserからEvent等をドラッグし、アクタープロパティ、あるいはBluePrintの該当コンポーネントへのドロップでも作成できます。
D) Eventに限り、Wwise Browserからビューポートへのドラッグ&ドロップによって、AkComponentと同時にUAssetを生成できます。
C、Dの方法では、Edit - Project Setting – Wwise – Integration Settings – Asset Creation – Default Asset Creation Pathで指定した場所にUAssetが生成されます。
付録 – かんたん再生方法
AkAmbientSoundによる再生
1. AkAmbientSoundアクターを配置します。
2. AkEventに再生するイベントを設定します。
3. Auto Postを有効にします。
4. Obstruction Occlusion - Reflesh Intervalを0.0に設定します。
BluePrintによる再生
1. Level Blueprintを開きます。
2. BeginPlayイベントを作成します。
3. BeginPlayからPost Eventノードを作成します。
4. Post EventのAkEventに再生するイベントを設定します。
C++による再生
AkAudioEvent.hで定義されているUAkAudioEventのメソッドを使用してイベントをポストすることができます。
1. 指定のActor/Component/GameObjectに対してEventをポストします。
•AkPlayingID UakAudioEvent::PostOnActor()
•AkPlayingID UakAudioEvent::PostOnActorAndWait()
•AkPlayingID UakAudioEvent::PostOnComponent()
•AkPlayingID UakAudioEvent::PostOnComponentAndWait()
•AkPlayingID UakAudioEvent::PostOnGameObject()
•AkPlayingID UakAudioEvent::PostOnGameObjectAndWait()
•AkPlayingID UakAudioEvent::PostOnGameObjectID()
2. ダミーのGameObjectを使用します。
•AkPlayingID UakAudioEvent::PostAtLocation ()
•AkPlayingID UakAudioEvent::PostAmbient()
3. データのロード管理系API
•void UakAudioEvent::LoadData()
•void UakAudioEvent::UnloadData()
•bool UakAudioEvent::IsDataFullyLoaded()
•bool UakAudioEvent::IsLoaded()
コメント