//! Loads and renders a glTF file as a scene. use std::f32::consts::*; use bevy::{pbr::CascadeShadowConfig, prelude::*}; fn main() { App::new() .insert_resource(AmbientLight { color: Color::WHITE, brightness: 1.0 / 5.0f32, }) .add_plugins(DefaultPlugins) .add_startup_system(setup) .add_system(animate_light_direction) .run(); } fn setup(mut commands: Commands, asset_server: Res) { 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. cascade_shadow_config: CascadeShadowConfig::new(1, 1.1, 1.5, 0.3), ..default() }); commands.spawn(SceneBundle { scene: asset_server.load("models/FlightHelmet/FlightHelmet.gltf#Scene0"), ..default() }); } fn animate_light_direction( time: Res