Giter Club home page Giter Club logo

bevy_vrm's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bevy_vrm's Issues

error[B0002] when attempting to run load_vrm example

I have a brand new binary project called bevy_example
Dependencies
bevy = "0.13.0"
bevy_vrm = "0.0.8"

I have replaced main.rs with the code written in the load_vrm example.
I have changed the asset directory path to point to asset directory

It compiles fine, but exits imminently with an error in draw_springbones

│[m@jahl bevy_example]$ cargo run                                                                                                                                                                                                                                               │
│    Finished dev [unoptimized + debuginfo] target(s) in 0.14s                                                                                                                                                                                                                  │
│     Running `target/debug/bevy_example`                                                                                                                                                                                                                                       │
│2024-03-09T21:37:05.727246Z  INFO bevy_winit::system: Creating new window "App" (0v1)                                                                                                                                                                                          │
│2024-03-09T21:37:05.727802Z  INFO log: Guessed window scale factor: 1                                                                                                                                                                                                          │
│2024-03-09T21:37:05.875800Z  INFO bevy_render::renderer: AdapterInfo { name: "AMD Radeon RX 5600M (RADV NAVI10)", vendor: 4098, device: 29471, device_type: DiscreteGpu, driver: "radv", driver_info: "Mesa 24.0.2-manjaro1.1", backend: Vulkan }                              │
│2024-03-09T21:37:06.364992Z  INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "Linux 23.1.3 Manjaro Linux", kernel: "6.6.19-1-MANJARO", cpu: "AMD Ryzen 7 4800H with Radeon Graphics", core_count: "8", memory: "7.1 GiB" }             │
│thread 'main' panicked at /home/m/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.13.0/src/system/system_param.rs:542:13:                                                                                                                                      │
│error[B0002]: ResMut<bevy_gizmos::config::GizmoConfigStore> in system bevy_example::draw_spring_bones conflicts with a previous Res<bevy_gizmos::config::GizmoConfigStore> access. Consider removing the duplicate access.                                                     │
│note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace                                                                                                                                                                                                  │
│Encountered a panic in system `bevy_app::main_schedule::Main::run_main`!  

However if I comment the 3 lines dealing with the config it launches okay, just without the change in the config

Read custom extensions

Alright so turns out this won't be quite as easy as I was hoping.

Bevy doesn't provide a good way to access custom glTF extensions, because the underlying gltf crate doesn't either (see gltf-rs/gltf#231).

Soooo I think we either have to:

  1. Use a different glTF loader (such as https://github.com/expenses/goth-gltf/) and not make use of the built in bevy loader

or

  1. Use the built in loader, then add a step after where we load the model a second time (with a different loader) and extract the VRM data

I think option 2 is best. It is less efficient as we have to load the model twice, but I don't think it make sense to maintain a second glTF loading pipeline when we already have one in bevy.

Eventually we can work on getting custom extensions supported in gltf, then in bevy, but for the short term I'll try option 2.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.