【免费下载链接】trellis-text-coreml
trellis-text-coreml 把微软 TRELLIS 的"文生3D"模型完整转换为 40 个 Core ML 模型包(mlpackage),专为 Apple Silicon + macOS 14 设计,供 TouchDesigner 的 Geo Gen 算子原生调用。本文逐一拆解 bundle.json 中登记的 40 个分片——从 text_fp32 文本编码器,到 flow_mixed_attn32 形状采样主模型、slat_blocks 稀疏细节链、mesh_block 网格提取链,直到最后的 appearance_output 外观渲染包,帮你 5 分钟看懂整条"提示词 → 带纹理 3D 网格"流水线。
为什么 TRELLIS 要被拆成 40 个模型包?
整个下载包约 3.28 GB,装在一个目录里,但推理时并不是一次性加载一个大模型。拆分带来 3 个直接好处:
- 按需加载:TouchDesigner 助手可以分组载入,避免峰值内存失控
- 按包选算力路径:助手为每个包单独选择经过测试的 CPU/GPU 计算路径(改动这些路径会产生错误结果)
- 完整性校验:每个分片都有独立 SHA-256,损坏一目了然
⚠️ 注意:这 40 个包本身不是独立应用。采样、稀疏路由、FlexiCubes 提取、碎片清理、网格简化、UV 烘焙都由 TD Apple ML 的原生助手完成,缺少任何一个环节都无法生成网格。
全景图:40 个 mlpackage 的分组速查表
| 分组 | 包 | 权重体积 | 职能 |
|---|---|---|---|
| 📝 文本编码 | text_fp32.mlpackage | 470 MB | CLIP 文本编码器,把提示词变成语义向量 |
| 🌀 形状采样 | flow_mixed_attn32.mlpackage | 1.05 GB | 粗形状流模型(最大包,"采样主引擎") |
| 🧊 形状解码 | decoder.mlpackage | 141 MB | 把潜在张量解码为 256³ 稀疏占用体素 |
| 🔬 SLAT 细节链 | slat_input / slat_blocks_0~5 / slat_output | 73 MB + 6×173 MB + 18.5 MB | 稀疏潜在空间细节采样 |
| 🕸️ 网格解码链 | mesh_input / mesh_block_0~11 / mesh_up_0~1 | 27 KB + 12×13.5 MB + 9.8 MB + 1.5 MB | FlexiCubes 网格提取与上采样 |
| 🎨 外观链 | appearance_input / appearance_block_0~11 / appearance_output | 27 KB + 12×13.5 MB + 1.3 MB | 独立 Gaussian 外观解码器 + 纹理烘焙 |
合计 40 个包,体积权重几乎全部落在 flow_mixed_attn32、text_fp32 和 6 个 slat_blocks 上——它们正是"吃显存"的主力。
数据源:bundle.json 中的 size 字段(权重文件字节数)。
逐一拆解:从 text_fp32 到 appearance_output
1. text_fp32 — CLIP 文本编码器(470 MB)
流水线第 1 步。它把一句自然语言(比如 a mouse)编码为 768 维语义向量,后续所有采样都以它为条件。
- 来源:
openai/clip-vit-large-patch14(MIT 许可,见 CLIP-LICENSE.txt) - 名字里的
fp32:编码器全程 float32 计算,保证文本语义稳定——README 明确说明"该处显式使用 float32 注意力" - 配套文件:vocab.json(918 KB 词表)与 merges.txt(512 KB BPE 合并规则)负责把提示词切分成子词 ID,供该包消费
2. flow_mixed_attn32 — 粗形状流模型(1.05 GB,全场最大)
这是文本流匹配(flow matching)模型,负责从噪声中"雕刻"出粗形状潜变量。名字拆解:
mixed:混合精度——非注意力部分用混合源精度转换以压缩体积attn32:注意力层强制 float32,防止低精度下数值不稳定
它是整条流水线中最大、最贵的分片,也是"Shape Steps"参数直接作用的对象。
3. decoder — 潜在空间 → 256³ 体素(141 MB)
把流模型采样的潜在张量解码为 256³ 稀疏占用网格(occupied grid):标记哪些体素被物体占据。它是"形状采样阶段"的收尾,输出交给下游 SLAT 链继续细化。
4. slat_input / slat_blocks_0~5 / slat_output — 稀疏细节链(6 包)
TRELLIS 的核心数据结构叫 SLAT(Sparse Latent)——只给"有内容的体素"分配 token,跳过空空间,这是 3D 生成省算力的关键。
| 包 | 作用 |
|---|---|
slat_input | 把粗形状占用网格投影成稀疏 token 序列(73 MB) |
slat_blocks_0 ~ slat_blocks_5 | 6 个同构 Transformer 块(各 173 MB),在稀疏 token 上跑细节采样 |
slat_output | 输出细节潜在字段(18.5 MB) |
⚠️ 容量上限:当前助手最多支持 32,768 个占用细节格与 8,192 个池化注意力 token。超出时不会截断,而是直接报错——此时换个 seed 或用粗预览。
5. mesh_input / mesh_block_0~11 / mesh_up_0~1 — 网格提取链(15 包)
这一链把"体素级信息"变成真正的三角形网格:
| 包 | 作用 |
|---|---|
mesh_input | 稀疏 token 解码入口(仅 27 KB 权重,主要是路由结构) |
mesh_block_0 ~ mesh_block_11 | 12 个同构 Transformer 块(各 13.5 MB),逐层细化体素结构 |
mesh_up_0 | 第一级上采样(9.8 MB),FlexiCubes 提取在此发生 |
mesh_up_1 | 最终上采样与输出头(1.5 MB),产出三角形网格 |
之后助手接管:碎片清理(Minimum Piece Size 默认为最大连通件三角形数的 0.1%)、网格简化(Standard 档目标 ≤60,000 三角形,为原始数量的 1/4,几何误差上限可保留更多三角形)。两种 Mesh Detail 档位都提取完整的 256³ 学习表面。
6. appearance_input / appearance_block_0~11 / appearance_output — 外观渲染链(14 包)
独立于网格头的 Gaussian 外观解码器:
appearance_input:特征预处理(27 KB)appearance_block_0~11:12 个同构块(各 13.5 MB)生成高斯外观参数appearance_output:输出头(1.3 MB),配合多视角渲染
颜色不来自网格头的辅助颜色通道,而是由这条链渲染后,albedo 按纹素(texel)从渲染视角采样;法线输出则是几何表面法线。1024² 纹理是推荐起点。
7. 非模型文件:tokenizer 双件套与校验清单
| 文件 | 作用 |
|---|---|
| vocab.json | CLIP 词表(约 49,152 词),提示词 → 子词 ID |
| merges.txt | BPE 合并规则,与词表配套 |
| bundle.json | 格式 aml-trellis-text v1:登记 40 个包 + 全部文件的 SHA-256 与字节数,是校验下载完整性的唯一权威清单 |
| TRELLIS-LICENSE.txt | TRELLIS 权重许可(Microsoft,MIT) |
| CLIP-LICENSE.txt | CLIP 许可(OpenAI,MIT) |
如何在 TouchDesigner 中使用这 40 个包
- 在支持该 bundle 的 AML 版本中:Geo Gen → Input → Prompt,再 Manage Models → TRELLIS Text → Download
- 或手动下载完整目录(不要改动目录布局),把
Prompt Model Folder指向该文件夹 - 注意:纯图像的 TripoSR/SF3D 下载不包含这些模型
推荐起步参数(来自 README.md 实测):
- Shape Steps = 8,Detail Steps = 8,Mesh Detail = Standard,纹理 1024²
- 参考性能:Apple M4 + 24 GB 内存、模型已加载状态下,
a mouse(seed 42)耗时 112.5 秒 - 首次运行 Core ML 编译耗时更长;增加步数、网格细节、纹理分辨率都是"用时间和内存换质量"
常见问题 FAQ
Q:为什么 40 个包不合成一个大模型? 内存管理 + 按包选择计算路径 + 逐包校验,是拆分的三个动机。
Q:缺一个包会怎样? 不行。README 明确"需要完整文件夹":文本编码器、粗形状流/解码器、稀疏细节流、网格解码器、Gaussian 外观解码器缺一不可。
Q:能不能改某个包的 CPU/GPU 路径来提速? 不建议。助手已为每个包选定测试过的路径,改动可能产生错误结果而非仅变慢。
Q:和上游 CUDA 管线完全一致吗? 官方表述谨慎:原生随机 seed 在本实现内可复现,但不复现 NumPy 噪声流;与上游 CUDA 管线的完全等价尚未建立。生成结果是近似的,网格可能存在开孔或缺陷,不保证可打印或水密。
关键文件清单
- 使用说明与实测数据:README.md
- 包清单与 SHA-256 校验:bundle.json
- 词表 / BPE 规则:vocab.json / merges.txt
- 40 个模型包:
text_fp32.mlpackage、flow_mixed_attn32.mlpackage、decoder.mlpackage、slat_*.mlpackage、mesh_*.mlpackage、appearance_*.mlpackage - 许可:TRELLIS-LICENSE.txt、CLIP-LICENSE.txt
【免费下载链接】trellis-text-coreml
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



