Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

PROPAGATE - Real-time sound propagation.

Discussion in 'Assets and Asset Store' started by ljdp, Jul 9, 2015.

  1. ljdp

    ljdp

    Joined:
    Jan 25, 2013
    Posts:
    10


    Propagate gives your games incredibly immersive sound propagation. It works great with or without headphones and is also perfect for taking your virtual reality project to the next level of realism.



    Propagate simulates three audible cues:

    1. Occlusion
    Control how different objects block sound waves. You can simulate soft objects by having a higher frequency drop-off.

    2. Diffraction
    The diffraction system simulates how sound waves propagate around corners and through complicated geometry.

    3. Perception
    The perception system simulates how sometimes sounds appear to be in different locations due to the geometry of the environment.

    It is these three cues together that will bring your players inside truly believable sound-scapes. Setting Propagate up is as easy as using light probes. It's also fast and efficient.

    To hear this for yourself take a look at the demo.
    Web player demo.
    Windows standalone demo.

    Buy Propagate now on the asset store.


    Roadmap:
    • Improved frequency adjustment (parametric EQ)
    • Improved audio spatialization, simulating audio behind, above, below. (Dependent on Unity 5.2 release).
    • Material presets for occlusion and diffusion (wood, carpet, metal, etc).
    • AudioNode API (support for procedural levels).
    Research / Experimental:
    • Automatic AudioNode placement.
    • Realtime reverberation calculation.
    • High order sound wave simulation.
     
    Last edited: Jul 19, 2015
  2. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    Very interesting, I wonder why Unity or other extension developers havn't thought of this.
    One thing though, why must it be manual node placement? It sounds complicated, especially if you have a large complex level that goes through many iteration processes. Can it be automatic process by just reading the level geometry? Sort of like how A* path AI works, the level geometry is read and processed and AI path (nodes) are automatically generated.

    Also how does it handle multi-level open space (like in Mirror's Edge sewer level like below)?



    I am definitely very interested, it will be on my shopping list!
     
  3. ljdp

    ljdp

    Joined:
    Jan 25, 2013
    Posts:
    10
    Currently node placement is manual for the same reason placing light probes is manual. I am prototyping a way to generate them automatically, but it is by no means a trivial problem. One benefit of manual placement is that it gives the level designers control over the fidelity of the simulation by how dense or sparse they place the nodes.

    The level above in Mirror's Edge would be easy to set up. You just need to place one node between each pillar, possibly two, one for the higher level and one for the lower level.
     
  4. ljdp

    ljdp

    Joined:
    Jan 25, 2013
    Posts:
    10
    Here are some more videos:


     
    zyzyx likes this.
  5. ljdp

    ljdp

    Joined:
    Jan 25, 2013
    Posts:
    10
    I'm giving away two vouchers for a free copy of Propagate! Grab em quick.

    ASV-VDA3-RYAY-K7HR-QCFX-D6DA
    ASV-ATEY-3QT6-JMFT-QQGF-37WA
     
    Last edited: Jul 16, 2015
  6. paulojsam

    paulojsam

    Joined:
    Jul 2, 2012
    Posts:
    475
    they are no longer available id assume
     
  7. ljdp

    ljdp

    Joined:
    Jan 25, 2013
    Posts:
    10
    All gone I'm afraid!
     
  8. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    BTW, that web demo doesn't work. I tried it many times and nothing shows up. Just blank.

    I would love to get a copy too :)
     
  9. ljdp

    ljdp

    Joined:
    Jan 25, 2013
    Posts:
    10
    Thanks for letting me know, I'll try uploading it somewhere else. Watch this thread, I might put up another couple of codes in the future :)
     
  10. ljdp

    ljdp

    Joined:
    Jan 25, 2013
    Posts:
    10
  11. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    Tried the web demo again and this time it works!

    But I found couple of glitch in the demo - in some area the sound is completely occluded - eg. when you are right next to the glass on the other side of the sound source, even though you expect at least a low frequency rumble, it is completely silent. The sound also doesn't deal with interpersing walls too well it seems - sound doesn't get properly occluded, its just area effect (distance fade) after a certain distance.

    I think it can be improved by using a radiosity map type setup - the sound source would be computed based on transfer of sound energy to walls - think of dropping an omni-directional light source as sound source, and the resulting "shadow" area are the occlusion area. Right now it doesn't deal with it those area too well I think.
     
    Last edited: Jul 23, 2015
  12. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    I sent you an email regarding node placement, but I have another question that is probably best suited for here since I can upload pictures without having to send you attachments. I'm having a serious immersion breaking problem and I don't know what is wrong with my nodes that is causing it.

    In the first screenshot, you see see that I am standing directly under an intercom with a sound attached. I am also almost directly over a node. However, the sound is muffled because it appears to be shooting out to the center of the room and coming from way behind me. In the second screenshot, I shift over just a tad bit, and the sound is loud and appears to be coming from the right direction.

    Other rooms have an identical setup without the problem, so I'm not sure why the inconsistency is there.

    Screenshot (25).png Screenshot (26).png
     
  13. ljdp

    ljdp

    Joined:
    Jan 25, 2013
    Posts:
    10
    Hey HemiMG,
    I tried to replicate your setup in those screenshots but couldn't replicate the problem. Any chance you could send me your project?
     
  14. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    I can, but it may take a few days. I have some assets in there that I don't have permission to share so I'll need to duplicate the project and strip it of anything unnecessary. Which will probably be good for file download size anyhow. It turns out that it isn't just that one area, the sound goes wonky in a few other places too. The intercom in that one room is till the easiest area to find because it's an easily identifiable landmark.

    Sometimes when playing I get an error that no node is near the player. There are nodes all over the scene, so I don't know what is causing that. But I also get those errors when I'm not paying attention so I'm not sure when it is happening.

    I'll definitely get a project to you at some point though, because I really want this sound propagation in my game. I think it will add to the gameplay mechanic tremendously because sound is pretty important to the game.
     
  15. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,656
    This looks very good, but I have a couple of concerns. My first concern is that the last post on this forum was in August and the asset doesn't have any reviews nor enough ratings to show what people think of it. So, it makes me wonder if it's already a dead product or not. Second, how is performance for this? What kind of frame rate drop can I expect when using this on a console system? Is performance difference negligible or very noticeable?
     
  16. myamens

    myamens

    Joined:
    Dec 24, 2015
    Posts:
    3
    Does it support procedural audio playback? And if so, is there a latency to play the generated audio using this plugin?
     
  17. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,240
    I'm doing a POC with this library. We have VOIP in our game which works by directly writing its buffer using OnAudioFilterRead. This gives zero artifacts and jitter but disables Unity built in spatialization, so we use Phonon 3D to reenable it. Anyway, this works with this plugin. The plugin works by moving the audio source relative to the actual source position and apply a low pass filter. It also overrides the master volume.

    (Support seems none existing) and there are alot of work to be needed until this reaches a production level Asset, for example the path finding is very buggy, and since it moves the audio source the Doppler effect is applied which creates artifacts. I have an idea where I recalculate the Doppler level by comparing the actual delta between the original audio source position and the listener and compare and remove the delta between simulated position because of propagation. Then apply this to the doppler level so its simulates actual Doppler level. You can also disable Doppler all together, but that removes some realism for fast moving objects.

    Also the node config utility is very buggy, and it does not support layers so you need to implement that yourself. (If you want the raycasts to ignore some layers).

    This also needs to be fixed (Plus if the doppler effect is not disabled the large move in one frame will make the sound go crazy)


    edit: I actually got an reply to my emails, so lets hope this is still under development guys, because it has promise if above issues are fixed
     
    Last edited: Dec 21, 2016