bevy_nokhwa

Crates.iobevy_nokhwa
lib.rsbevy_nokhwa
version0.7.0
sourcesrc
created_at2023-01-26 16:22:07.947384
updated_at2024-12-01 11:43:09.681759
descriptionNokhwa plugin for the bevy game engine
homepagehttps://github.com/foxzool/bevy_nokhwa
repositoryhttps://github.com/foxzool/bevy_nokhwa
max_upload_size
id768668
size168,259
ZoOL (foxzool)

documentation

https://docs.rs/bevy_nokhwa

README

crates.io MIT/Apache 2.0 crates.io CI Documentation

bevy_nokhwa


preview

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.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

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

Commit count: 21

cargo fmt