bevyengine / bevyengine/bevy

2D Motion Blur

Open
#14,781 1 comment 4 reactions 0 assignees View on GitHub
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?

Motion blur has been implemented for 3D, would be great to have it for 2D as well :)

## What solution would you like?

Like the [3D example](https://github.com/bevyengine/bevy/blob/release-0.14.1/examples/3d/motion_blur.rs) but for 2D things.

## Additional context

Ideally, we should be able to do something like this and see motion blur:

```rust
use bevy::{
core_pipeline::motion_blur::{MotionBlur, MotionBlurBundle},
prelude::*,
};

fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_systems(Startup, setup)
.add_systems(FixedUpdate, move_sprite)
.run();
}

fn setup(mut commands: Commands, asset_server: Res) {
commands.spawn((
Camera2dBundle::default(),
MotionBlurBundle {
motion_blur: MotionBlur {
shutter_angle: 1.0,
samples: 4,
},
..default()
},
));
commands.spawn(SpriteBundle {
texture: asset_server.load("branding/bevy_bird_dark.png"),
..default()
});
}

fn move_sprite(
time: Res

Previous motion blur for 3D was submitted in this PR: https://github.com/bevyengine/bevy/pull/9924

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.