i am currently creating a script to place down objects but there seems to be a problem. i send CFrame data from the client to server but for some reason the CFrame position is correct however the orientation is wrong(i think), simply put. wrong data is being sent. heres images to help
however when recieving the CFrame via the Server, i recieve a different Cframe(the position seems to be correct but the direction seems a bit off, sometimes the position too is wrong.
I’ve also been able to replicate this sort of behavior.
I was having some issue with it at first though, as common angles such as 45° were handled pretty much perfectly. But I did end up seeing that same result.
Most of these discrepancies are usually pretty small, and this to me is an indicator of some kind of compression (such as rounding to a smaller, less precise format i.e. 64-bit → 18bits for replication) so that they have less data to send between the server and the client. And, after digging for a bit, yeah this seems to be what is happening.
“Data format is compressed less aggressively - it has to be more precise. Because of this, it’s using a fully precise storage for position (3 floats, 12 bytes). Unfortunately, using a fully precise rotational representation is not a very good tradeoff - this is too much data (it’s 9 floats, 36 bytes, and it’s not reducible to a simpler form without precision loss because the rotational matrix, while mathematically orthogonal, isn’t actually orthogonal numerically due to floating point errors). So rotational representation is also compressed with some error.”
This difference is so small though, that it’s very likely that you wont notice at all.