#wavefront-obj #bevy #obj #engine #mesh #assets #loader

bevy_obj

A Wavefront .obj mesh asset loader plugin for the Bevy engine

17 releases (breaking)

0.13.0 Feb 18, 2024
0.12.0 Nov 5, 2023
0.11.0 Jul 10, 2023
0.10.0 Mar 6, 2023
0.3.0 Nov 3, 2020

#125 in Game dev

Download history 60/week @ 2023-12-06 51/week @ 2023-12-13 81/week @ 2023-12-20 53/week @ 2023-12-27 67/week @ 2024-01-03 204/week @ 2024-01-10 140/week @ 2024-01-17 79/week @ 2024-01-24 74/week @ 2024-01-31 33/week @ 2024-02-07 347/week @ 2024-02-14 349/week @ 2024-02-21 225/week @ 2024-02-28 152/week @ 2024-03-06 125/week @ 2024-03-13 68/week @ 2024-03-20

629 downloads per month
Used in 5 crates (3 directly)

MIT license

34KB
325 lines

bevy_obj

Crates.io

A Wavefront .obj mesh asset loader plugin for the Bevy engine

Usage:

Add the crate as a dependency:

Major and Minor version number should match bevy version

[dependencies]
bevy = "0.11"
bevy_obj = "0.11"

Add the plugin:

use bevy::prelude::*;
use bevy_obj::ObjPlugin;

fn main() {
    App::new()
        .add_plugins((DefaultPlugins, ObjPlugin))
        .run();
}

Load the .obj file as a single mesh:

fn example_startup_system(asset_server: Res<AssetServer>) {
    let mesh_handle = asset_server.load("example.obj");
}

Scene based loading

If you prefer loading .obj files as a scene with (limited) MTL material support, add the scene feature

[dependencies]
bevy = "0.11"
bevy_obj = { version = "0.11", features = ["scene"] }

Dependencies

~37–79MB
~1M SLoC