14个版本 (5个破坏性更新)
0.6.0 | 2024年7月18日 |
---|---|
0.5.1 | 2024年3月18日 |
0.4.0 | 2024年3月4日 |
0.3.2 | 2024年2月19日 |
0.1.3 | 2023年9月29日 |
#684 in 游戏开发
每月476次下载
用于 3 个Crate(2个直接使用)
26KB
344 行
bevy_gltf_components(已弃用,改为Blenvy)
bevy_gltf_components已弃用,改为其继任者Blenvy,它是Blenvy项目的一部分。不会为Bevy bevy_gltf_components进行进一步的开发或维护。有关背景信息,请参阅#194。
此crate允许您在gltf文件中直接定义Bevy组件。
用法
重要 : 处理gltf文件的插件在更新阶段运行,因此如果您在设置(the additional components will not show up)中从gltf中生成场景,则不能直接使用这些组件
请参阅
- 示例
- 或使用
bevy_asset_loader
进行可靠的文件预加载,因为此crate不处理加载您的资源。 - 或者使用基于此crate功能的
bevy_gltf_blueprints
crate,它允许您直接从基于gltf的蓝图生成实体。
以下是一个最小使用示例
# Cargo.toml
[dependencies]
bevy="0.14"
bevy_gltf_components = { version = "0.6"}
//too barebones of an example to be meaningfull, please see https://github.com/kaosat-dev/Blender_bevy_components_workflow/bevy_gltf_components/examples/basic for a real example
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugin(ComponentsFromGltfPlugin::default())
.add_system(spawn_level)
.run();
}
fn spawn_level(
asset_server: Res<AssetServer>,
mut commands: bevy::prelude::Commands,
keycode: Res<Input<KeyCode>>,
){
if keycode.just_pressed(KeyCode::Return) {
commands.spawn(SceneBundle {
scene: asset_server.load("basic/models/level1.glb#Scene0"),
transform: Transform::from_xyz(2.0, 0.0, -5.0),
..Default::default()
});
}
}
安装
将以下内容添加到您的[dependencies]
部分中的Cargo.toml
bevy_gltf_components = "0.6"
或使用cargo add
cargo add bevy_gltf_components
配置
从版本0.3开始,此插件是可配置的 使用默认配置
ComponentsFromGltfPlugin::default()
或禁用传统模式:(默认启用)
ComponentsFromGltfPlugin{legacy_mode: false}
您需要禁用旧模式才能使用bevy_components
Blender 插件以及bevy_registry_export crate
!因为它会创建以真正的 ron 文件格式写入的自定义属性,而不是简化的版本(旧模式中的版本)
注意:旧模式支持将在未来版本中取消,默认行为将是无旧模式
SystemSet
系统的顺序非常重要!
例如,要将您的代理组件(无法/不需要在 gltf 文件中使用真实组件时的替代组件)替换为实际组件,
这应该在 之后 注入 gltf 文件中的组件发生,
因此 bevy_gltf_components
为此提供了一个 SystemSet:GltfComponentsSet
通常,系统的顺序应该是
bevy_gltf_components (GltfComponentsSet::Injection) => replace_proxies
附加功能
- 截至版本 0.5,此包还包括对 gltf 文件中灯光的自动处理,以尽可能接近 Blender 的 eevee 渲染
- BlenderLightShadows(由 gltf_auto_export Blender 插件自动生成)允许您在 Blender 中切换灯光的阴影开/关,并在 Bevy 中具有匹配的行为
- BlenderBackgroundShader(也称为背景颜色)也在 Bevy 端自动设置
- BlenderShadowSettings 将 bevy 端的 cascade_size 设置为与 Blender 中配置的匹配
如果您的 gltf 文件中存在这些组件,则此包将自动处理它们;否则将忽略它们。
示例
兼容的 Bevy 版本
主分支与最新的 Bevy 版本兼容,而 bevy_main
分支试图跟踪 Bevy 的 main
分支(欢迎更新跟踪提交的 PR)。
bevy_gltf_components
版本的兼容性
bevy_gltf_components |
bevy |
---|---|
0.6 |
0.14 |
0.5 |
0.13 |
0.2 - 0.4 |
0.12 |
0.1 |
0.11 |
分支 main |
0.13 |
分支 bevy_main |
main |
许可证
此包、所有代码、内容和资产均采用以下任一许可证的双重许可
- Apache License,版本 2.0,(LICENSE-APACHE 或 http://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 https://opensource.org/licenses/MIT)
依赖项
~37–77MB
~1.5M SLoC