A bevy plugin using nokhawa.
This plugin allows you to render Camera Capture at background.
use bevy::prelude::*;
use bevy_nokhwa::BevyNokhwaPlugin;
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugin(BevyNokhwaPlugin)
.add_startup_system(setup_camera)
.run();
}
fn setup_camera(
mut commands: Commands,
mut meshes: ResMut<Assets<Mesh>>,
mut materials: ResMut<Assets<StandardMaterial>>,
) {
commands
.spawn(Camera3dBundle {
camera_3d: Camera3d {
// IMPORTANT! Need to set clear_color to None
clear_color: ClearColorConfig::None,
..default()
},
transform: Transform::from_xyz(-2.0, 2.5, 5.0).looking_at(Vec3::ZERO, Vec3::Y),
..Default::default()
})
// auto find camera and use highest resolution
// .insert(BackgroundCamera::auto())
.insert(BackgroundCamera::new(
ApiBackend::Auto,
Some(CameraIndex::Index(0)),
Some(RequestedFormatType::Closest(CameraFormat::new(
Resolution::new(640, 480),
FrameFormat::MJPEG,
30,
))),
));
}
bevy | bevy_nokhwa |
---|---|
0.15 | 0.7 |
0.14 | 0.6 |
0.13 | 0.5 |
0.12 | 0.4 |
0.11 | 0.3 |
0.10 | 0.2 |
0.9 | 0.1 |
The project is under dual license MIT and Apache 2.0, so join to your hearts content, just remember the license agreements.
Yes this project is still very much WIP, so PRs are very welcome