OreCruncher / DynamicSurroundingsFabric

Dynamic Surroundings mod for Minecraft
MIT License
65 stars 25 forks source link

No Ambience Sound Muffling under water #12

Closed DerLeole closed 2 years ago

DerLeole commented 2 years ago

When under water, most sounds are muffled, but background ambient sounds from the mod itself still play at 100%, which really breaks immersion.

Would be cool if those could alos be muffled under water by default.

HarvelsX commented 2 years ago

Hello! Yes, I've noticed that too, but it doesn't really stand out against the not-so-best sound mastering by default. I see that you need something similar and we (I) would be happy to get an improved version of the default sound configuration.

HarvelsX commented 2 years ago

@Leolele99. Hmm, as far as I understand it, it happens because the modification does not properly handle the absorption of the sound wave by water. And the effect of sound in water is created by taking into account the water as a solid block, the same algae impede sound propagation. If I understand a bit more, I will create a separate ticket dedicated to this problem, but for now we can adjust the existing sound processing parameters.

But the general muffling is present, could you highlight the sounds and the environment in which they play, to understand specifically what you do not like.

HarvelsX commented 2 years ago

@Leolele99 Hello again! I fixed the sound processing in the water a bit, probably 1.18 changed the tracing logic, well, or it was originally broken. This will probably improve, if not solve, your experience. You can find a compiled version with a fix here: https://github.com/HarvelsX/DynamicSurroundingsFabric/actions/runs/1657352401

DerLeole commented 2 years ago

@Leolele99 Hello again! I fixed the sound processing in the water a bit, probably 1.18 changed the tracing logic, well, or it was originally broken. This will probably improve, if not solve, your experience. You can find a compiled version with a fix here: https://github.com/HarvelsX/DynamicSurroundingsFabric/actions/runs/1657352401

Thank you so much!

Is there any way possible to also have this in 1.17? I'm not playing 1.18 at all. If you give me some pointers I could also fork it myself and try to reimplement it into 1.17.

HarvelsX commented 2 years ago

@Leolele99, no problem, here's a link to the build: https://github.com/HarvelsX/DynamicSurroundingsFabric/actions/runs/1657651703 True, it's 1.17.1, not 1.17, but you can still try

DerLeole commented 2 years ago

Oh, if that build is 1.17.1 compatible already that works for me.

DerLeole commented 2 years ago

Seems to work, however in the future any effect that makes it even more muted and maybe a nice sound effect for going under water could be added to make it even cooler :D

HarvelsX commented 2 years ago

@Leolele99, there is a parameter soundOcclusion, it defines the coefficient of sound propagation obstruction by the block. The default value is 0.5 for water, but you can increase it to strongly silence sounds in water. Here is the code that does this:

diff --git a/src/main/resources/assets/minecraft/dsconfigs/blocks.json b/src/main/resources/assets/minecraft/dsconfigs/blocks.json
--- a/src/main/resources/assets/minecraft/dsconfigs/blocks.json (revision a908f46953c9a674542d45d57ac38417cf10711d)
+++ b/src/main/resources/assets/minecraft/dsconfigs/blocks.json (date 1641370675051)
@@ -37,7 +37,8 @@
         "effect": "waterfall",
         "alwaysOn": true
       }
-    ]
+    ],
+    "soundOcclusion": 0.8
   },
   {
     "blocks": [
DerLeole commented 2 years ago

Are other sounds also muffled? I'm specifically having problems with some oceans sounds which might originate from another mod too. Perhaps Charmonium.

HarvelsX commented 2 years ago

Are other sounds also muffled? I'm specifically having problems with some oceans sounds which might originate from another mod too. Perhaps Charmonium.

It seems that the audio signal in the Master and Music channels is not processed by muffled. I don't think this is a good solution, but you can try to assign these sounds to the Master channel in the sounds configuration at the moment. I will consider it, thanks for the comment.