bevy_mod_outline
bevy_mod_outline copied to clipboard
Incomplete outline for annulus extrusion
Problem
Adding an Extrusion
that uses an Annulus
and generating its outline normals results in one edge missing from the outline.
Result
Minimal example
use bevy::prelude::*;
use bevy_mod_outline::*;
fn main() {
App::new()
.add_plugins((
DefaultPlugins,
OutlinePlugin,
AutoGenerateOutlineNormalsPlugin,
))
.add_systems(Startup, setup)
.run();
}
fn setup(
mut commands: Commands,
mut meshes: ResMut<Assets<Mesh>>,
mut materials: ResMut<Assets<StandardMaterial>>,
) {
// Add cube with generated outline normals
let annulus = Annulus::new(1.0, 1.2);
let mut ring_mesh = Extrusion::new(annulus, 1.0).mesh().resolution(16).build();
ring_mesh.generate_outline_normals().unwrap();
commands
.spawn(PbrBundle {
mesh: meshes.add(ring_mesh),
material: materials.add(StandardMaterial::from(Color::srgb(0.1, 0.1, 0.9))),
..default()
})
.insert(OutlineBundle {
outline: OutlineVolume {
visible: true,
colour: Color::srgb(0.0, 1.0, 0.0),
width: 5.0,
},
..default()
});
commands.spawn(Camera3dBundle {
transform: Transform::from_xyz(0.0, 0.0, 5.0).looking_at(Vec3::ZERO, Vec3::Y),
..default()
});
}