microsoft / ProjectAcoustics

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

Support for dynamic geometry? #54

Open jaegrover opened 3 years ago

jaegrover commented 3 years ago

Hi Folks, I hope everyone has been well :)

Last time I used Project Acoustics on a VR project*, at the time, there wasn't support for dynamic geometry, e.g. windows opening and closing, walls getting knocked down, etc. I was just wondering if this feature had been added, or if any "best practices" re: integrating a proprietary solution or code extension to enable that feature with PA has been developed since last I checked?

*P.S. thank you once again for your support and patience on that project, it was a great experience working with you all :)

MikeChemi commented 3 years ago

Hello @jaegrover ! Great to hear from you! We have not released an update since your last usage, but we do have one planned for the next ~4-6 weeks. This update includes an alpha version of support for doors/windows, but as it's an alpha is available in UE4 only (not Unity). We'll have more information about that feature coming alongside the release.

jaegrover commented 3 years ago

Hey Mike! Thanks for the reply. That would actually be perfect, as the project I'm currently demoing for is indeed using Unreal Engine at the moment. Just curious, if you're able to share, I imagine that projects that have shipped with Triton to date, have had members of their own dev teams develop a proprietary solution for door/window occlusion that bridges with Triton's probes - even if the current version doesn't fully support this out of the box, our engineering team would be open to working on working on a solution in the meanwhile. Just wondering if you have had similar collaboration with other teams in the past - not sure how much you're able to divulge with NDAs being what they are, but a "hybrid" approach is feasible I'd like to run the gist by our engineering team to see if we could get a prototype together!

nikunjragh commented 3 years ago

@jaegrover - we indeed have a source licensing program attached to the GDK through which we are doing two-way partnerships to do collaborative improvements to the tech. That seems a pretty good fit here, at the very least, source access should reduce the risk this tech presents for shipping as you'll have full control.

jaegrover commented 3 years ago

Hi Nikunj! Thanks for the fast reply. Message received, happy to follow up on email separately.

AndersMalmgren commented 3 years ago

@jaegrover did onward ever adopt PA?

jaegrover commented 3 years ago

Hi Anders! So we did work with PA for a god amount of time on Onward, and our experience with it was very positive. Ultimately however, as we were deploying to a mobile platform, we found that CPU% usage was prohibitive. We likely could have mitigated that with planning and iteration earlier on - a lot of it came together at the last minute and we sadly didn't have as much time to tweak and optimize as we would have liked (being beholden to deadlines set externally).

I am currently looking at using Onward on another project in UE4 as it still remains one of the most elegant and functional sound prop solutions I've come across. Would always be happy to discuss my experiences if that would be helpful :)

AndersMalmgren commented 3 years ago

Hi Anders! So we did work with PA for a god amount of time on Onward, and our experience with it was very positive. Ultimately however, as we were deploying to a mobile platform, we found that CPU% usage was prohibitive. We likely could have mitigated that with planning and iteration earlier on - a lot of it came together at the last minute and we sadly didn't have as much time to tweak and optimize as we would have liked (being beholden to deadlines set externally).

I am currently looking at using Onward on another project in UE4 as it still remains one of the most elegant and functional sound prop solutions I've come across. Would always be happy to discuss my experiences if that would be helpful :)

Hi, Yeah I can imagine Quest 2 performance budget is hard to meet. We haven't started to port our game to Quest yet. Probably will use Oculus SDK for the audio and maintain two pipelines PA for PC and Oculus for Quest.

We have solved most of our cases, only one left to solve is long range oclussion of sounds that propagate further than the simulation area. Have some ideas on that :)

nikunjragh commented 3 years ago

Thanks for the positive remarks about the tech @jaegrover. @AndersMalmgren, RE: CPU, Our key learning from Onward was that the actual acoustic calcs were practical, but the bottleneck was our effects processing DSP which needs more optimization on mobile platforms. It is a key area of R&D for us currently. If either of you are interested in beta-testing some of the stuff in the pipe once its ready, ping us. Additionally, we shipped a Unity+Wwise integration in PA 2.0 recently, which also opens up the possibility of combining PA with whatever reverb/spatializer plugins one wants, to manage the effects processing CPU cost, same as on Unreal.