bevyengine / bevy

A refreshingly simple data-driven game engine built in Rust
https://bevyengine.org
Apache License 2.0
36.24k stars 3.58k forks source link

Add a screen shake effect #6569

Closed JMS55 closed 1 month ago

JMS55 commented 2 years ago

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

Adds a nice effect to games.

What solution would you like?

Add some kind of component or animation to a Camera to add a screen shake.

Additional context

See also: https://shaggydev.com/2022/02/23/screen-shake-godot/

soqb commented 2 years ago

there is already bevy_camera_shake for 0.8.1 but with the 0.9 release on the horizon it looks like it could do with an update.

soqb commented 2 years ago

this definitely feels like it fits an ecosystem implementation rather than something in Bevy itself. Unreal is the only engine I can find which provides builtin camera shake. Unity and Godot both leave it up to the user.

james7132 commented 2 years ago

Going to second the opinion that this is ideal for an ecosystem crate solution. Not every game needs it and the implementation is relatively simple to maintain separately from the core engine. Might even be doable via just normal animation systems or user-made game code.

Weibye commented 2 years ago

this definitely feels like it fits an ecosystem implementation

Agreed. Bevy would need to have quite extensive video-sequencing and camera tools in-house before it starts to make sense to first-party supply camera effects.

JMS55 commented 1 month ago

Related: https://github.com/bevyengine/bevy/issues/15564

alice-i-cecile commented 1 month ago

Yeah, I like an example better for this :)