View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003340 | The Dark Mod | Sound | public | 09.03.2013 02:05 | 14.03.2013 23:31 |
Reporter | Springheel | Assigned To | grayman | ||
Priority | normal | Severity | normal | Reproducibility | have not tried |
Status | resolved | Resolution | open | ||
Product Version | TDM 2.00 | ||||
Target Version | TDM 2.00 | Fixed in Version | TDM 2.00 | ||
Summary | 0003340: Sound is leaking out of area it shouldn't | ||||
Description | I've been doing a lot of testing in Outpost, and I've noticed recently that when I'm in the priest's room on the top floor, I can hear the snoring of the sleeper on the second floor. It can also be heard clearly when you stand outside his closed door on the second floor. I didn't remember that happening before. I loaded up the map in 1.08 and could not hear the sleeper anywhere as long as the door to his room was closed. This seems to suggest something has changed due to the recent changes to sound and visportals? | ||||
Tags | No tags attached. | ||||
Hmm, I've noticed this in Chalice of Kings as well...sounds seem to be traveling further than they used to. Has the default value for sound loss on doors been changed? The sound of the machine outside used to disappear as soon as you got a few steps inside the mansion, but now I can hear it for quite a while. |
|
Sound occlusion is done differently now, so that it's more realistic, and to bring it in line with how the AI-heard sounds propagate. (And to eliminate all the problems we were having.) So, yes, the default value for sound loss on doors has changed because the math was replaced entirely. When you say "a few steps inside the mansion" is that with the door open or closed? Is it a bad thing that the machine is louder? Wrt the snoring, I can experiment with an extra dampening factor on visportaled doors. This will affect all sounds, however. I was happy with the results in the test map, but there might be a few sounds that are louder than they should be, but were cut off using the old math and not cut off using the new. |
|
Well, specifically the snoring sounds quite loud when you are standing on the third floor of the priest's room in Outpost. The snoring guard is in a room below you, but there is no direct route from the snorer to the player. It basically sounds like what I would expect if there were an internal leak and the sound was going straight through the floor, but no such leak exists. In Chalice, I could hear the sounds of the door at the bottom of the spiral stairs being shut when I was out in the courtyard. It sounded like it was going straight to me, even though it should have had to travel through at least 3 closed doors to get to me. While the machine isn't a big deal, neither of the above are trivial issues...it sounds to the player like those noises are in the immediate area when in fact they shouldn't really be heard at all. Let me know if there's any specific testing I can do to help. |
|
If you go into the sleeper's room using 1.08, can you hear him snoring? I'm testing this now, and I can hear him snoring in SVN, but he makes no sleeping sounds at all in 1.08. I stood next to him for about 4 mins w/o a peep. I checked the sound code while standing in the hall with the door closed in SVN, and the 10dB loss from the door is getting applied. |
|
Hmm, you're right, I can't. That may have been the vocal set that didn't have a sleep sound in 1.08..I remember fixing a few like that. Ok, that obviously invalidates that map as a test case. There's still the door sound in Chalice. I'll try to find some other examples, but wouldn't it be nice if there weren't any? edit: I went back to Chalice in 1.08, and you can actually hear the door from the courtyard...it's just not as loud as it is with the SVN build. So perhaps it's not that sound is going where it should not; it's just not being occluded by doors quite as much as it was before. |
|
Changing the default "loss_closed" from "10" to "20" on doors puts the volume of Chalice's machinery sound when heard indoors back to where it was in 1.08. You can try this yourself by changing the spawnarg for atdm:mover_door in tdm_mover_doors.def. Most of the "loss_closed" values set in existing maps are 20 or more. One good test of whether the higher default value bothers existing maps is to run through your own released mission, where you have lots of doors set to 25. You probably did this to keep AI sounds from propagating, so the question is, will the settings of 25 still give you the right volume for sounds you hear through doors. If that's acceptable, then that's the solution. If it isn't, I'm not sure what else to do. The only other thing to do is to increase the sound loss on doors in the DLL, but that amounts to the same thing. |
|
"edit: I went back to Chalice in 1.08, and you can actually hear the door from the courtyard...it's just not as loud as it is with the SVN build. So perhaps it's not that sound is going where it should not; it's just not being occluded by doors quite as much as it was before." Yes, there's no leakage of sound going on. The issue is the amount of sound that's coming through the door, which can be fixed by changing the sound loss on the door. |
|
Outpost still isn't behaving correctly. The snoring appears to not be following the occlusion rules. If I stand outside his door, and noclip through it in the middle of his snore, there's no volume change. The volume is the same whether I'm standing next to him, outside in the hall with the door closed, or upstairs with the door closed. It all sounds the same. The only thing I can think of is that the origin of the sound is not ON the sleeping guard. It's above his feet, embedded in the ceiling between him and the loft. Perhaps if a sound's origin is in the void, the engine plays it as if there's no occlusion. It's an oddity of sleeping and sitting guards that their origins and mouth positions have nothing to do with where the animations put them; they're off somewhere else, as if the AI is still standing. The low ceiling over the sleeper pushes his snoring origin into the void. I'll redesign his room and push him down enough so that his snoring origin drops out of the void. Perhaps that will solve the problem. |
|
I lowered the sleeper's floor and furniture to pull his sound origin down out of the ceiling, and his snoring now obeys the occlusion rules. I can hear a difference if I noclip through his door in the middle of a snore, and I can no longer hear him up in the priest's room. So this issue is now a matter of correcting where the sound issues from for sleepers. |
|
It might be better to leave the default "sound_loss" at "10" for doors, and instead apply a 2x factor when processing sounds the player hears. Or it might be appropriate to add 10dB to the loss instead. That way sound propagation to AI will not be affected. |
|
I tested a sound_loss of 20, and while it sounds reasonable to the player, it occludes too much for the AI...I can shoot a fire arrow at a closed door and AI inside the next room don't react to it. So a solution that doesn't affect soundprop to AI gets my vote. | |
One sleeping AI in Outpost sounded like he was everywhere when he snored. This was because the code was originating his sound from his eye position as if he were standing on the bed he was sleeping in. This eye position was in the ceiling brush for the room, which caused the sound to be heard everywhere. Changed the code so that a sleeping AI will generate sounds from his origin, which is technically not where his mouth is, but it’s better than the previous method. rev. 5714: Actor.cpp |
|
Date Modified | Username | Field | Change |
---|---|---|---|
09.03.2013 02:05 | Springheel | New Issue | |
09.03.2013 02:08 | Springheel | Description Updated | |
10.03.2013 01:34 | Springheel | Note Added: 0005144 | |
10.03.2013 01:35 | Springheel | Note Edited: 0005144 | |
10.03.2013 02:58 | grayman | Note Added: 0005146 | |
10.03.2013 02:58 | grayman | Assigned To | => grayman |
10.03.2013 02:58 | grayman | Status | new => assigned |
10.03.2013 15:05 | Springheel | Note Added: 0005148 | |
10.03.2013 15:06 | Springheel | Note Edited: 0005148 | |
10.03.2013 15:07 | Springheel | Note Edited: 0005148 | |
12.03.2013 20:54 | grayman | Note Added: 0005159 | |
12.03.2013 23:27 | Springheel | Note Added: 0005160 | |
12.03.2013 23:37 | Springheel | Note Edited: 0005160 | |
12.03.2013 23:45 | Springheel | Note Edited: 0005160 | |
13.03.2013 00:16 | grayman | Note Added: 0005161 | |
13.03.2013 00:18 | grayman | Note Edited: 0005161 | |
13.03.2013 00:19 | grayman | Note Added: 0005162 | |
13.03.2013 00:41 | grayman | Note Added: 0005163 | |
13.03.2013 01:00 | grayman | Note Added: 0005164 | |
13.03.2013 13:37 | grayman | Note Added: 0005166 | |
13.03.2013 14:38 | Springheel | Note Added: 0005167 | |
14.03.2013 23:31 | grayman | Note Added: 0005179 | |
14.03.2013 23:31 | grayman | Status | assigned => resolved |
14.03.2013 23:31 | grayman | Fixed in Version | => TDM 2.00 |
14.03.2013 23:31 | grayman | Target Version | => TDM 2.00 |