Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use main readme for docs.rs #232

Merged
merged 4 commits into from
Sep 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 19 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ Want to jump right in? See the [quickstart guide](https://github.com/kaosat-dev/
## Features

* Useful if you want to use Blender as your Editor
* define Bevy components as custom properties in Blender with an UI tool to add & edit Bevy components, automatically export gltf blueprints & more in [Blender](./tools/blenvy/README.md)
* blueprints & levels system : turn your Blender collections into [gltf Blueprints](./crates/blenvy/README.md) for reuse inside levels that are just Blender scenes
* define Bevy components as custom properties in Blender with an UI tool to add & edit Bevy components, automatically export gltf blueprints & more in [Blender](https://github.com/kaosat-dev/Blenvy/tree/blenvy/tools/blenvy)
* blueprints & levels system : turn your Blender collections into [gltf Blueprints](https://github.com/kaosat-dev/Blenvy/tree/blenvy/crates/blenvy) for reuse inside levels that are just Blender scenes
* setup & tweak components in Blender Collections & override any of them in your collection instances if you want
* setup & tweak components for objects, meshes and materials as well !
* automatically load all assets for each blueprint (gltf files, manually added assets), with no setup required
Expand All @@ -39,42 +39,42 @@ Want to jump right in? See the [quickstart guide](https://github.com/kaosat-dev/
* minimal dependencies: Bevy, Serde & RON only!
* opensource

> If you were previously using the individual bevy_gltf_xxx crates & Blender add-ons please see the [migration guide](./Migration_guide.md)
> If you were previously using the individual bevy_gltf_xxx crates & Blender add-ons please see the [migration guide](https://github.com/kaosat-dev/Blenvy/blob/blenvy/Migration_guide.md)

## Crates

One crate to rule them all !

* [blenvy](./crates/blenvy/) This crate allows you to
* [blenvy](https://github.com/kaosat-dev/Blenvy/tree/blenvy/crates/blenvy) This crate allows you to
* define components direclty inside gltf files and instanciate/inject the components on the Bevy side.
* export your project's Bevy registry to json, in order to be able to generate custom component UIs on the Blender side in the Blender [blenvy](./tools/blenvy/README.md) add-on
* export your project's Bevy registry to json, in order to be able to generate custom component UIs on the Blender side in the Blender [blenvy](https://github.com/kaosat-dev/Blenvy/tree/blenvy/tools/blenvy) add-on
* define Blueprints/Prefabs for Bevy inside gltf files and spawn them in Bevy. With the ability to override and add components when spawning, efficient "level" loading etc
* the ability to save & load your game state in a relatively simple way, by leveraging the blueprint functionality to only save a minimal subset of dynamic data, seperating dynamic & static parts of levels etc.

OLD videos:
There is a [video tutorial/explanation](https://youtu.be/-lcScjQCA3c) if you want, or you can read the crate docs.
There is a [video tutorial/explanation](https://youtu.be/CgyNtwgYwdM) for this one too, or you can read the crate docs

The examples for the crate are [here](./examples/blenvy/)
The examples for the crate are [here](https://github.com/kaosat-dev/Blenvy/tree/blenvy/examples)

## Tools

### Blender: blenvy

* an all in one [Blender addon](./tools/blenvy/README.md) for the Blender side of the workflow:
* an all in one [Blender addon](https://github.com/kaosat-dev/Blenvy/tree/blenvy/tools/blenvy) for the Blender side of the workflow:
* allow easilly adding & editing Bevy components , using automatically generated UIs for each component
* automatically exports your level/world from Blender to gltf whenever you save your Blend file
* automatically export your [Gltf blueprints](./crates/blenvy/README.md) & assets
* automatically export your [Gltf blueprints](https://github.com/kaosat-dev/Blenvy/tree/blenvy/crates/blenvy) & assets

## Examples

you can find all examples, [here](./examples/blenvy)
you can find all examples, [here](https://github.com/kaosat-dev/Blenvy/tree/blenvy/examples)

* [components](./examples/blenvy/components/) use of ```components``` only, to spawn entities with components defined inside gltf files
* [blueprints](./examples/blenvy/blueprints/) use of ```blueprints``` and ```levels``` to spawn a level and then populate it with entities coming from different gltf files, live (at runtime) spawning of entities etc
* [animation](./examples/blenvy/animation/) how to use and trigger animations from gltf files
* [save_load](./examples/blenvy/save_load/) how to save & load levels
* [demo](./examples/demo/) a full demo showcasing all features , including physics, animation
* [`components`](https://github.com/kaosat-dev/Blenvy/tree/blenvy/examples/components/) use of ```components``` only, to spawn entities with components defined inside gltf files
* [`blueprints`](https://github.com/kaosat-dev/Blenvy/tree/blenvy/examples/blueprints/) use of ```blueprints``` and ```levels``` to spawn a level and then populate it with entities coming from different gltf files, live (at runtime) spawning of entities etc
* [`animation`](https://github.com/kaosat-dev/Blenvy/tree/blenvy/examples/animation/) how to use and trigger animations from gltf files
* [`save_load`](https://github.com/kaosat-dev/Blenvy/tree/blenvy/examples/save_load/) how to save & load levels
* [`demo`](https://github.com/kaosat-dev/Blenvy/tree/blenvy/examples/demo/) a full demo showcasing all features , including physics, animation

## Workflow

Expand All @@ -84,12 +84,12 @@ The workflow goes as follows (once you got your Bevy code setup)

![component registration](https://github.com/kaosat-dev/Blenvy/blob/main/docs/component_registration.png)

* setup & then use the Blenvy [Bevy crate](./crates/blenvy/README.md)
* setup & then use the Blenvy [Blender add-on](./tools/blenvy/README.md)
* setup & then use the Blenvy [Bevy crate](https://github.com/kaosat-dev/Blenvy/tree/blenvy/crates/blenvy)
* setup & then use the Blenvy [Blender add-on](https://github.com/kaosat-dev/Blenvy/tree/blenvy/tools/blenvy)
* iterate
* have fun !

* then add your components to objects in Blender **with a nice UI** see [here](./README-workflow-ui.md) for more details
* then add your components to objects in Blender **with a nice UI** see [here](https://github.com/kaosat-dev/Blenvy/blob/blenvy/README-workflow-ui.md) for more details

See the [quickstart](https://github.com/kaosat-dev/Blenvy/blob/main/docs/quickstart/README.md) for a full step-by-step guide.

Expand Down Expand Up @@ -119,5 +119,5 @@ Thanks to all the contributors helping out with this project ! Big kudos to you,

This repo, all its code, contents & assets is Dual-licensed under either of

* Apache License, Version 2.0, ([LICENSE-APACHE](./LICENSE_APACHE.md) or <https://www.apache.org/licenses/LICENSE-2.0>)
* MIT license ([LICENSE-MIT](./LICENSE_MIT.md) or <https://opensource.org/licenses/MIT>)
* Apache License, Version 2.0, ([LICENSE-APACHE](https://github.com/kaosat-dev/Blenvy/blob/blenvy/LICENSE_APACHE.md) or <https://www.apache.org/licenses/LICENSE-2.0>)
* MIT license ([LICENSE-MIT](https://github.com/kaosat-dev/Blenvy/blob/blenvy/LICENSE_MIT.mdd) or <https://opensource.org/licenses/MIT>)
2 changes: 2 additions & 0 deletions crates/blenvy/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#![doc = include_str!("../../../README.md")]

use bevy::{render::primitives::Aabb, utils::HashMap};
use std::path::PathBuf;

Expand Down
Loading