ProjectAcoustics icon indicating copy to clipboard operation
ProjectAcoustics copied to clipboard

Dynamic occluders

Open AndersMalmgren opened this issue 5 years ago • 5 comments

I'm sorry if this is covered in the docs but I couldn't find it. What about dynamic occludes like doors? I would be fine with portals similar to Unity occlusion portals that can just be closed or open.

AndersMalmgren avatar Sep 17 '19 07:09 AndersMalmgren

Anders,

First of all, thanks for trying out Project Acoustics and providing the feedback.

Handling limited dynamic objects like doors is something that we are currently experimenting with, but are not quite to the point of releasing. If you would like to help evaluate and provide feedback on the proposed changes, please send email to [email protected] and we'll give you access to a preview drop with this support.

Thanks, Noel

NoelCross avatar Sep 17 '19 15:09 NoelCross

Anders,

I forgot that the experimental feature is only available for Unreal at this time. If you are interested in testing out the solution in Unreal, please let me know. We don't yet have a plan to release this feature or develop the Unity equivalent, but let's start a dialog about what you are thinking about using this for and we'll see what we can do.

Thanks, Noel

NoelCross avatar Sep 17 '19 15:09 NoelCross

@NoelCross, thanks for feedback. I'm the lead dev of a VR multiplayer shooter looking at your project. We have looked at other solutions too, like Steam Audio, Oculus Audio and Google Resonance. But none of them have Diffraction which makes your project very interesting. Since we are half way through development with our game using Unity we cant switch engine :D But I hope you will consider implementing all features in Unity too. Unity is a big engine in the VR world.

Other than diffraction I really like that your can set acoustic material on a per renderer material. Its really useful for those situions when you have forexample a glass window on the same mesh as a wall. None of the others support this.

AndersMalmgren avatar Sep 17 '19 16:09 AndersMalmgren

@NoelCross Btw, I dont know if I should create a new issue for this, let me know if you want me to. But a feature I really miss in the others are a way to query the engine. For example we are working on very advanced tactical AI. It would be so useful if we somehow could create virtual audio listeners and get events when certain levels are reached or similar. This would make AI situatal awareness soo much better.

AndersMalmgren avatar Sep 17 '19 16:09 AndersMalmgren

Anders, it sounds like you have an exciting VR game on your hands. When we do release the dynamic occluders feature, we hope to also have Unity support as well, but we currently don't have a release date for that feature yet.

As for querying the engine, you can get a sense for the metadata that our engine generates by turning on the debug information per source. This is done by enabling the AcousticManager gizmo during play mode and opening the Scene view. You'll get a debug overlay on the sound source that shows the following metadata. If this is useful for you, you could query this info during the gameplay by following the pattern in the script.

        // Now that we have the parameters, display them in the UI
        string debugText = $"Acoustics Parameters for Source: {parameters.SourceId}\n" +
        $"Source Position: {parameters.SourcePosition.x}, {parameters.SourcePosition.y}, {parameters.SourcePosition.z}\n" +
        $"Listener Position: {parameters.ListenerPosition.x}, {parameters.ListenerPosition.y}, {parameters.ListenerPosition.z}\n" +
        $"Listener Outdoorness: {parameters.Outdoorness}\n" +
        $"Direct Azimuth: {parameters.AcousticParameters.DirectAzimuth}\n" +
        $"Direct Elevation: {parameters.AcousticParameters.DirectElevation}\n" +
        $"Direct Loudness DB: {parameters.AcousticParameters.DirectLoudnessDB}\n" +
        $"Reflections Loudness DB: {parameters.AcousticParameters.ReflectionsLoudnessDB}\n" +
        $"Early Decay Time: {parameters.AcousticParameters.EarlyDecayTime}\n" +
        $"Reverb Time: {parameters.AcousticParameters.ReverbTime}";

NoelCross avatar Sep 17 '19 19:09 NoelCross