Missing Surface Sound on Terrain for remote player using pun2 (UCC2)

Larsson24

Member
Hi,
I'm using UCC2 and the pun package. I have the surface system setup with footsteps sounds and it works great on the local player, however, i can not always hear the remote players footstep sounds when that player is walking next to the local player. Just to be clear, I only talk about the sounds on the local client now, i.e. the local player can't hear the remote players foot steps on the local machine.

The issue only happens on the terrain so the issue seams to be connected to the Surface Manager. No issue when using surface identifiers.

The strange thing is that the remote client sometimes makes sound on the terrain (correct sound based on texture as well), but not always. It also dosen't seams to be random. There are areas on the terrain that always works or don't work.

I have tested to change the Main Texture Property Name on the Surface manager but all the options I tried work (didn't notice any difference). I have tested _BaseColor, _BaseMap and _MainTex. All seamed to work, i.e. gave correct sound on the local player and sometimes on the remote player as well.

Foot offset is now on 0.09. However, I don't understand exacly how it works but have just tested different values.

I also use the Master Audio asset and the plugin.

Unity 2021.3.27f1.

Other (not sure if relevant):
I first though the issue was with the animations and interpilation so the foot animations wasn't lifting the feet correct and triggering the sound. However, I have now changed from body step to Fixed Interval system. I don't know if this fixed anything when using surface identifiers, but I believe i had to raise the "Remote Interpolation Multiplayer" to get less smooth motion to not get to many footstep sounds. But this was when using surface identifiers which now works. The remaining issue is on the terrain.

Many thanks! :)
 
Hi Justin! Have the pun addon and surface manager been reworked in v3 or is this most likely an issue in v3 as well?
 
I believe I have found the issue. The multiplayer client Raycast in the Character Foot Effect script (line somewhere around 320, I added some debug messages so the lines doesn't match the orignal now) was shoot from the bottom of the character without any offset, so I believe the fix is to raise the start position of the RayCast and extend the max length of it to compensate. I "borrowed" the m_FootOffset (and m_Transform.up to make it a vector3 when needed). Worked for me but don't know if there is a better and more clean solution. Couldn't find where the regular grounded Raycast was but thought about copying it if possible since it worked on the local player. However, this solution will haft to work now.

Haven't run into any issues with this fix right now, but haven't tested extensivly.

Don't know if this is a issue in UCC3 as well but now it can be fixed if thats the case.

1700584561451.png
 
Top