2
0
Fork 0
mirror of https://github.com/bevyengine/bevy synced 2025-01-09 19:58:58 +00:00
bevy/crates/bevy_transform
Dusty DeWeese 9f8bdeeeb9 Use Affine3A for GlobalTransform to allow any affine transformation ()
# Objective

- Add capability to use `Affine3A`s for some `GlobalTransform`s. This allows affine transformations that are not possible using a single `Transform` such as shear and non-uniform scaling along an arbitrary axis.
- Related to  and 

## Solution

- `GlobalTransform` becomes an enum wrapping either a `Transform` or an `Affine3A`.
- The API of `GlobalTransform` is minimized to avoid inefficiency, and to make it clear that operations should be performed using the underlying data types.
- using `GlobalTransform::Affine3A` disables transform propagation, because the main use is for cases that `Transform`s cannot support.

---

## Changelog

- `GlobalTransform`s can optionally support any affine transformation using an `Affine3A`.


Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2022-07-16 00:51:12 +00:00
..
src Use Affine3A for GlobalTransform to allow any affine transformation () 2022-07-16 00:51:12 +00:00
Cargo.toml Bump Bevy to 0.8.0-dev () 2022-04-17 23:04:52 +00:00
README.md transform: remove some dependencies and cleanup 2020-07-10 01:49:23 -07:00

Bevy Transform

This crate is largely a 1:1 port from legion_transform (ecs: legion, math: nalgebra) to bevy (ecs: bevy_ecs, math: glam)