pub fn set_up_track(
mut commands: Commands,
asset_server: Res<AssetServer>,
mut meshes: ResMut<Assets<Mesh>>,
mut images: ResMut<Assets<Image>>,
mut mat: ResMut<Assets<StandardMaterial>>,
) {
let texture_handle = asset_server.load_with_settings("checkerboard_albedo.png", |s: &mut _| {
*s = ImageLoaderSettings {
sampler: ImageSampler::Descriptor(ImageSamplerDescriptor {
// rewriting mode to repeat image,
address_mode_u: ImageAddressMode::Repeat,
address_mode_v: ImageAddressMode::Repeat,
..default()
}),
..default()
}
});
let mut r = thread_rng();
let mut curve_points = vec![];
for _ in 0..10 {
let point = vec3(
(-0.5 + r.gen::<f32>()) * 200.0,
(-0.5 + r.gen::<f32>()) * 200.0,
(-0.5 + r.gen::<f32>()) * 200.0,
);
curve_points.push(point);
}
let track = Track::new(curve_points, 1.0, 16, 200);