I’ve noticed sometimes the normal and position for shapecasts and raycasts is slightly different between the server and client when doing the same raycast under the same conditions.
System Information: 11th Gen Intel(R) Core™ i7-1195G7 @ 2.90GHz, 16.0 GB, Intel(R) Iris(R) Xe Graphics
This is a small reproduction file showing how the normal is different when raycasting:
i personally dont think you should care that much about millionths of a precision point. just 3-4 decimals is enough. unless it disrupts your calculations (say you want vectors to be close to each other), you should try a Vector3:FuzzyEq() method.
its still a bit strange behavior it produces, but i believe its just inaccuracies
I’ve tried rounding to 1 decimal but it is still inaccurate in some extreme situations. I’m trying to do a deterministic physics simulation so it’s best if it was the same
I assume there is just different ways of calculating floating points based on my hardware and the server. But I think why rounding to decimals didn’t work for me is because when you create a vector it adds some extra precision
forget what I said here. it does seem to just be a floating point issue with vectors in general. most likely I’ll just use the FuzzyEq method suggested to check if the state is close enough