开源
引擎是开放的。读它,跑它,在上面接着做。
LocalMesh Engine 是把照片变成带贴图网格的那一部分,跑在你自己的显卡上,没有任何东西离开这台机器。它以 Apache 2.0 发布在 GitHub 上。一张照片时它跑 Microsoft 的 TRELLIS.2;四张时它跑 TencentARC 的 Pixal3D,后者由我们转成 FP8,好装进 8 GB 的显卡。
Apache 2.0
离线运行
一块 NVIDIA 显卡,8GB
一张照片,或者四张
不上传任何东西
用它做出来的
六个物体,每个四张图像,在一块笔记本 RTX 4060 上生成。按离开引擎时的原样,在同一套环境光下各转一整圈。
我们在 TRELLIS.2 上加了什么
TRELLIS.2 把一张照片变成带贴图的网格。以下是叠在它上面的东西。
- 同一物体的四张照片。 TRELLIS.2 只处理一张图像。这条通道把你的正面、右侧、左侧和背面放在同一张网格上,让模型在那里决定——先在粗体积上一次,再在雕刻表面的两个步骤里各一次——而不是做出四个物体再取平均。多视图权重来自 Pixal3D(TencentARC,MIT),在这里转成 FP8,好让整条通道装进 8 GB 的显卡。
- 每张照片的角度都会被测量。 Depth Anything 3 从像素里读出每张照片是从哪个角度拍的、每张侧面是哪一边,所以手持转一圈不必是干净的 90 度。读得不明确时,引擎回到完美的 90 度,结果里会写明用了哪一种。
- 四张图像以同一尺度抵达。 每次裁切按对象的高度定,转动不改变高度。各自裁切时,摩托车抵达模型的尺度在各视角之间相差 37.9 %,出来偏厚;卡带是 39.7 %。对于高大于宽的对象,比如头像或人物,裁切本来就一致,什么都不会变。
- 只有又小又飘着的碎块才会被清掉。 相对最大块很小,并且离开了它。在武士身上:1,133 个独立碎块,其中 185 个确实飘着,被清掉,占表面的 1.21 %;贴在壳上的 941 个留了下来,因为清掉它们会在原处留下一个洞。如果清理想要超过表面的 5 %,它什么都不做,并且说出来。
- 文件出去之前会检查材质。 模型会在树脂人像上写下 0.6 到 0.8 的金属值。那是噪声,在任何查看器里都会压暗颜色、给反射染色,所以写成零。它还会烘出一份照抄亮度的透明度——一盒黑色卡带有 53 % 的图集被标成半透明,有的查看器会画成玻璃,所以不透明的物体出去时不带它。背面也按网格真正拥有的开放边来决定。
- 为 8 GB 的显卡而做。 FP8 权重,模型一个接一个加载,步骤之间把显卡让出来。三角形数量由档位定,标准档 150,000;安全上限从显卡读出:重到无法重新布线的形状会被拉回上限以下,而不是把驱动一起带走。
运行它
- 1安装它。 是十步,不是三步。三个 CUDA 扩展要在你自己的机器上编译,所以首先需要 Python 3.12、CUDA 12.8 工具包和一个 C++ 编译器。权重不随代码发布,引擎也不会替你去取:单张照片的通道约 9.5 GB,四张则是 14.3 GB,都要自己放好;DINOv3 还要等 Meta 的人工审批。以上都在 Windows 上测过;Linux 应该可以,但我们没有跑过。
- 2给它一张照片。 一张图像就能得到网格,安装也更短。加上右侧、左侧和背面,引擎会把四张融合起来:权重多 4.8 GB,还要多编译一个扩展。三面齐全,或者一面都不加;只给两面会被拒绝。
- 3拿到一个 .glb。 带贴图、已展 UV、Y 轴朝上。它能在 Blender、Unreal,以及任何读 glTF 的软件里打开。
或者直接拿应用
LocalMesh 是围着这个引擎搭起来的那套工作台:一块把照片变成物体的画板,一个素材库,一个图像工作室,还有一个查看器。14 天免费试用,之后 $39 一次性付清。没有订阅。
下载 LocalMesh