F3D 轻量级3D模型查看器:一条命令打开 glTF/STL,直出渲染图
【免费下载链接】f3dFast and minimalist 3D viewer.项目地址: https://gitcode.com/GitHub_Trending/f3/f3d
需要把模型预览图发出去、手里却只有几分钟时,开一套重型 DCC 软件只为截一张图,成本太高了。F3D 是定位「快速且极简」的3D模型查看器:一条命令打开文件,再加一个参数就能把画面落成图片,全程不需要菜单和按钮。
📦 它到底是什么
F3D 是一款 BSD 协议的开源3D模型查看器,官方定位 fast and minimalist,完全可由命令行与配置文件控制(依据:README.md)。仓库里能直接核对的硬数据:
- 格式表列出 50+ 个 reader 条目,从 glTF、USD、STL、STEP 到 DICOM、3D 高斯泼溅(.splat/.spz)全都在内(依据:doc/user/02-SUPPORTED_FORMATS.md)
- 库部分 libf3d 提供 C++17 API,外加 C、Python、Java、JavaScript 四套绑定(依据:README.md)
- 内置 10 个官方插件(native、occt、assimp、usd 等),格式支持可拆分加载(依据:doc/user/13-PLUGINS.md)
- README 的 Vision 一节明确写了它不做的事:不提供菜单式 GUI、不做数据处理、不做导出功能——只把「看」这一件事做好
🚀 最短上手路径
f3d model.glb # 交互式打开 f3d model.glb --output=preview.png # 不弹窗口,直接出 PNG f3d --help # 查全部参数- 安装:Linux 可用发行版包或官方 .deb / 发布归档,其他平台从官方下载页取包(依据:README.md、doc/user/12-DESKTOP_INTEGRATION.md)
- 打开第一个文件:左键拖拽旋转、滚轮缩放、中键平移,按F1弹出快捷键速查表 Cheatsheet(依据:doc/user/04-INTERACTIONS.md)
- 完成一次基本操作:加上
--output=preview.png就得到一张渲染图,脚本和 CI 里可直接复用
🔄 场景价值对照
- 3D 资产人员:以前核对一批 STL 是否导出正确,要逐个开重型 CAD;现在一条命令打开、
--output直出预览图,再用--max-size限定最大文件尺寸,避免超大文件拖垮机器(依据:doc/user/03-OPTIONS.md) - 科学计算用户:以前 VTK/VTU/HDF 数据集要开完整科视软件;现在原生 reader 支持流式读取,按S/Y键就能在 material、scivis、direct 三种着色模式间即时切换(依据:doc/user/04-INTERACTIONS.md)
- 动画与游戏:以前看 glTF 动画要开 DCC 找时间轴;现在W键切换动画、Space播放,
--output=frame_{frame:04}.png还能把整段动画导出为图片序列(依据:doc/user/05-ANIMATIONS.md)
🔍 不显眼的功能
--watch:文件在磁盘上变更后自动重载(依据:doc/user/03-OPTIONS.md)。当你在盯着渲染或导出程序持续产出文件、想开一个窗口实时看效果时用得上- 管道输入输出:
f3d - --output=- < model.glb > img.png,甚至能把 PNG 继续管道给图片查看器(依据:03-OPTIONS.md 的 Piping 一节)。无 GUI 环境或 CI 流水线里做快速预览时用得上 - statefile:Ctrl+Shift+S把当前相机、选项、文件组存成 JSON,Ctrl+Shift+L一键还原(依据:doc/user/04-INTERACTIONS.md)。和同事分享「这个视角」时用得上
- Ctrl+Shift+F12截一张去掉网格和叠加层的透明背景小图(依据:同上)。往文档、幻灯片里直接贴图时用得上
📊 横向对比
| 对比维度 | F3D | 传统重型 3D 软件 |
|---|---|---|
| 命令行直出图片/视频 | 原生--output、--output-video,--no-background出透明底 | 一般需打开软件走截图或导出流程 |
| 格式覆盖 | 50+ 个 reader、10 个官方插件(02-SUPPORTED_FORMATS.md) | 取决于各格式导入器,常有缺口 |
| 非交互 / CI 场景 | stdin/stdout 管道,OSMesa/EGL 离屏渲染后端(12-DESKTOP_INTEGRATION.md) | 通常不支持 |
| 启动速度与内存占用 | 仓库未给基准数据,待实测 | 待实测 |
❓ FAQ
问:打开 .ply 的 3DGS 文件显示不对,是 bug 吗?不是。F3D 不假设 .ply 就是 3DGS 数据,因此没有内置预设,加上--point-sprites-size=1 --point-sprites=gaussian --coloring-mode=direct -k即可正确显示(依据:doc/user/14-LIMITATIONS_AND_TROUBLESHOOTING.md)。
问:F12 截的图存到哪里?默认文件名模板是{app}/{model}_{n}.png,存放在系统图片目录(Linux 为${XDG_PICTURES_DIR}),可用--screenshot-filename覆盖(依据:doc/user/04-INTERACTIONS.md)。
问:没有图形界面的服务器上能用吗?可以。用--rendering-backend=osmesa或egl做离屏渲染,配合--output出图;只验证文件能否加载时用--no-render(依据:doc/user/12-DESKTOP_INTEGRATION.md)。
问:不同格式想应用不同默认设置怎么办?在~/.config/f3d/config.json写 JSON 块,用match做正则或 glob 匹配;选项名前加!可设为「强制」,优先级高于命令行(依据:doc/user/06-CONFIGURATION_FILE.md)。
✅ 今晚就能做的动作
先跑f3d --list-readers看你这台机器上的构建支持哪些 reader,再用f3d <任意3D文件>打开手边任意一个模型,顺手加--output=preview.png出一张预览图。想深入时,翻 doc/user/03-OPTIONS.md 的完整参数表和 doc/user/06-CONFIGURATION_FILE.md 的配置文件写法。
【免费下载链接】f3dFast and minimalist 3D viewer.项目地址: https://gitcode.com/GitHub_Trending/f3/f3d
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考