Rerun Rust SDK 项目搭建实战:从 cargo new 到第一个 3D 可视化程序 Rerun Rust SDK 项目搭建实战从 cargo new 到第一个 3D 可视化程序【免费下载链接】rerunVisualize, query, and stream to train on multimodal robotics data.项目地址: https://gitcode.com/GitHub_Trending/re/rerun本篇技术指南围绕 Rerun一个用于可视化、查询与流式处理多模态机器人数据的开源 SDK仓库位于GitHub_Trending/re/rerun的Rust 项目搭建展开讲解如何通过cargo new与cargo add rerun快速初始化一个可运行的 Rerun Rust 工程。读完本文你将掌握完整的项目初始化步骤、reruncrate 的 feature 配置与版本匹配要求、一个可直接复制运行的最小 3D 点云示例以及通往 Log and Ingest 教程与更高级连接方式gRPC、RRD 文件、内嵌 Viewer的完整路径。前置条件安装 Rust SDK 与 Viewer在初始化项目之前需要先完成两件事安装 Rust SDK在项目里加入reruncrate 依赖即cargo add rerun。官方安装文档见 install-rerun/rust.md。安装 Viewer独立于语言的可视化程序Rerun 的数据格式在跨版本间尚未完全稳定因此请务必保证你使用的 crate 版本与 Viewer 版本一致。Viewer 的多种安装方式见 install-rerun/viewer.md主要包括安装途径命令说明GitHub Release 二进制下载对应平台的rerun-cli免编译Cargo预编译cargo binstall rerun-cli通过cargo-binstall下载二进制Cargo源码编译cargo install rerun-cli --locked需要 Rust 1.96Snap社区维护snap install rerun通过 Snap StorePython SDK 附带pip3 install rerun-sdk/conda install -c conda-forge rerun-sdk/pixi global install rerun-sdk安装 Python SDK 的同时获得rerun命令安装完成后在终端运行rerun即可启动 Viewer它会等待 SDK 通过 gRPC 连接。版本提示reruncrate 要求较新的 Rust 工具链。仓库内examples/rust/minimal/Cargo.toml声明rust-version 1.96edition 2024因此使用旧版 Rust 时请先升级工具链仓库根目录的 rust-toolchain 文件指定了项目推荐的工具链版本。第一步用 cargo new 创建项目并添加 rerun 依赖按照官方文档 project-setup/rust.md 的指引整个初始化过程只需三条命令cargo new my_project cd my_project cargo add reruncargo new my_project会生成一个标准的 Rust 二进制工程src/main.rsCargo.toml。cargo add rerun会将rerun作为最新版本依赖写入Cargo.toml的[dependencies]段。如果你在仓库内部开发示例例如参考 examples/rust/minimal也可以使用路径依赖方式指向本仓库的顶层 crate[dependencies] rerun { path ../../../crates/top/rerun }依赖添加完成后你便可以进入>cargo add rerun --features native_viewer第三步编写最小可运行示例完成依赖添加后参考仓库中的 examples/rust/minimal/src/main.rs可以在src/main.rs中写入如下代码——它创建一个记录流、spawn 一个 Viewer并记录一组带颜色的 3D 点//! Demonstrates the most barebone usage of the Rerun SDK. use rerun::demo_util::grid; use rerun::external::glam; fn main() - Result(), Boxdyn std::error::Error { let rec rerun::RecordingStreamBuilder::new(rerun_example_minimal).spawn()?; let points grid(glam::Vec3::splat(-10.0), glam::Vec3::splat(10.0), 10); let colors grid(glam::Vec3::ZERO, glam::Vec3::splat(255.0), 10) .map(|v| rerun::Color::from_rgb(v.x as u8, v.y as u8, v.z as u8)); rec.log( my_points, rerun::Points3D::new(points) .with_colors(colors) .with_radii([0.5]), )?; Ok(()) }关键 API 解读可对照 crates/top/rerun/README.md 中的快速上手片段RecordingStreamBuilder::new(application_id)以稳定的ApplicationId初始化一个 recording稳定的 ID 能让 Viewer 在多次运行间保留 UI 状态。.spawn()默认行为是在另一个进程中启动 Viewer并把数据自动管道发送过去——适合单机实验。rec.log(entity_path, archetype)核心日志入口第一个参数是实体路径如my_points第二个参数是内置 archetype如Points3D。Points3D::new(...).with_colors(...).with_radii(...)采用构建器模式批量填充组件。运行cargo run后Viewer 窗口即会显示这组点云。如果希望使用全局记录流不显式持有RecordingStreamREADME 中还展示了另一种写法rerun::RecordingStream::global(rerun::StoreKind::Recording)?随后直接用rec.log(...)记录Points3D或Image等 archetype。第四步进入 Log and Ingest 完整教程项目初始化完成后的标准下一站是 Log and Ingest 教程它通过一个动画 DNA 算盘示例带你覆盖 Rerun 的核心概念Archetypes 与 ComponentsPoints3D、LineStrips3D、Transform3D等 archetype 是构建组件批次的便捷高层抽象底层实际记录的是 position、color、radius 等组件。Entities 与层级dna/structure/left这样的实体路径构成层级影响可视化与空间变换。Timelines 与时间set_duration_secs(stable_time, t)创建自定义时间线注意若只在自定义时间线上记录部分数据会触发 latest-at 语义导致其他数据消失需要在记录静态结构前先把自定义时间线归零。空间变换通过Transform3Darchetype 在层级上叠加旋转。该教程的 Rust 完整代码位于 examples/rust/dna/src/main.rs教程中内嵌的代码片段则在 docs/snippets/all/tutorials/dna.rs按// region: .../// endregion: ...标记切分可直接对照学习。第五步探索其他数据输出与连接方式spawn()适合单机实验Rerun 还提供了多种替代方案详见 contenteditable="false">【免费下载链接】rerunVisualize, query, and stream to train on multimodal robotics data.项目地址: https://gitcode.com/GitHub_Trending/re/rerun创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考