3D 建模里的网格是什么?顶点、面、类型与文件格式
网格是 3D 物体的多边形表面:顶点、边、面,以及随之携带的法线和 UV。本文说明每个组成部分的作用、哪些属性决定后续可行性,以及各种文件格式到底保留了什么。
贴图是四个按顺序做出的决定:模型是否需要 UV、UV 岛如何排布、要制作哪几张 PBR 贴图、像素从哪里来。下面逐条给出判断依据和具体数值。
给 3D 模型做贴图,本质上是连续做四个决定:模型到底需不需要 UV、UV 该怎么排布、要制作哪几张 PBR 贴图,以及这些像素是自己画、烘焙出来、下载现成的,还是交给 AI 生成。顺序搞反,本该一个下午做完的活就会拖到下一周。
下面按顺序回答这四个问题,并给出真正决定结果的数字:纹素密度目标、烘焙用的投射笼与射线距离、色彩空间规则,以及分辨率与位深的选择。流程的结尾每次都一样——在最终要发布的引擎里看模型,而不是在贴图软件里看。
贴图出问题,几乎都不是笔刷功夫不够,而是前面某一步的决定被跳过了:为特写镜头展开的 UV,如今要跑在手机上;法线贴图对着错误的投射笼烘焙;粗糙度贴图被存成了 sRGB。下面四个问题按顺序排列,每一个的答案都会限制下一个。
UV 的作用是让 3D 表面能够被一张 2D 图像寻址。如果材质是均匀的——混凝土、拉丝不锈钢、单一塑料——那么 Blender、Substance 3D Designer 或 Material Maker 里的三平面投影和程序化节点就能直接驱动它,完全不用展开。可一旦表面需要在特定位置出现特定痕迹——贴花、烘焙好的标志、人脸、手绘划痕——就必须有 UV,因为只有贴图能存下“这个像素属于这里”这条信息。
无论用 Blender、Maya、3ds Max 还是 RizomUV,展开都是同一套动作:把若干条边标记为接缝,把网格切成一个个 UV 岛,把每个岛摊平,再打包进 0-1 的正方形里。习惯做法是把接缝放在模型本身就会断开的地方——分件缝、衣摆、腿的背面——让瑕疵落在视线不停留的位置。打包之后,再把所有岛缩放到统一的密度,道具才能和场景里其他资产保持一致。
| 用途 | 常用分辨率 | 纹素密度 | 说明 |
|---|---|---|---|
| 手游道具 | 512-1024 px | 5.12 px/cm | 细节主要靠剪影 |
| PC 或主机道具 | 2048 px | 10.24 px/cm | 主角道具最常见的默认值 |
| 主角角色或载具 | 4096 px 或 UDIM 分块 | 20.48 px/cm | 拆到多个 UDIM 分块 |
| 彩色 3D 打印 | 1024-2048 px | 8-16 px/cm | 3MF、GLB 或 OBJ 加 MTL 可用,STL 会丢 |
| 渲染与影视静帧 | 4096-8192 px | 40 px/cm 以上 | 按最终镜头距离制作 |
接缝只有在两侧像素对不上时才看得出来。三个习惯能把它藏住:把切线走在硬边或凹陷的折痕里——腋下、耳后、倒角线上;让 UV 接缝与硬边重合,使法线断开的位置和 UV 断开的位置一致;再检查 UV 岛有没有重叠,Blender 的 UV 编辑器里用“选择重叠”就能找出来。两个岛共用同一块区域,等于两块表面拿到同样的像素,针对它们的烘焙会自己和自己打架。
基于物理的材质由一小组通道描述,一般不需要一次全做。一块喷涂金属板可能需要基础色、粗糙度、金属度和法线贴图;一个风格化的道具只带基础色和一张打包遮罩也能交付。每多一张贴图就多占显存、多花烘焙时间、多占一个着色器通道,所以该怎么定,取决于表面的行为,而不是清单上勾了几项。
| 贴图 | 存的是什么 | 色彩空间 | 常见格式 |
|---|---|---|---|
| 基础色(albedo) | 不含光照的表面颜色 | sRGB | 8 位 RGB,不带阴影与高光 |
| 粗糙度 | 0 为镜面,1 为完全漫反射 | 线性(Non-Color) | 8 位灰度,常与其他通道打包 |
| 金属度 | 按金属还是绝缘体处理 | 线性(Non-Color) | 8 位,取值接近 0 或 1 |
| 法线 | 逐纹素改变方向,伪装细微细节 | 线性(Non-Color) | 8 位 RGB 切线空间;极端梯度用 16 位 |
| 高度或置换 | 用于视差或置换的高度值 | 线性(Non-Color) | 按几何体读取时用 16 位 |
几乎所有的 PBR 着色器都把金属度当成开关:塑料、木头、皮肤、喷漆金属取 0;裸铁、铝、金取 1。中间值通常是凭眼睛画贴图留下的残留,结果就是反射像金属、染色却像油漆。粗糙度正好相反,渐变本身就携带信息:真实表面大多从抛光边缘的 0.2 左右变化到磨损边角的 0.8 左右。把粗糙度、金属度和环境光遮蔽打包进一张 RGB 贴图是游戏流程里常见的省法,但前提是引擎按你写入的通道读取;glTF 规定金属度放蓝通道、粗糙度放绿通道。
| 做法 | 主要工具 | 擅长什么 | 上限在哪 |
|---|---|---|---|
| 在 3D 上手绘 | Substance Painter、Blender 纹理绘制、ArmorPaint、Krita | 风格化角色、独有磨损 | 一个主角角色可能画上好几天 |
| 高模烘焙到低模 | Substance Painter、Marmoset Toolbag、Blender Cycles、xNormal | 把雕刻细节搬到游戏可用网格 | 需要干净低模和贴合良好的投射笼 |
| 程序化材质 | Blender 节点、Substance 3D Designer、Material Maker | 平铺表面、地形、建筑 | 无法在指定位置放一个痕迹 |
| 扫描 PBR 素材库 | Poly Haven、ambientCG、Fab、Textures.com | 写实填充与场景陈设 | 许可条款和分辨率因资源而异 |
| AI 生成贴图 | Open3DAI、Substance 3D Sampler、Meshy、Rodin | 快速打底、搭结构 | 在文字和标志上偏弱 |
烘焙失败大多逃不出四种情况:低模局部法线翻转、投射笼太紧或太松、烘焙所用切线空间与引擎期望的不一致,或者色彩空间设置把法线贴图转成了 sRGB。硬边附近出现划痕或扭曲时,通常不是靠延长烘焙时间解决,而是把过渡做平滑:给硬边加一点倒角,或者拆开法线,让烘焙器有地方容纳这个转折。
顺序是:建模、展开、烘焙、画贴图、导出,最后在引擎里看它。验收比顺序更重要:用平光查看资产,别让光照掩盖接缝;缩到更小的 mip 层级,看 UV 岛边界有没有渗色;确认导出的文件真的带着贴图——GLB 和 glTF 会把基础色贴图嵌进文件,OBJ 加 MTL 引用外部文件,STL 完全不带材质,3MF 可以存颜色。Open3DAI 会把 AI 贴图随模型一起导出为 GLB、glTF、OBJ、PLY、STL 或 3MF,也支持把多个已接入的引擎并排比较;但可复用的 UV 布局仍然要先用 Blender、Maya 或 RizomUV 做出来,展开、重拓扑和绑定都属于桌面软件的工作。
各引擎的可用性、积分价格和第三方条款都会变动,投入预算或排期之前请到厂商页面确认。Open3DAI 覆盖文生 3D、图生 3D、多视图输入、AI 贴图、多引擎并排比较,导出 GLB、glTF、OBJ、STL、PLY、3MF,另有 48 种格式转换器、12 个浏览器工具和 REST API。UV 展开、重拓扑、绑定以及 CAD 级参数化建模仍然要交给桌面软件,生成出来的贴图通常是起点,还需要一轮手动调整。
取决于引擎。有的引擎从多视图渲染出发,再把结果投影回网格;有的则要求模型已经有 UV,所以要先确认具体引擎的要求。而要交给别人继续绘制的 UV 布局,仍然来自 Blender、Maya、3ds Max 或 RizomUV 里的展开步骤。
看平台和观看距离:手游常见目标是 5.12 px/cm 左右,PC 与主机道具适合 10.24 px/cm,主角角色和载具常用 20.48 px/cm。最常见的错误是在同一个场景里混用不同密度,结果就是一个资产挨着另一个资产时显得发虚。
常见原因有三个:贴图被存成了 sRGB 而不是线性;DirectX 与 OpenGL 的绿通道约定和引擎不一致;或者烘焙时使用的切线空间与引擎自己构建的不一样。可以先在导入设置里翻转绿通道,再检查色彩空间。
材质需要几张就带几张。基础色、粗糙度、金属度和法线贴图能覆盖大多数硬表面道具;环境光遮蔽往往打包进某一个通道,或者烘进顶点数据;高度和置换一般留给渲染与影视。贴图越少,显存占用越小,在移动端遇到的意外也越少。
只有当目标平台吃不下面数时才需要。把雕刻的法线、环境光遮蔽和曲率烘到减面后的网格上,可以用很小一部分三角面保住细节的可读性。如果只是一次性渲染,直接保留高模并在上面做贴图更简单,效果通常也更好。
Poly Haven 和 ambientCG 提供 CC0 的材质库,包含基础色、粗糙度、法线和置换贴图。Fab 上的扫描资产混合了免费与付费许可,Textures.com 每天有固定的下载额度。许可以单个资源为准,不要只看网站整体说明;搭场景之前也要先确认可用的分辨率。
能带走的只有颜色通道。STL 只存三角面,不含任何材质信息,所以在 Blender 里贴好的贴图一旦导出 STL 就消失了。如果切片软件或打印服务能读取颜色,就用 3MF、GLB 或 OBJ 加 MTL,并在依赖它之前先确认打印机的彩色流程。
这一步的波动比其他环节都大。用现成材质加一张烘焙法线贴图的简单硬表面道具,一个下午就能完成;带手绘磨损、多个 UDIM 分块和 4K 烘焙的主角角色,则要以天计算。AI 生成贴图主要压缩的是第一版和搭结构的阶段,最终的细节摆放仍然要手工完成。
把同一份提示词或图片交给多个引擎,并排对比网格,然后导出 GLB、glTF、OBJ、STL、PLY 或 3MF。注册即赠免费积分,无需信用卡。
网格是 3D 物体的多边形表面:顶点、边、面,以及随之携带的法线和 UV。本文说明每个组成部分的作用、哪些属性决定后续可行性,以及各种文件格式到底保留了什么。
导出格式的选择取决于下一个打开它的软件,而不是文件体积。本文说明 GLB、glTF、OBJ、STL 与 FBX 各自携带什么、会悄悄丢掉什么,以及生成工具不提供 FBX 时该怎么走通这条路。
把画面凸出表面、刻进表面、作为贴图投影上去,以及用画面控制材料厚度,是四件不同的工作,工具不同、参数也不同。下面说明每种做法需要什么,以及打印前该怎么检查。