Adding echos to sounds

Revision as of 09:47, 17 April 2009 by Gpnmilano (Talk | contribs) (Generic Rooms)

Remember walking through areas in Cyan's ages and hearing your footsteps echo off the walls of the room you were in? remember hearing the soft echo of pylon rubber bounce around you as you kicked a cone across the courtyard? With the newest release of PyPRP it's possible to set up your own ages so that those with EAX Capable hardware can hear those sounds again in your ages.

EAX Listener

An EAX Listener Modifier is a modifier that is attached to a soft volume in your age. The modifier takes the approximate definitions of the room, and creates a reverb effect to simulate echos that are bouncing off the walls of the room.

Logic

To set up a EAXListener you're going to need a few things first. First you'll need to create a Soft Volume that the EAXListener will be attached to.

Once you've created your soft volume, you'll need to set up a logic modifier for the soft volume that looks like this:

MySoftVolumeMesh:
    logic:
        actions:
          - type: eaxlistener
            name: EaxListenerExample
            eaxlistener:
                softregion: softvolume:MySoftVolumeMesh
                environ:
                environsize:
                enviorondif:
                room:
                roomhf:
                roomlf:
                decaytime:
                decayhfrate:
                decaylfrate:
                reflections:
                reflectdelay:
                reverb:
                reverbdelay:
                echotime:
                echodepth:
                modtime:
                moddepth:
                airabsorption:
                HFReference:
                LFReference:
                roomrolloff:   

Now, this looks like ALOT of settings to fill in. The good news is that, by default, pyprp will export a soft volume with the same settings as the eax listener in relto's hut. So if you don't want to specify settings, the only thing you'll need is to reference your soft volume.

MySoftVolumeMesh:
   logic:
       actions:
         - type: eaxlistener
           name: EaxListenerExample
           eaxlistener:
               softregion: softvolume:MySoftVolumeMesh

However, if you'd like to adjust settings, and really take advantage of what the eax listener mod has to offer, the attached settings, based upon style of room, and the materials it's supposed to be built upon will give you an idea of what setting's you'll need

Advanced Settings

Generic Rooms

Room Style environ environsize environdif room roomhf roomlf decaytime decayhfrate decaylfrate reflections reflectdelay reverb reverbdelay echotime echodepth modtime moddepth airabsorption hfreference lfreference roomrolloff
Generic 0 7.5 1.000 -1000 -100 0 1.49 0.83 1.00 -2602 0.007 200 0.011 0.250 0.000 0.250 0.000 -5.0 5000.0 250.0 0.00
Padded Cell 1 1.4 1.000 -1000 -6000 0 0.17 0.10 1.00 -1204 0.001 207 0.002 0.250 0.000 0.250 0.000 -5.0 5000.0 250.0 0.00
Room 2 1.9 1.000 -1000 -454 0 0.40 0.83 1.00 -1646 0.002 53 0.003 0.250 0.000 0.250 0.000 -5.0 5000.0 250.0 0.00
BathRoom 3 1.4 1.000 -1000 -1200 0 1.49 0.54 1.00 -370 0.007 1030 0.011 0.250 0.000 0.250 0.000 -5.0 5000.0 250.0 0.00

(examples below)