F3D 3D Viewer:一款快速、轻量的3D预览工具全解
【免费下载链接】f3dFast and minimalist 3D viewer.项目地址: https://gitcode.com/GitHub_Trending/f3/f3d
每次想看一个三维模型,您是不是都得先启动一套体积庞大、加载缓慢的软件,等它把插件和界面全部读完,模型才出现在屏幕上?开源项目F3D(读作 /fɛd/)就是为了解决这个烦恼:它是一款极简的3D查看器,支持50余种文件格式,覆盖工程师的CAD数据、开发者的游戏资产和研究者的科学数据集,通常一两秒内就能把模型摆到您面前,并且完全可以用命令行和配置文件驱动。F3D 采用3条款 BSD 许可证发布,免费使用。
💡 为什么选 F3D 做预览工具
启动以秒计
传统三维软件要初始化渲染管线、插件和图形界面,打开一个文件常常要等几十秒。F3D 走的是另一条路:依赖精简、界面极小,没有菜单树要加载。启动后拖入文件或敲一条命令,绝大多数模型一两秒内完成显示;v3.5 版本还支持管道输入,直接执行cat file.glb | f3d -就能把标准输入的数据当作模型打开,连落盘都省了。
一个工具覆盖50多种格式
从 doc/user/02-SUPPORTED_FORMATS.md 的完整清单可以看到,F3D 能打开的格式远超常见的几种:
- Web与游戏:glTF/GLB、FBX、USD/USDZ、COLLADA、3MF、AMF
- 工业CAD:STEP/STP、IGES、BREP、IFC(建筑信息模型格式)
- 打印与扫描:STL、PLY、OBJ
- 科学数据:VTK 全系列、VTKHDF、Exodus、NetCDF、NRRD
- 点云与新兴格式:LAS/LAZ 激光雷达点云、3D高斯泼溅(一种用大量"彩色斑点"表达场景的新渲染格式,扩展名 .splat/.spz)
格式是否支持,可用f3d --list-readers在自己的安装上核实。
在 Windows、macOS、Linux 上一步安装
Windows
从 F3D 官方发布页下载对应系统的预编译安装包,双击安装即可,无需编译环境。
macOS
在终端执行:brew install f3d
Linux
Debian/Ubuntu 系执行:sudo apt install f3d,其他发行版同样有对应包。安装完成后,把f3d --version的输出贴进终端确认一下,版本号与官方发布页一致即可开始使用。
首次体验:三步打开您的第一个3D文件
三步跑通
- 打开文件:在文件管理器中双击模型,或在终端执行:
f3d /path/to/model.stl f3d /path/to/model.stl --output=preview.png- 转起来检查:左键拖拽旋转,滚轮缩放,中键拖拽平移,模型立即响应。
- 保存结果:按 F12 截图存为图片;命令行里加
--output则自动渲染一张图后退出,适合无窗口环境。
窗口内按 H 随时调出快捷键速查表,之后遇到任何操作都可以先按 H 查一下。
🖱️ 鼠标与快捷键:零菜单,全操控
鼠标基础操作
F3D 没有菜单栏,所有操作集中在鼠标和键盘上:
- 左键拖拽:绕焦点旋转
- 滚轮 / 右键竖直拖拽:缩放
- 中键拖拽:平移
- Shift+左键拖拽:平移相机
- Ctrl+左键拖拽:绕相机自身轴旋转
- Shift+右键水平拖拽:旋转 HDRI 环境贴图(HDRI 即高动态范围环境图,为场景提供真实光照和背景)
快捷键速查
| 操作 | 按键 |
|---|---|
| 重置视角 | Enter |
| 快捷键速查表 | H |
| 播放/暂停动画 | 空格 |
| 切换动画 | W |
| 参考网格开关 | G |
| 边缘显示开关 | E |
| 抗锯齿模式切换 | A |
| 光线追踪(编译时启用) | R |
| 截图 | F12 |
此外,按数字键 1/3/7/9 可以一步切到正、右、上、等轴测视图,按 K 可切换到适合查看图片类文件的2D模式。
PBR 渲染、光线追踪与动画导出
物理基础渲染与环境光照
F3D 默认使用 PBR(物理基础渲染,即按金属度、粗糙度等真实物理参数模拟材质反射的着色方式)。软件内置一张默认 HDRI 环境贴图,打开文件时即可获得接近真实的光照效果:
F3D 内置的默认 HDRI 环境贴图,为模型渲染提供基础光照与背景
按 R 可切换到离线光线追踪(编译时启用),按 Q 开关环境光遮蔽,按 T 循环切换色调映射。检查模型的 UV 展开是否正确时,--checkerboard选项会贴上一张棋盘格纹理:
使用棋盘格纹理检查 UV 映射,纹理拉伸处会一目了然
动画播放与批量导帧
带动画的文件(FBX、glTF、Alembic 等)按 W 切换动画,空格播放,Ctrl+Shift+空格倒放。更实用的是命令行批量导帧:
f3d animation.glb --output=frame_{frame:04}.png这会把动画逐帧存成frame_0000.png、frame_0001.png……帧率由--frame-rate控制,--animation-time=1.5可以从指定时间点开始导出。
💼 进阶定制:配置文件与命令行批处理
JSON 配置文件,一次设置永久生效
几乎所有命令行选项都能写进 JSON 配置文件,用--config=your_config.json加载,也可以放在默认位置由 F3D 自动读取。配置可以按文件名分组,为不同格式套不同默认值:
[ { "options": { "grid": true, "roughness": 0.2 } }, { "match": ".*glb", "options": { "raytracing": true } } ]上面第一段对所有文件开启网格、把粗糙度调到 0.2;第二段让所有 .glb 文件自动走光线追踪。命令行指定的选项优先级高于配置文件,若想让某个值"强制生效",在选项名前加!即可。完整语法见 doc/user/06-CONFIGURATION_FILE.md。
命令行批处理
F3D 完全可以无交互运行,天然适合写进脚本。批量把一批 STL 转成缩略图:
for file in *.stl; do f3d "$file" --output="${file%.stl}.png" done配合--resolution、--camera等选项还能固定画幅和机位,做出一整排风格统一的预览图。
谁在用:从工程师到研究者的场景
工程师与游戏开发者
- 拿到 STEP、IGES、IFC 等交付件,不启动 CAD 软件先过一遍外形与装配关系
- 用 glTF/FBX/USD 检查 PBR 材质和骨骼动画,替代临时搭建的预览工程
- 用
--output批量出图,直接贴进评审文档
研究者与3D打印爱好者
- VTKHDF、NetCDF、Exodus 等仿真结果开出来即可按标量数组着色,按 S 键循环切换数据场
- 点云数据(LAS/LAZ/PCD)配合点精灵渲染直接查看采集质量
- STL/OBJ 打印前检查模型闭合与壁厚,按 E 开启边缘更清晰
🧩 从查看器到库:libf3d 与插件体系
libf3d:把渲染嵌入您自己的应用
F3D 的核心是一个独立的 C++17 库libf3d,三五行代码即可创建引擎、加载场景、启动交互窗口,API 文档在 doc/libf3d/01-OVERVIEW.md。它还提供 C、Python、Java 和 JavaScript(WebAssembly)绑定,脚本自动化、企业集成、浏览器内渲染各有一条现成路径,示例代码在examples/libf3d/目录下。
插件架构:每种格式一个独立模块
格式读取器全部做成插件(见plugins/目录),目前包括 native、assimp、occt(STEP/IGES)、alembic、draco、hdf、usd、vdb、webifc、pdal 十个模块。插件可单独启用或禁用,新增格式不需要改动核心,这是 F3D 格式清单能持续变长的原因。
三个常见问题与解决办法
模型表面看起来反了、带半透明感
多半是数据里混入了需要透明混合的部件。按 P 开启透明混合,或用命令行-p再试一次。
.ply 的3D高斯泼溅显示不正常
.ply 是通用格式,F3D 无法默认按 3DGS 处理。加上--point-sprites=gaussian --point-sprites-size=1即可正确显示,建议把这两项写进配置文件一劳永逸。
STEP 模型不理会我指定的颜色
STEP 格式默认启用标量着色。执行f3d model.step --color=Blue --scalar-coloring=no同时给出颜色并关闭标量着色,效果会立刻生效。更多排查方法见 doc/user/14-LIMITATIONS_AND_TROUBLESHOOTING.md。
F3D 把"打开一个三维文件看看"这件事做到了接近本能的成本:秒级启动、50多种格式开箱即用、鼠标与快捷键替代全部菜单、渲染质量却保留了PBR和光线追踪这样的专业选项。它的核心优势可以概括为:
- 快:极简架构,打开模型通常一两秒
- 全:CAD、游戏、科学数据、点云、高斯泼溅一网打尽
- 可自动化:命令行、配置文件、批处理、管道输入全支持
- 可扩展:libf3d 库加四种语言绑定,插件化格式模块
- 免费:BSD 许可,个人与商业使用均无门槛
下次收到一个陌生的三维文件时,不妨先交给 F3D 几秒钟看看——大多数情况下,您不需要为此启动任何重型软件。
【免费下载链接】f3dFast and minimalist 3D viewer.项目地址: https://gitcode.com/GitHub_Trending/f3/f3d
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考