transform: only update global transform with pos/rot/scale components when there is no local transform
This commit is contained in:
parent
6cad80d572
commit
bcf95a24db
@ -5,7 +5,13 @@ use bevy_math::{Mat4, Quat, Vec3};
|
||||
// TODO: on changed for all of these systems
|
||||
pub fn transform_translation_system(
|
||||
mut query: Query<
|
||||
Without<Rotation, Without<Scale, Without<NonUniformScale, (&mut Transform, &Translation)>>>,
|
||||
Without<
|
||||
LocalTransform,
|
||||
Without<
|
||||
Rotation,
|
||||
Without<Scale, Without<NonUniformScale, (&mut Transform, &Translation)>>,
|
||||
>,
|
||||
>,
|
||||
>,
|
||||
) {
|
||||
for (mut transform, translation) in &mut query.iter() {
|
||||
@ -19,7 +25,13 @@ pub fn transform_translation_system(
|
||||
|
||||
pub fn transform_rotation_system(
|
||||
mut query: Query<
|
||||
Without<Translation, Without<Scale, Without<NonUniformScale, (&mut Transform, &Rotation)>>>,
|
||||
Without<
|
||||
LocalTransform,
|
||||
Without<
|
||||
Translation,
|
||||
Without<Scale, Without<NonUniformScale, (&mut Transform, &Rotation)>>,
|
||||
>,
|
||||
>,
|
||||
>,
|
||||
) {
|
||||
for (mut transform, rotation) in &mut query.iter() {
|
||||
@ -33,7 +45,13 @@ pub fn transform_rotation_system(
|
||||
|
||||
pub fn transform_scale_system(
|
||||
mut query: Query<
|
||||
Without<Translation, Without<Rotation, Without<NonUniformScale, (&mut Transform, &Scale)>>>,
|
||||
Without<
|
||||
LocalTransform,
|
||||
Without<
|
||||
Translation,
|
||||
Without<Rotation, Without<NonUniformScale, (&mut Transform, &Scale)>>,
|
||||
>,
|
||||
>,
|
||||
>,
|
||||
) {
|
||||
for (mut transform, scale) in &mut query.iter() {
|
||||
@ -47,7 +65,13 @@ pub fn transform_scale_system(
|
||||
|
||||
pub fn transform_non_uniform_scale_system(
|
||||
mut query: Query<
|
||||
Without<Translation, Without<Rotation, Without<Scale, (&mut Transform, &NonUniformScale)>>>,
|
||||
Without<
|
||||
LocalTransform,
|
||||
Without<
|
||||
Translation,
|
||||
Without<Rotation, Without<Scale, (&mut Transform, &NonUniformScale)>>,
|
||||
>,
|
||||
>,
|
||||
>,
|
||||
) {
|
||||
for (mut transform, non_uniform_scale) in &mut query.iter() {
|
||||
@ -61,8 +85,11 @@ pub fn transform_non_uniform_scale_system(
|
||||
|
||||
pub fn transform_translation_rotation_system(
|
||||
mut query: Query<
|
||||
Without<
|
||||
LocalTransform,
|
||||
Without<Scale, Without<NonUniformScale, (&mut Transform, &Translation, &Rotation)>>,
|
||||
>,
|
||||
>,
|
||||
) {
|
||||
for (mut transform, translation, rotation) in &mut query.iter() {
|
||||
if !transform.sync {
|
||||
@ -75,8 +102,11 @@ pub fn transform_translation_rotation_system(
|
||||
|
||||
pub fn transform_translation_scale_system(
|
||||
mut query: Query<
|
||||
Without<
|
||||
LocalTransform,
|
||||
Without<Rotation, Without<NonUniformScale, (&mut Transform, &Translation, &Scale)>>,
|
||||
>,
|
||||
>,
|
||||
) {
|
||||
for (mut transform, translation, scale) in &mut query.iter() {
|
||||
if !transform.sync {
|
||||
@ -93,8 +123,11 @@ pub fn transform_translation_scale_system(
|
||||
|
||||
pub fn transform_translation_non_uniform_scale_system(
|
||||
mut query: Query<
|
||||
Without<
|
||||
LocalTransform,
|
||||
Without<Rotation, Without<Scale, (&mut Transform, &Translation, &NonUniformScale)>>,
|
||||
>,
|
||||
>,
|
||||
) {
|
||||
for (mut transform, translation, non_uniform_scale) in &mut query.iter() {
|
||||
if !transform.sync {
|
||||
@ -111,8 +144,11 @@ pub fn transform_translation_non_uniform_scale_system(
|
||||
|
||||
pub fn transform_rotation_scale_system(
|
||||
mut query: Query<
|
||||
Without<
|
||||
LocalTransform,
|
||||
Without<Translation, Without<NonUniformScale, (&mut Transform, &Rotation, &Scale)>>,
|
||||
>,
|
||||
>,
|
||||
) {
|
||||
for (mut transform, rotation, scale) in &mut query.iter() {
|
||||
if !transform.sync {
|
||||
@ -129,8 +165,11 @@ pub fn transform_rotation_scale_system(
|
||||
|
||||
pub fn transform_rotation_non_uniform_scale_system(
|
||||
mut query: Query<
|
||||
Without<
|
||||
LocalTransform,
|
||||
Without<Translation, Without<Scale, (&mut Transform, &Rotation, &NonUniformScale)>>,
|
||||
>,
|
||||
>,
|
||||
) {
|
||||
for (mut transform, rotation, non_uniform_scale) in &mut query.iter() {
|
||||
if !transform.sync {
|
||||
@ -146,7 +185,12 @@ pub fn transform_rotation_non_uniform_scale_system(
|
||||
}
|
||||
|
||||
pub fn transform_translation_rotation_scale_system(
|
||||
mut query: Query<Without<NonUniformScale, (&mut Transform, &Translation, &Rotation, &Scale)>>,
|
||||
mut query: Query<
|
||||
Without<
|
||||
LocalTransform,
|
||||
Without<NonUniformScale, (&mut Transform, &Translation, &Rotation, &Scale)>,
|
||||
>,
|
||||
>,
|
||||
) {
|
||||
for (mut transform, translation, rotation, scale) in &mut query.iter() {
|
||||
if !transform.sync {
|
||||
@ -162,7 +206,12 @@ pub fn transform_translation_rotation_scale_system(
|
||||
}
|
||||
|
||||
pub fn transform_translation_rotation_non_uniform_scale_system(
|
||||
mut query: Query<Without<Scale, (&mut Transform, &Translation, &Rotation, &NonUniformScale)>>,
|
||||
mut query: Query<
|
||||
Without<
|
||||
LocalTransform,
|
||||
Without<Scale, (&mut Transform, &Translation, &Rotation, &NonUniformScale)>,
|
||||
>,
|
||||
>,
|
||||
) {
|
||||
for (mut transform, translation, rotation, non_uniform_scale) in &mut query.iter() {
|
||||
if !transform.sync {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user