bevyengine / bevyengine/bevy

Handling Picking Events for Pixel Art Games

Open
#21,347 19 comments 2 reactions 0 assignees View on GitHub
A-Picking A-Rendering C-Feature S-Needs-Design
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

## What problem does this solve or what need does it fill?

A lot of developers prefer to develop games at a lower resolution. Most modern games use something like [bevy_pixcam](https://github.com/atomicptr/bevy_pixcam) (awesome crate btw). For more of a retro feel, others can follow the [pixel grid snapping](https://bevy.org/examples/2d-rendering/pixel-grid-snap/) example, which renders the lower resolution camera as a texture. When following this, picking events are not updated when rendering the UI within the "InnerCamera".

## What solution would you like?

UI picking events being propagated through the texture, or at least code in the example to show how to propagate picking events from the UI.

Potentially in the future for better UX around it: Feature Parity with [Godot](https://docs.godotengine.org/en/stable/tutorials/rendering/multiple_resolutions.html). Godot handles this very seamlessly, where the user simply enters the resolution they'd like to render the game at in the viewport settings, and window resizing behavior (integer scaling) is handled by other parameters. UI works the same. This is what I believe many would like, but I can see that it can be potentially out of scope for Bevy.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.