Crate bevy_mod_outline

source ·
Expand description

This crate provides a Bevy plugin, OutlinePlugin, and associated components for rendering outlines around meshes using the vertex extrusion method.

Outlines are rendered in a seperate pass following the main 3D pass. The effect of this pass is to present the outlines in depth sorted order according to the model translation of each mesh. This ensures that outlines are not clipped by non-outline geometry.

The OutlineVolume component will, by itself, cover the original object entirely with the outline colour. The OutlineStencil component must also be added to prevent the body of an object from being filled it. This must be added to any entity which needs to appear on top of an outline.

The OutlineMode component specifies the rendering method. Outlines may be flattened into a plane in order to further avoid clipping, or left in real space.

The OutlineBundle and OutlineStencilBundle bundles can be used to add the right components, including the required ComputedOutline component. Outlines can be inherited from the parent via the InheritOutline component and InheritOutlineBundle.

Vertex extrusion works best with meshes that have smooth surfaces. To avoid visual artefacts when outlining meshes with hard edges, see the OutlineMeshExt::generate_outline_normals function and the AutoGenerateOutlineNormalsPlugin.

Structs§

Enums§

Constants§

Traits§