Collision/distance bias? How to disable it?

For some reason the collision model for the corridors appears smoothed.
Changing particle collision radius doesn’t appear to change anything.
Is there some settig like “collision bias” for static mesh or smth? I’m out of ideas…

1 Like

Is this using the distance fields for collisions?

2 Likes

Yes, collision type is distance fields

Is this using the normal collision module? If so, you might try and use ray traced collisions instead. Also, check the distance field visualization of your meshes and maybe tweak the settings in your static mesh assets.
You can also play around with the distance field cvars, just type “r.DistanceFields” into the console to see some commands for it.

If you’re using a fluid emitter with collision then it should use the individual mesh distance fields, in that case check the static mesh assets and maybe increase the resolution of the field there.

Ray traced works really ■■■■■, maybe because I got an older gen radeon gpu.
Can you please elaborate what setting to check in static mesh? What is “distance field visualization” for meshes?
I’ll check right now for the settings myself, thank you so much.

It looks like the simulation uses global distance field (pic 1) instead of mesh-specified (pic 2). Is there a way to increase global one resolution or switch to mesh-specified one?


If you are using the global distance field then there is not a lot you can do unfortunately. The resolution depends a lot on global parameters (check the “r.DistanceFields” cvars I mentioned) and on the camera distance. So the farther away something is from the camera, the less detailed the distance field that is loaded for the mesh.

We have a data interface to read the accurate mesh distance fields (and the fluid emitters already use it for their collisions), but the collision module does not yet support it. If you have some experience with module scripts you might be able to implement your own collision module based on that. The only other option would be to switch to cpu particles, which might not be feasible with too many particles.

Thanks a lot for this explanation! I will try cvars and fiddling with scale to make it look correct.