Commit b548c9e
committed
fix(trackerobjects): re-assert kinematic each frame in pose drive
One-shot isKinematic = true at bind isn't enough — BasisObjectSyncNetworking
Awake and ControlState both flip kinematic back to false for locally-owned
props, and ControlState fires on ownership-transfer events that can happen
long after bind. Once physics gets hold of the rigidbody between our pose
writes, Scene view samples those intermediate frames (out of step with
onBeforeRender) and flickers even when Game view (which renders right after
our write) stays clean.
Re-asserting kinematic = true each frame in OnAfterSimulateOnRender is a
single bool set per binding, cheap, and defends against any external setter
without playing whack-a-mole with every code path that touches RigidRef.
Spec updated to describe the per-frame enforcement and its motivation.1 parent da231ff commit b548c9e
2 files changed
Lines changed: 12 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
138 | | - | |
| 138 | + | |
139 | 139 | | |
140 | 140 | | |
141 | 141 | | |
| |||
Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
163 | 174 | | |
164 | 175 | | |
165 | 176 | | |
| |||
0 commit comments