4 个版本
| 0.2.1 | 2022年11月13日 | 
|---|---|
| 0.2.0 | 2022年8月20日 | 
| 0.1.1 | 2022年5月16日 | 
| 0.1.0 | 2022年4月26日 | 
#1593 在 游戏开发
1.5MB
810 行
包含 (WOFF 字体,400KB) NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2,(WOFF 字体,135KB) FiraSans-Medium-8f9a781e4970d388.woff2,(WOFF 字体,130KB) FiraSans-Regular-018c141bf0843ffd.woff2,(WOFF 字体,82KB) SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2,(WOFF 字体,77KB) SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2,(WOFF 字体,45KB) SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2 以及 3 个其他文件。
bevy-rrise
什么是 bevy-rrise?
它是为 Bevy 引擎而设计的插件,用于集成 Wwise 音频引擎。
它依赖于我的 Rrise 包,用于 Wwise 的 Rust 绑定。
欢迎提交PR!
使用方法
首先,查看Rrise的系统要求:它们与 bevy-rrise 相同!
请务必查看示例,以了解如何使用此包的最佳方式。要编译和运行示例,您首先需要生成示例 Wwise 项目的音效库(位于examples/WwiseProject)。
示例还展示了如何使用自动生成的模块 rrise_headers::rr 获取您的音效事件、总线等定义为 Rust 常量(从音效库定义文件生成)。更多信息 这里。
要开始使用插件,只需将其添加到您的 Bevy 应用中即可。就是这样,您现在可以生成 RrEmitter 组件、RrEmitterBundle 或 RrDynamicEmitterBundle 了!
// ... 'use' directives...
fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        // Use Rrise with default settings 
        .add_plugin(RrisePlugin::default())
        .add_startup_system(setup_scene)
        .add_system(update)
        .run();
}
fn setup_scene(
    mut commands: Commands,
    mut meshes: ResMut<Assets<Mesh>>,
    mut materials: ResMut<Assets<StandardMaterial>>,
) {
    // Load soundbank containing our PlayHelloWorld event structure and media
    if let Err(akr) = load_bank_by_name("TheBank.bnk") {
        panic!("Couldn't load TheBank: {}", akr);
    }
    // Setup mesh audio emitter
    commands
        .spawn(PbrBundle {
            mesh: meshes.add(Mesh::from(shape::Icosphere::default())),
            material: materials.add(Color::RED.into()),
            ..default()
        })
        .with_children(|parent| {
            // Attach dynamic emitter in the center of the parent
            parent.spawn(
                RrDynamicEmitterBundle::new(Vec3::default())
                    .with_event("PlayHelloWorld", true),
            );
        });
    // ... setup rest of scene
}
fn update(/* ... */) {
    // ... update scene
}
RrDynamicEmitterBundle(或具有 TransformBundle 的实体的 RrEmitter 组件)将自动将转换更新转发给 Wwise。
如果它们有 bevy:core::Name 组件,则音效器将向 Wwise 发送其实体的名称,以便轻松监视。
在您能听到任何声音之前,请确保您已从 Wwise 创作工具生成音效库,并将生成的资产放置在 bevy-rrise 可以找到的位置。再次,查看提供的示例配置以开始使用 😊
不要犹豫,为 bevy-rrise 启用调试级别的日志,以便了解底层发生了什么!这也可以帮助诊断为什么你的声音可能不起作用。
插件配置
从 v0.2.1(以及 Bevy 0.9)开始,配置比以往任何时候都更加直观!从 RrisePlugin::default() 开始,然后使用一系列的 with_*_settings(...) 函数来自定义声音引擎和插件行为
- with_plugin_settings(RriseBasicSettings)
- with_mem_settings(AkMemSettings)
- with_music_settings(AkMusicSettings)
- with_engine_settings(AkInitSettings)
- with_stream_settings(AkStreamMgrSettings)
- with_dev_settings(AkDeviceSettings)
- with_platform_settings(AkPlatformInitSettings)
- with_comms_settings(AkCommSettings)
所有 *Settings 类都有详细文档,描述了所有成员,并实现了 Default 特性,当您只想覆盖少量值时,具有最大化的直观性。
Bevy 兼容表
| Bevy | rrise | bevy-rrise | 
|---|---|---|
| 0.7 | 0.2 | 0.1 | 
| 0.8 | 0.2 | 0.2 | 
| 0.9 | 0.2 | 0.2.1 | 
法律事宜
Wwise 和 Wwise 标志是 Audiokinetic Inc. 的商标,在美国和其他国家注册。
本项目与 Audiokinetic 无任何关联。
您仍然需要安装授权版本的 Wwise 来编译和运行此项目。您需要一个有效的 Wwise 许可证来分发基于此crate的任何项目。
依赖关系
~19–37MB
~560K SLoC