bevy_chair 0.9.1

Chair mesh asset loader plugin
Documentation
//! bevy_obj's example of spinning object except chair and not obj

use bevy::prelude::*;
use bevy_chair::*;

fn main() {
	App::new()
		.add_plugins(DefaultPlugins)
		.add_plugin(ChairPlugin)
		.add_startup_system(setup)
		.add_system(spin)
		.run();
}

fn setup(
	mut commands: Commands,
	assets: Res<AssetServer>,
	mut materials: ResMut<Assets<StandardMaterial>>
) {
	// Spawn a spinning cube
	commands.spawn((
		PbrBundle {
			mesh: assets.load("chair.chr"),
			material: materials.add(StandardMaterial {
				base_color_texture: Some(assets.load("texture.png")),
				..default()
			}),
			..default()
		},
		Spin
	));

	// Spawn a light and the camera
	commands.spawn(PointLightBundle {
		transform: Transform::from_translation(Vec3::new(3.0, 4.0, 3.0)),
		..default()
	});
	commands.spawn(Camera3dBundle {
		transform: Transform::from_translation(Vec3::new(1.5, 2.7, 4.0))
			.looking_at(Vec3::new(0.0, 0.0, 0.0), Vec3::Y),
		..default()
	});
}

#[derive(Component)]
struct Spin;

fn spin(time: Res<Time>, mut query: Query<&mut Transform, With<Spin>>) {
	for mut transform in query.iter_mut() {
		transform.rotate_local_y(0.1 * time.delta_seconds());
	}
}