bevy_gaussian_splatting

mosureApache-2.0活跃维护

为 Bevy 引擎提供高斯泼溅渲染管线插件,让 Rust 游戏和 3D 应用能直接加载并实时渲染 3D Gaussian Splatting 场景。

bevy gaussian splatting render pipeline plugin 🕊️🌌

v6.0.0发布于 2025-10-06 15:25 UTC296star34fork同步于 2026-11-11 00:00 UTC

怎么上手

由 README 提炼,执行前请确认
cargo install bevy_gaussian_splatting
bevy_gaussian_splatting --input-cloud file://gaussian.ply
硬件要求按 README 说明

README 未说明显存或 GPU 型号要求;提供 wasm 在线演示,说明可在浏览器 WebGL2/WebGPU 环境运行。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

Bevy 引擎的高斯泼溅渲染管线插件,让 Rust 游戏直接加载并渲染 2D/3D/4D 高斯点云

为 Bevy 引擎提供高斯泼溅渲染管线插件,让 Rust 游戏和 3D 应用能直接加载并实时渲染 3D Gaussian Splatting 场景。

核心能力

  • 以 Bevy 插件形式接入高斯点云渲染管线
  • 支持 ply、gcloud、glTF KHR_gaussian_splatting 场景加载与保存
  • 兼容 2dgs、3dgs、4dgs 及 SOG/SSOG 流式格式
  • 支持 f16/f32 点云、深度着色与法线渲染
  • 可编译到 wasm,支持 WebGL2 与 WebGPU

容易踩的坑

默认构建需 stable Rust 1.97.1 或更高版本;nightly_generic_alias 特性仅在 nightly 下可用;需自备 ply/gcloud/glb 点云文件,仓库不附带模型。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v6.0.0
  1. v6.0.0最新正式版2025-10-06 · 2025-10-06 15:25 UTC

    What's Changed

    Full Changelog: https://github.com/mosure/bevy_gaussian_splatting/compare/v5.1.0...v6.0.0

  2. v5.1.02025-09-16 · 2025-09-16 00:32 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/mosure/bevy_gaussian_splatting/compare/v3.0.0...v5.1.0

  3. v3.0.02024-12-18 · 2024-12-18 05:29 UTC
    查看更新说明
  4. v2.7.02024-10-20 · 2024-10-20 22:02 UTC
    查看更新说明
  5. v2.6.02024-10-16 · 2024-10-16 01:43 UTC
    查看更新说明

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    bevy_gaussian_splatting 🌌

    test GitHub License crates.io

    bevy gaussian splatting render pipeline plugin. view the live demo gallery or open trellis.glb directly.

    Alt text Alt text

    install

    cargo install bevy_gaussian_splatting
    bevy_gaussian_splatting --input-cloud [file://gaussian.ply | https://mitchell.mosure.me/go_trimmed.ply]
    bevy_gaussian_splatting --input-scene [file://scene.glb | https://mitchell.mosure.me/trellis.glb]
    

    note: the nightly_generic_alias feature enables nightly-only bound checking on generic type aliases. it is optional; the default build compiles on stable rust 1.97.1 or later

    contributors who want the generic alias checks can run them with nightly: cargo +nightly test --features nightly_generic_alias

    viewer hotkeys

    • esc: close viewer
    • p: save screenshot to screenshots/
    • g: export the loaded gaussian scene to exports/gaussian_scene_<frame>.glb (cloud transforms + active camera)
    • i: invert the selection (selected gaussians are hidden, all others are shown, and the previously hidden gaussians become the selection)
    • o: save the selected gaussians to live_output.gcloud in the working directory
    • a / d: pan left / right
    • q / e: pan down / up
    • w / s: dolly toward / away from the focus
    • arrow keys: orbit (left/right = yaw, up/down = pitch)
    • hold shift for finer keyboard steps, ctrl for coarser steps (applies only while a movement key is held)

    capabilities

    • ply to gcloud converter
    • gcloud and ply asset loaders
    • bevy gaussian cloud render pipeline
    • gaussian cloud particle effects
    • wasm support /w live demo
    • depth colorization
    • normal rendering
    • f16 and f32 gcloud
    • wgl2 and webgpu
    • multi-format scenes
    • 2dgs
    • 3dgs
    • 4dgs
    • glTF KHR_gaussian_splatting scene load/save
    • SOG (Spatially Organized Gaussians) loading
    • SSOG (Streamed SOG) loading
    • 4dgs motion blur
    • deformable radial kernel
    • implicit mlp node (isotropic rotation, color)
    • temporal gaussian hierarchy
    • gcloud, spherical harmonic coefficients Huffman encoding
    • spz format io
    • spherical harmonic coefficients clustering
    • 4D gaussian cloud wavelet compression
    • accelerated spatial queries
    • temporal depth sorting
    • skeletons
    • volume masks
    • level of detail
    • lighting and shadows
    • bevy_openxr support
    • bevy 3D camera to gaussian cloud pipeline

    usage

    use bevy::prelude::*;
    use bevy_gaussian_splatting::{
        CloudSettings,
        GaussianSplattingPlugin,
        PlanarGaussian3dHandle,
    };
    
    fn main() {
        App::new()
            .add_plugins(DefaultPlugins)
            .add_plugins(GaussianSplattingPlugin)
            .add_systems(Startup, setup_gaussian_cloud)
            .run();
    }
    
    fn setup_gaussian_cloud(
        mut commands: Commands,
        asset_server: Res<AssetServer>,
    ) {
        // CloudSettings and Visibility are automatically added
        commands.spawn((
            PlanarGaussian3dHandle(asset_server.load("scenes/icecream.gcloud")),
            CloudSettings::default(),
        ));
    
        commands.spawn(Camera3d::default());
    }
    

    tools

    creating gaussian clouds

    the following tools are compatible with bevy_gaussian_splatting:

    compatible bevy versions

    bevy_gaussian_splattingbevy
    9.00.20
    8.00.19
    7.00.18
    6.00.17
    5.00.16
    3.00.15
    2.30.14
    2.10.13
    0.4 - 2.00.12
    0.1 - 0.30.11

    license

    licensed under either of

    at your option.

    contribution

    unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

    analytics

    alt