This Plugin allows the user to use the VA Server from the Institute of Acoustics (ITA) of the RWTH Aachen to playback sounds in Unreal.
Installation
Add repository as submodule in the "Plugins" folder of your Unreal Engine 4 Project: git submodule add https://git-ce.rwth-aachen.de/vr-vis/VR-Group/unreal-development/plugins/unreal-va-plugin.git Plugins/VAPlugin
If you used the RWTH VR Project Template to create your project you can use the setup script to add the Virtual Acoustics Plugin. The setup script will however be deprecated at some point.
Moreover make sure to have the VAServer prepared:
While the VAServer can be used in its original form (Link) we highly recommend using the VAServerLauncher script (Recommended), an especially for this Plugin optimized Python script including a lot of config possibilities and providing VAServer binaries. Using the VAServerLauncher has following the advantages:
- You don't need to (re)start the VAServer all the time manually. Even the VAServerLauncher script is (if configured correctly, see below) started automatically by Unreal.
- The VAServerLauncher can transfer used audio files from you Unreal project to the VAServer (even in networked environments), so you don't have to do this manually. Just use audio paths relative to your Content folder. (
⚠️ when using packaged builds, e.g., in the CAVE, make sure to have the paths where your audio files are packed as nonUFS, so not added to the pak files, this can be configured in the project settings atDirectoriesToAlwaysStageAsNonUFS
). - This copying over is also true for VAServer ini files (e.g., having different acoustical renderers in different scenes), see VAServerLauncher documentation for more information. If none is specified in the
VAReceiverActor
, a default ini (VARenderer.Default.ini
, in the VAServerLauncher's conf directory is used). If you want to specify your own renderer config, then copy this files into your project's content folder, rename in, adapt it accordingly and set it in the ``VAReceiverActor```.
If you are using the automatic VAServerLauncher either have VAServerLauncher cloned next to the folder of your project or specify the VALauncher Path in the Engine/Virtual Acoustics(VA) section of the project settings. Make sure to follow the instructions which are currently in its Readme file.
The Plugin requires to have the RWTH VR Toolkit used in your project. And in newer Unreal versions (>5.3) also the RWTH VR Cluster Plugin is required.
Usage
The two most interesting classes (that should be present to use this plugin) are:
-
VAReceiverActor
- Actor handling the Connection and Scene Settings for the current world, as well as the Position updates for the Receiver. If there is no Receiver Actor placed in the Scene, there will be created a new one with Default values at Runtime.
-
VASoundSourceComponent
- Actor Component representing a Sound Source. Has to be attatched to something. It can have a graphical representation and reflections, which can be created with the VAReflectionWall
- For more classes, e.g., for sound reflections directly in Unreal or dynamic directivity mapping check the side bar.
Demo
A demo for the plugin is prepared at Unreal VA Demo.
Updating to new VA version
- For the Windows binaries, you can directly get them from the (Virtual Acoustics website)(http://www.virtualacoustics.org/VA/)
- An idea on how to build the .so files for Linux can be found at Build VA dependencies for Linux