Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/urholaukkarinen/transform-gizmo
3d transformation gizmo
https://github.com/urholaukkarinen/transform-gizmo
3d bevy egui gamedev gizmo rust scene-editor
Last synced: 1 day ago
JSON representation
3d transformation gizmo
- Host: GitHub
- URL: https://github.com/urholaukkarinen/transform-gizmo
- Owner: urholaukkarinen
- License: apache-2.0
- Created: 2021-10-07T06:11:58.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-02T11:11:38.000Z (about 2 months ago)
- Last Synced: 2024-12-13T14:02:19.157Z (9 days ago)
- Topics: 3d, bevy, egui, gamedev, gizmo, rust, scene-editor
- Language: Rust
- Homepage: https://github.com/urholaukkarinen/transform-gizmo
- Size: 77.3 MB
- Stars: 204
- Watchers: 2
- Forks: 54
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE
Awesome Lists containing this project
- awesome-egui - egui-gizmo
README
# transform-gizmo
[![Latest version](https://img.shields.io/crates/v/transform-gizmo.svg)](https://crates.io/crates/transform-gizmo)
[![Documentation](https://docs.rs/transform-gizmo/badge.svg)](https://docs.rs/transform-gizmo)
[![MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/urholaukkarinen/transform-gizmo/blob/main/LICENSE-MIT)
[![Apache](https://img.shields.io/badge/license-Apache-blue.svg)](https://github.com/urholaukkarinen/transform-gizmo/blob/main/LICENSE-APACHE)`transform-gizmo` is a framework-agnostic Rust crate that provides a feature-rich and customizable 3D transformation gizmo for manipulating the position, rotation and scale of 3D entities.
[Try it out in a web demo](https://urholaukkarinen.github.io/transform-gizmo/)
![All modes](media/all_modes.png)
## Usage
### Bevy
[`transform-gizmo-bevy`](https://docs.rs/transform-gizmo-bevy) provides a Plugin for easy integration into the [Bevy Engine](https://bevyengine.org/).
### Egui
[`transform-gizmo-egui`](https://docs.rs/transform-gizmo-egui) enables you to use the Gizmo wherever [Egui](https://github.com/emilk/egui) is used.
### Other
For interacting with the gizmo, all you will need to do is give `Gizmo::update` sufficient
information about user interaction, in the form of `GizmoInteraction`.For rendering the gizmo, `Gizmo::draw` provides vertices in viewport coordinates that can be easily rendered
with your favorite graphics APIs.## Other
The gizmo exposes mathematical types as [mint](https://github.com/kvark/mint) types, which means it is easy to use with types from various crates
such as [nalgebra](https://github.com/dimforge/nalgebra), [glam](https://github.com/bitshifter/glam-rs)
and [cgmath](https://github.com/rustgd/cgmath). You may need to enable a `mint` feature, depending on the math library.## License
This crate is dual licensed under MIT and Apache 2.0.
## Contributing
Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md)