viser
viser
是一个用于Python的交互式3D可视化库。
特点包括:
- 用于可视化3D基元的API
- GUI构建模块:按钮、复选框、文本输入、滑块等
- 场景交互工具(点击、选择、变换控件)
- 程序化相机控制和渲染
- 完全基于网络的客户端,便于通过SSH使用!
有关使用方法和API参考,请查看我们的文档。
安装
你可以使用pip
安装viser
:
pip install viser
要包含示例依赖项:
pip install viser[examples]
运行示例脚本后,你可以通过导航到打印的URL(默认:http://localhost:8080
)进行连接。
另请参阅:我们的开发文档。
示例
点云可视化
https://github.com/nerfstudio-project/viser/assets/6992947/df35c6ee-78a3-43ad-a2c7-1dddf83f7458
源码:./examples/07_record3d_visualizer.py
高斯散射可视化
https://github.com/nerfstudio-project/viser/assets/6992947/c51b4871-6cc8-4987-8751-2bf186bcb1ae
源码: WangFeng18/3d-gaussian-splatting 和 heheyas/gaussian_splatting_3d。
SMPLX可视化器
https://github.com/nerfstudio-project/viser/assets/6992947/78ba0e09-612d-4678-abf3-beaeeffddb01
源码:./example/08_smpl_visualizer.py
致谢
viser
深受Pangolin、rviz、meshcat和Gradio等软件包的启发。它的实现得益于多个开源项目。
Web客户端使用React实现,并使用:
- Vite / Rollup进行打包
- 通过react-three-fiber和drei使用three.js
- Mantine用于UI组件
- zustand用于状态管理
- vanilla-extract用于样式表
Python API通过msgpack和websockets进行通信。