news 2026/10/17 5:58:49

F3D 三维查看器:一条命令打开几十种格式的模型文件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
F3D 三维查看器:一条命令打开几十种格式的模型文件

F3D 三维查看器:一条命令打开几十种格式的模型文件

【免费下载链接】f3dFast and minimalist 3D viewer.项目地址: https://gitcode.com/GitHub_Trending/f3/f3d

F3D 是一款开源的三维查看器,目标很简单:把 glTF、USD、STL、OBJ、FBX、STEP 这些不同来源的模型文件,用一个统一入口打开,用合理的默认效果渲染出来。它不追求建模或编辑能力,整个交互围绕命令行和配置文件展开,因此也适合脚本、批处理和 CI 场景。

打开一个模型文件需要几步

安装完成后,终端里一条命令就能打开文件:

f3d /path/to/file.ext

窗口弹出,模型居中、相机就位。加一个参数可以直接落盘:

f3d /path/to/file.ext --output=/path/to/img.png

渲染结果存成 PNG,不打开交互窗口也能跑完。除了命令行,还可以从文件管理器直接打开文件,或把文件拖进 F3D 窗口;在 Linux 上还能把它配置成文件管理器缩略图生成器。加载场景后,左键拖拽旋转视角、滚轮缩放、Enter复位相机,F1呼出快捷键表,不需要查手册。

没有 HDR 贴图时,渲染效果由谁决定

F3D 使用物理基础渲染(PBR)。如果文件本身携带光照和相机信息,比如 glTF 或 USD,就按文件内容显示;如果文件只带几何,F3D 会补一个默认场景:灰色材质、0.3 的粗糙度、内置 HDR 环境光照。也就是说,打开一张裸 STL 或 OBJ,得到的是一张带环境反射、可以直接用来快速判断形状的预览图,而不是一片死白。

动画也是打开即用的:含动画的文件里按W循环切换动画,Space播放;命令行可以用--animation-indices指定播放哪一段,-1表示全部播放。HDR 环境贴图同样可以自定义,支持模糊、色温等参数。

支持哪些模型格式

格式支持通过插件体系扩展,源码里的 plugins/ 目录按格式族划分:native/处理 glTF、STL、OBJ、PLY 等;assimp/负责 FBX、DAE、DXF;occt/覆盖 STEP、IGES、FreeCAD 这类工程文件;还有 USD、Alembic、Draco,以及激光雷达点云格式(LAS、PCD、SLPK 等)。README 的愿景里写明目标是"支持尽可能多的三维格式",目前文档中列出的格式已超过 50 种,并区分了哪些支持动画、哪些支持从管道流式读取。

具体到你的构建能用哪些读取器,运行f3d --list-readers查看即可,比看文档更准。

批量出图与嵌入自己程序

因为全部行为(分辨率、背景、线宽、色标、相机)都可以用命令行选项或配置文件控制,把 F3D 放进脚本做批量渲染或视觉回归检查是顺理成章的用法:读目录里的模型,逐张--output,产物交给对比工具。

另一个入口是 libf3d——F3D 的渲染内核。它是一个 C++17 库,提供 C、Python、Java、JavaScript 绑定,核心流程是创建 engine、向 scene 添加文件、启动 interactor,几行代码就能在自己的应用里嵌一个三维预览窗口。examples/libf3d/ 下有 C++、Python、Java 的完整示例可以参照。

F3D 明确不做什么

README 的 Vision 一节直接列了它不打算做的三件事:

  • 不做菜单和按钮式的传统图形界面
  • 不做数据处理
  • 不做导出

所以如果你需要改模型、调材质后另存,它替代不了 Blender 或 FreeCAD。它的定位是"打开、看、截图",编辑环节仍然交给专业 DCC 或 CAD 工具。

下一步看哪份文档

建议从 doc/user/01-QUICKSTART.md 读起:装好 F3D 后,拿一个手头的 glTF 或 STL 文件跑一遍上面那条命令,再用--list-readers确认自己的格式是否在支持列表里。要集成 libf3d 的话,直接翻doc/libf3d/目录下的概述文档。

【免费下载链接】f3dFast and minimalist 3D viewer.项目地址: https://gitcode.com/GitHub_Trending/f3/f3d

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 5:51:55

AI圈五大争议:开闭源、Scaling Law、Agent、安全对齐与评测体系

明天就要进场了,会议日程翻到最后,我的感受是:今年 AI 圈真正值得听的东西,不在 keynote 的大屏上,而在那些“吵”得最凶的讨论里。这份攻略就是帮你提前把今年 AI 到底在“吵”什么理清楚,方便明天进场后能…

作者头像 李华
网站建设 2026/10/17 5:51:43

Java线程等待唤醒机制:wait/notify实战与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/17 5:51:35

Cortex-M与Cortex-A运行模式及寄存器组深度对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/17 5:51:32

Linux C++二维码识别实战:Zxing-cpp库高效解码指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华