#outline #post-processing #game-engine #adaptive #effect #process #plugin

bevy_outline_post_process

An adaptive outline post-processing effect for the Bevy game engine

3 unstable releases

new 0.4.0 Dec 11, 2024
0.3.1 Aug 4, 2024
0.3.0 Jul 22, 2024

#362 in Game dev

Download history 6/week @ 2024-09-22 1/week @ 2024-09-29 11/week @ 2024-11-03 1/week @ 2024-11-10 123/week @ 2024-12-08

123 downloads per month

0BSD OR MIT OR Apache-2.0

545KB
239 lines

bevy_outline_post_process

Crates License Tag Docs

A plugin for the Bevy engine which adds an outline post-processing effect. Optionally supports adaptive outlining, so darker areas are outlined in white rather than black, based on luminance.

Note: This is a full-screen post process effect and cannot be enabled/disabled for specific objects.

Screenshots

Configuration Used:

bevy_outline_post_process::components::OutlinePostProcessSettings::new(2.0, 0.0, false, 0.0);

Compatibility

Crate Version Bevy Version
0.4 0.15
0.3 0.14
0.1-0.2 0.13

Installation

crates.io

[dependencies]
bevy_outline_post_process = "0.4"

Using git URL in Cargo.toml

[dependencies.bevy_outline_post_process]
git = "https://git.exvacuum.dev/bevy_outline_post_process"

Usage

In main.rs:

use bevy::prelude::*;
use bevy_outline_post_process;

fn main() {
    App::new()
        .add_plugins((
            DefaultPlugins,
            bevy_outline_post_process::OutlinePostProcessPlugin,
        ))
        .run();
}

When spawning a camera:

commands.spawn((
    // Camera3d...
    bevy_outline_post_process::components::OutlinePostProcessSettings::new(2.0, 0.0, false, 0.0);
));

This effect will only run for cameras which contain this component.

License

This crate is licensed under your choice of 0BSD, Apache-2.0, or MIT license.

Dependencies

~41–74MB
~1.5M SLoC