Files
bevy-mocap/examples/simple_example.rs
T

49 lines
1.5 KiB
Rust

use bevy::{pbr::{CascadeShadowConfigBuilder, DirectionalLightShadowMap}, prelude::*};
use bevy_inspector_egui::quick::WorldInspectorPlugin;
use dexterous_developer::{hot_bevy_main, InitialPlugins};
#[hot_bevy_main]
pub fn bevy_main(initial_plugins: impl InitialPlugins) {
App::new()
.add_plugins(initial_plugins.initialize::<DefaultPlugins>())
.add_plugins(WorldInspectorPlugin::new())
.insert_resource(DirectionalLightShadowMap { size: 4096 })
.add_systems(Startup, setup)
.run();
}
fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
commands.spawn(
Camera3dBundle {
transform: Transform::from_xyz(0.7, 0.7, 1.0)
.looking_at(Vec3::new(0.0, 0.3, 0.0), Vec3::Y),
..default()
}
);
commands.spawn(DirectionalLightBundle {
directional_light: DirectionalLight {
shadows_enabled: true,
..default()
},
// This is a relatively small scene, so use tighter shadow
// cascade bounds than the default for better quality.
// We also adjusted the shadow map to be larger since we're
// only using a single cascade.
cascade_shadow_config: CascadeShadowConfigBuilder {
num_cascades: 1,
maximum_distance: 1.6,
..default()
}
.into(),
..default()
});
commands.spawn(SceneBundle {
scene: asset_server.load("example.gltf#Scene0"),
..default()
});
}