rigidbody realtime transform vs just realtime transform
I am aware that realtime transform has two modes one for rigibodies and one for non, are you able to tell me the number of properties that are syncing in either case? I'm curious to know the sheer number of extra properties rigidbody transform syncs
20 Replies
Hi @cryptomax. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
The RealtimeTransform component in NormalVR operates differently depending on whether a Rigidbody component is present on the GameObject or not.
When operating in Transform mode (i.e., when there is no Rigidbody component), RealtimeTransform synchronizes the localPosition, localRotation, and localScale of a GameObject. So, in this case, it syncs 3 properties.
On the other hand, when operating in Rigidbody mode (i.e., when a Rigidbody component is present), RealtimeTransform synchronizes the world position and rotation values in addition to all Rigidbody settings. The exact number of properties that are synchronized in Rigidbody mode can vary depending on the Rigidbody settings, but at a minimum, it includes the world position and rotation.
In addition to these, the RealtimeTransform component has several properties that control its behavior, such as
syncTransform
, syncPosition
, syncRotation
, syncScale
, syncVelocity
, syncAngularVelocity
, maintainOwnershipWhileSleeping
, isPhysicsOwnershipAvailable
, and isInterpolationWarmedUp
. These properties can be set to control which aspects of the transform or rigidbody are synchronized.
For more detailed information, you can refer to the RealtimeTransform documentation (https://normcore.io/documentation/realtime/realtimetransform) and the Networked Physics guide (https://normcore.io/documentation/realtime/networked-physics).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@401986039964631060> kapa.ai is still learning and improving, please let us know how it did by reacting below
@Normcore Assistant is syncs ALL rigidbody properties?
Let me check the knowledge base for you. One moment! :books:
----------------------
The RealtimeTransform component in Rigidbody mode synchronizes the world position and rotation values of the Rigidbody. However, it's not explicitly stated in the provided sources that it synchronizes all Rigidbody properties.
In Rigidbody mode, RealtimeTransform also handles ownership differently. When a Rigidbody RealtimeTransform collides with a second Rigidbody RealtimeTransform, it will attempt to request ownership of this second object as well, so the same client can simulate both of the objects in the collision.
Additionally, RealtimeTransform has properties like
syncVelocity
and syncAngularVelocity
that control whether the velocity and angular velocity of the Rigidbody are synchronized.
For more detailed information, you can refer to the RealtimeTransform documentation (https://normcore.io/documentation/realtime/realtimetransform) and the Networked Physics guide (https://normcore.io/documentation/realtime/networked-physics).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@401986039964631060> kapa.ai is still learning and improving, please let us know how it did by reacting below
it’s syncing a few other properties like useGravity, isKinematic and it explicitly sends velocity if Send Velocity is checked
but most of the additional properties don’t change each frame so it only uses extra bandwidth on that velocity value
Is kinematic syncs? I have multiple cases where I’m manually syncing it in addition to the transform, I thought that it acts odd otherwise
![No description](https://cdn.answeroverflow.com/1245109557814890528/Screenshot_2024-05-28_at_4.20.39_PM.png)
yeah this is everything we sync
thanks for this, dang... I just set up a new creature with manual kinemetic syncing as i'm pulling it in and out of kinematic constantly and i'm almost positive it doesnt' work right unless I do, is it possible reliable unrealiable would have anything to do with it?
I geuss i can pull out all the kinematic sync logic and see if the creature still does what it supposed to do lol
incidentally this creature was also what I observed parralel sync was not syncing properly. Editor to editor with parrelel it would sporatically jump positions like it owuld only update position sporatically, but build to editor it worked fine. If kinematic is already syncing that might have something to do with that I guess
let me know if you’ve found a bug! it’s definitely possible
if you can repro, I’d love to get it fixed
would it be possible to post the code for all the realtime files? would be useful to know what all the backend is doing
I thought perhaps the bot would have the source in its knowledge base
it’s something I’ve been thinking about
it’s tough because they’re always changing
and our internal scripts have pieces and future features and pieces that get compiled out before we publish
it’s not quite 1:1 with what ends up in Normcore Public
ok I pulled out the kinematic sync logic and it appears to work fine and also parralel sync now no longer does that behavoir! so apprently it was the fact that I was double syncing it