bevy/Cargo.toml
François fbe7a49d5b Gltf animations (#3751)
# Objective

- Load informations for animations from GLTF
- Make experimenting on animations easier

# Non Objective

- Implement a solutions for all animations in Bevy. This would need a discussion / RFC. The goal here is only to have the information available to try different APIs

## Solution

- Load animations with a representation close to the GLTF spec
- Add an example to display animations. There is an animation driver in the example, not in Bevy code, to show how it can be used. The example is cycling between examples from the official gltf sample ([AnimatedTriangle](https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/AnimatedTriangle), [BoxAnimated](https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/BoxAnimated)), and one from me with some cases not present in the official examples.


https://user-images.githubusercontent.com/8672791/150696656-073403f0-d921-43b6-beaf-099c7aee16ed.mp4




Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2022-03-22 02:26:34 +00:00

604 lines
13 KiB
TOML

[package]
name = "bevy"
version = "0.7.0-dev"
edition = "2021"
categories = ["game-engines", "graphics", "gui", "rendering"]
description = "A refreshingly simple data-driven game engine and app framework"
exclude = ["assets/**/*", "tools/**/*", ".github/**/*", "crates/**/*"]
homepage = "https://bevyengine.org"
keywords = ["game", "engine", "gamedev", "graphics", "bevy"]
license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/bevyengine/bevy"
[workspace]
exclude = ["benches", "crates/bevy_ecs_compile_fail_tests"]
members = ["crates/*", "examples/ios", "tools/ci", "errors"]
[features]
default = [
"bevy_audio",
"bevy_gilrs",
"bevy_winit",
"render",
"png",
"hdr",
"vorbis",
"x11",
"filesystem_watcher",
]
# Force dynamic linking, which improves iterative compile times
dynamic = ["bevy_dylib"]
# Rendering support
render = [
"bevy_internal/bevy_core_pipeline",
"bevy_internal/bevy_pbr",
"bevy_internal/bevy_gltf",
"bevy_internal/bevy_render",
"bevy_internal/bevy_sprite",
"bevy_internal/bevy_text",
"bevy_internal/bevy_ui",
]
# Optional bevy crates
bevy_audio = ["bevy_internal/bevy_audio"]
bevy_core_pipeline = ["bevy_internal/bevy_core_pipeline"]
bevy_dynamic_plugin = ["bevy_internal/bevy_dynamic_plugin"]
bevy_gilrs = ["bevy_internal/bevy_gilrs"]
bevy_gltf = ["bevy_internal/bevy_gltf"]
bevy_pbr = ["bevy_internal/bevy_pbr"]
bevy_render = ["bevy_internal/bevy_render"]
bevy_sprite = ["bevy_internal/bevy_sprite"]
bevy_text = ["bevy_internal/bevy_text"]
bevy_ui = ["bevy_internal/bevy_ui"]
bevy_winit = ["bevy_internal/bevy_winit"]
# Tracing features
trace_chrome = ["trace", "bevy_internal/trace_chrome"]
trace_tracy = ["trace", "bevy_internal/trace_tracy"]
trace = ["bevy_internal/trace"]
wgpu_trace = ["bevy_internal/wgpu_trace"]
# Image format support for texture loading (PNG and HDR are enabled by default)
hdr = ["bevy_internal/hdr"]
png = ["bevy_internal/png"]
tga = ["bevy_internal/tga"]
jpeg = ["bevy_internal/jpeg"]
bmp = ["bevy_internal/bmp"]
basis-universal = ["bevy_internal/basis-universal"]
dds = ["bevy_internal/dds"]
ktx2 = ["bevy_internal/ktx2"]
# For ktx2 supercompression
zlib = ["bevy_internal/zlib"]
zstd = ["bevy_internal/zstd"]
# Audio format support (vorbis is enabled by default)
flac = ["bevy_internal/flac"]
mp3 = ["bevy_internal/mp3"]
vorbis = ["bevy_internal/vorbis"]
wav = ["bevy_internal/wav"]
# Enable watching file system for asset hot reload
filesystem_watcher = ["bevy_internal/filesystem_watcher"]
serialize = ["bevy_internal/serialize"]
# Display server protocol support (X11 is enabled by default)
wayland = ["bevy_internal/wayland"]
x11 = ["bevy_internal/x11"]
# Enable rendering of font glyphs using subpixel accuracy
subpixel_glyph_atlas = ["bevy_internal/subpixel_glyph_atlas"]
# Enable systems that allow for automated testing on CI
bevy_ci_testing = ["bevy_internal/bevy_ci_testing"]
# Enable the "debug asset server" for hot reloading internal assets
debug_asset_server = ["bevy_internal/debug_asset_server"]
[dependencies]
bevy_dylib = { path = "crates/bevy_dylib", version = "0.7.0-dev", default-features = false, optional = true }
bevy_internal = { path = "crates/bevy_internal", version = "0.7.0-dev", default-features = false }
[target.'cfg(target_arch = "wasm32")'.dependencies]
bevy_internal = { path = "crates/bevy_internal", version = "0.7.0-dev", default-features = false, features = [
"webgl",
] }
[dev-dependencies]
anyhow = "1.0.4"
rand = "0.8.0"
ron = "0.7.0"
serde = { version = "1", features = ["derive"] }
bytemuck = "1.7"
# Needed to poll Task examples
futures-lite = "1.11.3"
crossbeam-channel = "0.5.0"
[[example]]
name = "hello_world"
path = "examples/hello_world.rs"
# 2D Rendering
[[example]]
name = "contributors"
path = "examples/2d/contributors.rs"
[[example]]
name = "many_sprites"
path = "examples/2d/many_sprites.rs"
[[example]]
name = "move_sprite"
path = "examples/2d/move_sprite.rs"
[[example]]
name = "rotation"
path = "examples/2d/rotation.rs"
[[example]]
name = "mesh2d"
path = "examples/2d/mesh2d.rs"
[[example]]
name = "mesh2d_manual"
path = "examples/2d/mesh2d_manual.rs"
[[example]]
name = "rect"
path = "examples/2d/rect.rs"
[[example]]
name = "sprite"
path = "examples/2d/sprite.rs"
[[example]]
name = "sprite_flipping"
path = "examples/2d/sprite_flipping.rs"
[[example]]
name = "sprite_sheet"
path = "examples/2d/sprite_sheet.rs"
[[example]]
name = "text2d"
path = "examples/2d/text2d.rs"
[[example]]
name = "texture_atlas"
path = "examples/2d/texture_atlas.rs"
# 3D Rendering
[[example]]
name = "3d_scene"
path = "examples/3d/3d_scene.rs"
[[example]]
name = "lighting"
path = "examples/3d/lighting.rs"
[[example]]
name = "load_gltf"
path = "examples/3d/load_gltf.rs"
[[example]]
name = "manual_gltf_animation_player"
path = "examples/3d/manual_gltf_animation_player.rs"
[[example]]
name = "many_cubes"
path = "examples/3d/many_cubes.rs"
[[example]]
name = "msaa"
path = "examples/3d/msaa.rs"
[[example]]
name = "orthographic"
path = "examples/3d/orthographic.rs"
[[example]]
name = "parenting"
path = "examples/3d/parenting.rs"
[[example]]
name = "pbr"
path = "examples/3d/pbr.rs"
[[example]]
name = "shadow_biases"
path = "examples/3d/shadow_biases.rs"
[[example]]
name = "shadow_caster_receiver"
path = "examples/3d/shadow_caster_receiver.rs"
[[example]]
name = "spherical_area_lights"
path = "examples/3d/spherical_area_lights.rs"
[[example]]
name = "texture"
path = "examples/3d/texture.rs"
[[example]]
name = "render_to_texture"
path = "examples/3d/render_to_texture.rs"
[[example]]
name = "update_gltf_scene"
path = "examples/3d/update_gltf_scene.rs"
[[example]]
name = "wireframe"
path = "examples/3d/wireframe.rs"
# Application
[[example]]
name = "custom_loop"
path = "examples/app/custom_loop.rs"
[[example]]
name = "drag_and_drop"
path = "examples/app/drag_and_drop.rs"
[[example]]
name = "empty"
path = "examples/app/empty.rs"
[[example]]
name = "empty_defaults"
path = "examples/app/empty_defaults.rs"
[[example]]
name = "headless"
path = "examples/app/headless.rs"
[[example]]
name = "logs"
path = "examples/app/logs.rs"
[[example]]
name = "plugin"
path = "examples/app/plugin.rs"
[[example]]
name = "plugin_group"
path = "examples/app/plugin_group.rs"
[[example]]
name = "return_after_run"
path = "examples/app/return_after_run.rs"
[[example]]
name = "thread_pool_resources"
path = "examples/app/thread_pool_resources.rs"
[[example]]
name = "headless_defaults"
path = "examples/app/headless_defaults.rs"
[[example]]
name = "without_winit"
path = "examples/app/without_winit.rs"
# Assets
[[example]]
name = "asset_loading"
path = "examples/asset/asset_loading.rs"
[[example]]
name = "custom_asset"
path = "examples/asset/custom_asset.rs"
[[example]]
name = "custom_asset_io"
path = "examples/asset/custom_asset_io.rs"
[[example]]
name = "hot_asset_reloading"
path = "examples/asset/hot_asset_reloading.rs"
# Async Tasks
[[example]]
name = "async_compute"
path = "examples/async_tasks/async_compute.rs"
[[example]]
name = "external_source_external_thread"
path = "examples/async_tasks/external_source_external_thread.rs"
# Audio
[[example]]
name = "audio"
path = "examples/audio/audio.rs"
[[example]]
name = "audio_control"
path = "examples/audio/audio_control.rs"
# Diagnostics
[[example]]
name = "log_diagnostics"
path = "examples/diagnostics/log_diagnostics.rs"
[[example]]
name = "custom_diagnostic"
path = "examples/diagnostics/custom_diagnostic.rs"
# ECS (Entity Component System)
[[example]]
name = "ecs_guide"
path = "examples/ecs/ecs_guide.rs"
[[example]]
name = "component_change_detection"
path = "examples/ecs/component_change_detection.rs"
[[example]]
name = "custom_query_param"
path = "examples/ecs/custom_query_param.rs"
[[example]]
name = "event"
path = "examples/ecs/event.rs"
[[example]]
name = "fixed_timestep"
path = "examples/ecs/fixed_timestep.rs"
[[example]]
name = "generic_system"
path = "examples/ecs/generic_system.rs"
[[example]]
name = "hierarchy"
path = "examples/ecs/hierarchy.rs"
[[example]]
name = "iter_combinations"
path = "examples/ecs/iter_combinations.rs"
[[example]]
name = "parallel_query"
path = "examples/ecs/parallel_query.rs"
[[example]]
name = "removal_detection"
path = "examples/ecs/removal_detection.rs"
[[example]]
name = "startup_system"
path = "examples/ecs/startup_system.rs"
[[example]]
name = "state"
path = "examples/ecs/state.rs"
[[example]]
name = "system_chaining"
path = "examples/ecs/system_chaining.rs"
[[example]]
name = "system_param"
path = "examples/ecs/system_param.rs"
[[example]]
name = "system_sets"
path = "examples/ecs/system_sets.rs"
[[example]]
name = "timers"
path = "examples/ecs/timers.rs"
# Games
[[example]]
name = "alien_cake_addict"
path = "examples/game/alien_cake_addict.rs"
[[example]]
name = "breakout"
path = "examples/game/breakout.rs"
[[example]]
name = "game_menu"
path = "examples/game/game_menu.rs"
# Input
[[example]]
name = "char_input_events"
path = "examples/input/char_input_events.rs"
[[example]]
name = "gamepad_input"
path = "examples/input/gamepad_input.rs"
[[example]]
name = "gamepad_input_events"
path = "examples/input/gamepad_input_events.rs"
[[example]]
name = "keyboard_input"
path = "examples/input/keyboard_input.rs"
[[example]]
name = "keyboard_modifiers"
path = "examples/input/keyboard_modifiers.rs"
[[example]]
name = "keyboard_input_events"
path = "examples/input/keyboard_input_events.rs"
[[example]]
name = "mouse_input"
path = "examples/input/mouse_input.rs"
[[example]]
name = "mouse_input_events"
path = "examples/input/mouse_input_events.rs"
[[example]]
name = "mouse_grab"
path = "examples/input/mouse_grab.rs"
[[example]]
name = "touch_input"
path = "examples/input/touch_input.rs"
[[example]]
name = "touch_input_events"
path = "examples/input/touch_input_events.rs"
# Reflection
[[example]]
name = "reflection"
path = "examples/reflection/reflection.rs"
[[example]]
name = "generic_reflection"
path = "examples/reflection/generic_reflection.rs"
[[example]]
name = "reflection_types"
path = "examples/reflection/reflection_types.rs"
[[example]]
name = "trait_reflection"
path = "examples/reflection/trait_reflection.rs"
# Scene
[[example]]
name = "scene"
path = "examples/scene/scene.rs"
# Shaders
[[example]]
name = "custom_vertex_attribute"
path = "examples/shader/custom_vertex_attribute.rs"
[[example]]
name = "shader_defs"
path = "examples/shader/shader_defs.rs"
[[example]]
name = "shader_material"
path = "examples/shader/shader_material.rs"
[[example]]
name = "shader_material_screenspace_texture"
path = "examples/shader/shader_material_screenspace_texture.rs"
[[example]]
name = "shader_material_glsl"
path = "examples/shader/shader_material_glsl.rs"
[[example]]
name = "shader_instancing"
path = "examples/shader/shader_instancing.rs"
[[example]]
name = "animate_shader"
path = "examples/shader/animate_shader.rs"
[[example]]
name = "compute_shader_game_of_life"
path = "examples/shader/compute_shader_game_of_life.rs"
# Tools
[[example]]
name = "bevymark"
path = "examples/tools/bevymark.rs"
[[example]]
name = "scene_viewer"
path = "examples/tools/scene_viewer.rs"
# Transforms
[[example]]
name = "global_vs_local_translation"
path = "examples/transforms/global_vs_local_translation.rs"
[[example]]
name = "3d_rotation"
path = "examples/transforms/3d_rotation.rs"
[[example]]
name = "scale"
path = "examples/transforms/scale.rs"
[[example]]
name = "transform"
path = "examples/transforms/transform.rs"
[[example]]
name = "translation"
path = "examples/transforms/translation.rs"
# UI (User Interface)
[[example]]
name = "button"
path = "examples/ui/button.rs"
[[example]]
name = "font_atlas_debug"
path = "examples/ui/font_atlas_debug.rs"
[[example]]
name = "text"
path = "examples/ui/text.rs"
[[example]]
name = "text_debug"
path = "examples/ui/text_debug.rs"
[[example]]
name = "ui"
path = "examples/ui/ui.rs"
# Window
[[example]]
name = "clear_color"
path = "examples/window/clear_color.rs"
[[example]]
name = "low_power"
path = "examples/window/low_power.rs"
[[example]]
name = "multiple_windows"
path = "examples/window/multiple_windows.rs"
[[example]]
name = "scale_factor_override"
path = "examples/window/scale_factor_override.rs"
[[example]]
name = "transparent_window"
path = "examples/window/transparent_window.rs"
[[example]]
name = "window_settings"
path = "examples/window/window_settings.rs"
# Android
[[example]]
crate-type = ["cdylib"]
name = "android"
path = "examples/android/android.rs"
[package.metadata.android]
apk_label = "Bevy Example"
assets = "assets"
res = "assets/android-res"
icon = "@mipmap/ic_launcher"
build_targets = ["aarch64-linux-android", "armv7-linux-androideabi"]
min_sdk_version = 16
target_sdk_version = 29
# Stress Tests
[[example]]
name = "transform_hierarchy"
path = "examples/stress_tests/transform_hierarchy.rs"