microsoft / ProjectAcoustics

Microsoft Project Acoustics
https://aka.ms/acoustics
Creative Commons Attribution 4.0 International
141 stars 22 forks source link

Question About Use Case #167

Closed NexusDarkshade closed 1 year ago

NexusDarkshade commented 1 year ago

Hello, I'm considering using Project Acoustics in my project because of its advertising as simulating sound waves. However, I have a very odd use case: I'm not using fully handmade scenes. Instead, I'm connecting pre-built geometries in-game. From what I can tell, the baking tool can't be used after deployment, even if run locally, and would take too long for reasonable load times if it did. Because of this, I don't know if PA is a good fit.

Does anyone know if this system allows for baking individual geometries, instead of entire scenes, and then putting them together during runtime without losing much simulation accuracy?

NoelCross commented 1 year ago

@NexusDarkshade this is certainly an interesting use case. While you are correct that Project Acoustics is mostly used for simulating sound propagation for entire scenes, there have been customers that have used the technology to bake pre-fab assets that move around in the larger scene. For example, the interior of ship that's sailing on the water remains largely self-consistent when it comes to sound propagation regardless of the position of the ship in the larger scene. In this scenario, you would need to bake the ship independently from the larger scene and when doing queries for acoustic parameters, you will need to circumvent the coordinates provided by the game engine with coordinates that are relative to the interior space of the ship in this case. Project Acoustics doesn't support this scenario by default, but with some clever updating of the plugin code, you should be able to make this work. I hope that this helps, although I'm not sure that this recommendation completely addresses your use case.

NexusDarkshade commented 1 year ago

I assume you're talking about Sea of Thieves (I believe I saw it listed as one of the customers). While it's good to know that the plugin could support relative positions, even with a little modification, it sounds like they still only use a single "bake" at a time.

Unfortunately, I don't know that it helps with my use case, as I would be mixing geometries which would likely interfere with each others' sound propagation. Because of that, I don't think that I'll be able to go with Project Acoustics in my project, at least for now. I'll keep looking for a solution I can use, but I might have to hand-make my own basic sound engine.

nikunjragh commented 1 year ago

Sounds good @NexusDarkshade - doing "modular acoustics" is an open research problem, but definitely there are possibilities of getting something done by specializing cleverly for one's particular use case / game. Best of luck!