6 releases (breaking)

0.5.0 Feb 20, 2024
0.4.0 Nov 6, 2023
0.3.0 Jul 10, 2023
0.2.0 Mar 13, 2023
0.1.1 Jan 30, 2023

#48 in Rendering

39 downloads per month

MIT/Apache

39KB
498 lines

bevy_nokhwa

link to crates.io link to docs.rs link to license downloads/link to crates.io stars/github repo github actions tracking bevy release branch


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

Dependencies

~43–85MB
~1.5M SLoC