You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
See my crate avian_interpolation for a suggestion for how to handle this. It's not fit for being directly upstreamed as it completely removes the transform sync, which would be a much more controversial change, but it should be a good starting point. Another option is to just use bevy_transform_interpolation and accept the fact that it necessarily stores redundant data.
# Objective
For [`avian_interpolation`](https://github.com/janhohenheim/avian_interpolation), I want to have a clean separation between gameplay transforms and render transforms. Avian's best version of a gameplay scale is currently `Collider::scale`. However, this is not ergonomically interpolatable due to two reasons:
- `Collider::scale` is not initialized with the right scale, meaning that my observers that listen for its insertion will read wrong initial data, and
- It is automatically synced to the `GlobalTransform`, making it hard to change the `Transform` according to the `Collider::scale` without affecting it back in turn
Related to #444
## Solution
- Set the `Collider::scale` correctly in its `on_add` hook
- Allow an opt-out via `SyncConfig`
---
## Changelog
- You can now opt-out of `Transform` to `Collider::scale` syncing by using the new `SyncConfig::transform_to_collider_scale` field.
GlobalTransform
is currently not updated betweenFixedUpdate
calls: UpdateGlobalTransform
as part ofFixedUpdate
bevyengine/bevy#7836The text was updated successfully, but these errors were encountered: