什么是 .lwo 和 .lws 文件?LightWave 3D,以及如何在 Mac 上打开它们
.lwo 文件是 LightWave 的 3D 对象,.lws 文件则是一个文本场景,用来摆放这类对象、添加相机和灯光,并让它们动起来。LightWave 于 1990 年推出,至今仍在销售,但 Mac 自己打不开它的文件。
概览
- 扩展名
- .lwo, .lws
- 类型
- 较早的 3D 应用格式
- 创建者
- NewTek (LightWave 3D)
- 标准
- 不是正式标准
- macOS 自身(不装应用)
- 不认识:没有预览,也没有缩略图
信息核对于 2026年11月4日
.lwo 对象
.lwo 文件是二进制的,基于 Electronic Arts 的 EA IFF 85 标准。它由四个字母命名的区块组成:PNTS 存放点,POLS 存放多边形,SURF 存放表面及其颜色和纹理。一个对象可以有多个图层,每个图层都有自己的轴心,还可以有一个父图层。单个多边形最多可以有 1023 个顶点,除了普通的面,文件还携带细分面片、曲线和映射(UV、顶点颜色、骨骼权重)。纹理图片不在文件里——只有对它们的引用。
文件没有单位;根据规范,按惯例是米。LightWave 的坐标是左手坐标系:X 朝右,Y 朝上,Z 朝前。读取 .lwo 的程序必须翻转 Z 轴,否则模型会变成镜像的。在我的测试中,Assimp 库就是这么做的:文件中位于 Z = 1 的三角形最终位于 Z = −1。
三代格式:LWOB、LWO2 和 LWO3
| 类型 | 来自哪个 LightWave | 需要知道的 |
|---|---|---|
| LWOB | 第 5 版及以前 | 根据 Okino 转换器的说明,每个文件最多 65,536 个顶点或面,没有纹理坐标 |
| LWO2 | 6.0 及以后 | 规范发布于 2001 年 11 月;至今仍是最常用的交换格式 |
| LWO3 | 较新的版本 | 许多程序读不了 |
终端可以告诉你手上的是哪一代:
head -c 12 model.lwo | tail -c 4它会输出 LWOB、LWO2 或 LWO3。对于我的测试文件,file 也给出了答案:IFF data, LWO2 3-D object。
能处理 LWO3 的程序不多。Okino 建议把 LightWave 2017 及以后版本的文件重新存为“LightWave 2015”格式,也就是 LWO2。LightWave 用 Export LightWave 2015 Object 来做这件事。不过根据 LightWave 2024 的帮助文档,PBR 材质节点无法带到 LWO2 中。
.lws 场景需要它的对象
场景是可读的文本。我为测试写的那个场景是这样开头的:
LWSC
3
FirstFrame 1
LastFrame 60
FrameStep 1
FramesPerSecond 30
LoadObjectLayer 1 Objects/cube.lwoLWSC 和 3 是文件头和格式版本。LoadObjectLayer 载入 cube.lwo 对象的第一个图层,随后是运动关键帧。场景本身不包含对象、图片或插件——它只通过路径引用它们。根据规范,路径相对于内容目录,这个目录由用户在 LightWave 中设置,并不写在场景里。它通常有 Objects、Scenes 和 Images 子文件夹。
这就是为什么场景经常打开后是空的。只发送 .lws 文件、重命名一个对象,或者把对象挪到别处,就足以导致这种情况。请发送整个内容文件夹,或者让 LightWave 用 Package Scene 把场景连同它需要的一切打包。
在我的测试中,当对象位于场景旁边、场景旁边的 Objects 文件夹中,或者上一级、与 Scenes 文件夹并列的 Objects 文件夹中时,Assimp 都能找到它们。缺少一个对象的场景载入后一个网格都没有。
LightWave 从何而来
LightWave 于 1990 年在 NewTek 推出,最初是 Amiga 上 Video Toaster 的一部分。自 1994 年起它开始单独销售。它最擅长的是电视特效:Babylon 5、Star Trek: Voyager 和 Battlestar Galactica 都用过它。Vizrt 收购 NewTek 之后,开发在 2020 年停止。2023 年 4 月,一家新公司 LightWave Digital 买下了这个程序,并重新启动了开发。LightWave 2026 于 2026 年 6 月发布,支持 Windows 和 macOS 14.1 及更高版本,新许可证售价 795 英镑。
Doom 3 引擎也能读取 .lwo 文件——它公开的源代码中就有一个 LWO 读取器。而 NASA 至今仍以 .lwo 文件的形式发布它的几颗卫星。
如何在 Mac 上打开 LWO
macOS 不认识 LightWave。在 macOS 27.0.1 上,它没有 .lwo 或 .lws 的文件类型,Model I/O 框架无法载入它们,预览、快速查看和访达都不显示它们。
- LightWave 3D 也能在 Mac 上运行,但它是付费的。
- Blender 到 2.79 版为止都能自行导入 LWO。如今有第三方插件 blender-import-lwo,它能读取 LWOB 和 LWO2,并在 Blender 3.3 至 4.5 上测试过。它目前还不能处理 LWO3 或 .lws 场景。
- Preview3D,我的应用,可以在 Mac 上的窗口中、在快速查看里以及作为访达缩略图打开 .lwo 文件。在 iPad、iPhone 和 Apple Vision Pro 上也可以。
Preview3D 通过 Assimp 库读取 LightWave。我在应用所用的同一个构建中,用我按照规范制作的 LWO2 和 LWOB 文件试过。它打开了一个有多个图层的对象、顶点多于四个的多边形,以及一个有 72,900 个点的对象。根据 Assimp 的源代码,它也能读取 LWO3,但我还没有用真正的 LWO3 文件试过。应用统一用一种颜色显示几何:不使用文件中的表面或纹理。模型信息中有以文件单位表示的尺寸和三角形数量,以及网格检查。在 iPad 和 iPhone 上,它会在 AR 中把模型立在你的桌上,并按桌面大小显示。
Preview3D 也把 .lws 场景列在它支持的类型中。不过我还没有核实,在 macOS 沙盒中,应用能否访问场景旁边的对象。所以目前请直接打开 .lwo 文件。
把 LWO 转换为 STL 或 OBJ
在 Mac 上,Preview3D 通过 文件 → 导出模型为…(⌥⌘E)转换为 STL、OBJ 或 PLY,不上传任何东西。表面、纹理、映射和图层都会被丢弃,模型会被存为一个网格。还要注意单位:LightWave 按惯例以米为单位,而切片软件通常把 STL 中的数字当作毫米。如果模型在切片软件中看起来很小,就把它放大 1000 倍。
常见问题
什么是 .lwo 文件?
LightWave 3D 的对象:一个带有表面、图层和映射的网格,以二进制 IFF 格式存储。
什么是 .lws 文件?
LightWave 的文本场景。它摆放 .lwo 对象,添加相机、灯光和骨骼,并存储它们的运动。对象并不在其中,只有对它们的引用。
为什么我的 .lws 场景打开后是空的?
它引用的 .lwo 对象丢了,或者在别的地方。请发送整个内容文件夹,连同其中的 Objects 和 Scenes 子文件夹,或者用 Package Scene 打包场景。
如何判断我手上的是 LWO2 还是 LWO3?
在终端中,head -c 12 model.lwo | tail -c 4 会输出 LWOB、LWO2 或 LWO3。
Mac 不装其他应用能打开 .lwo 吗?
不能。macOS 27 没有 LightWave 的文件类型,预览和快速查看都不显示它。
如何把 LWO 转换为 OBJ 或 STL?
在 Mac 上,用 Preview3D 的“文件 → 导出模型为…”,或者用装了 LWO 插件的 Blender。然后在切片软件中检查尺寸。
相关页面
资料来源
- LightWave SDK:LWO2 对象——区块、坐标、单位、1023 个顶点
- LightWave SDK:LWSC 场景——文件引用、内容目录
- LightWave Digital:新的所有者(2023)——历史
- CG Channel:LightWave 2026——系统要求和价格
- LightWave 2024:Export LightWave 2015 Object
- Okino:LightWave 导入——旧版的限制,LightWave 2017 及以后
- blender-import-lwo——Blender 插件
- Assimp:读取 LWO 和 LWS
- NASA 3D Resources——以 .lwo 文件发布的卫星
- Doom 3 源代码:LWO 读取器
你有没有旧的 LightWave 对象或场景——比如来自电视制作或 Doom 3 模组——在 Mac 上打不开?请写信到 apps@xfanta.com,告诉我它们来自哪个 LightWave 版本。
在 Preview3D 中打开
在 Mac、iPad、iPhone 和 Vision Pro 上打开 STEP、3MF、STL、G-code、BGCODE 等格式。一次购买,无需账户,无需联网。
App Store 上的 Preview3D