bevy_nokhwa 0.5.0

Nokhwa plugin for the bevy game engine
Documentation

bevy_nokhwa


A bevy plugin using nokhawa.

This plugin allows you to render Camera Capture at background.

Showcase

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,
            ))),
        ));
}

Support

Bevy tracking

bevy bevy_nokhwa
0.13 0.5.X
0.12 0.4.X
0.11 0.3.X
0.10 0.2.X
0.9 0.1.X

Licensing

The project is under dual license MIT and Apache 2.0, so join to your hearts content, just remember the license agreements.

Contributing

Yes this project is still very much WIP, so PRs are very welcome