涉及知识
4 个着色模式
图标 | 模式名称 | 显示效果 | 主要用途 |
---|---|---|---|
🌍 网格球 | 线框模式 (Wireframe) | 只显示物体的线框,内部可见 | 观察结构、选取隐藏的顶点/边/面 |
⚪ 灰色球 | 实体模式 (Solid) | 显示纯色的物体,有基本光照 | 建模最常用,直观清晰 |
🌐 半亮球 | 材质预览模式 (Material Preview / LookDev) | 显示材质、贴图,使用 HDRI 环境光照 | 检查贴图和材质效果 |
🎥 镜头圆形 | 渲染模式 (Rendered) | 按渲染引擎实时显示最终效果 | 预览最终画面质量、灯光、材质 |
如果导入的模型是灰模,请查看是否为材质预览模式
Blender 模型常见组成部分
中文名 | 英文名 | 说明 |
---|---|---|
网格 | Mesh | 模型的几何体(顶点、边、面),就是你看到的“身体/衣服/武器”那部分。 |
骨骼 | Armature | 骨架系统(Skeleton),用于驱动网格的运动。 |
材质 | Material | 定义物体的外观,比如颜色、金属感、透明度。 |
纹理 | Texture | 材质里用到的图片贴图(jpg/png 等),常见有颜色贴图 (Base Color)、法线贴图 (Normal Map)、粗糙度贴图 (Roughness)。 |
着色器 | Shader | 材质的计算方式,Blender 里常用 Principled BSDF。 |
物体 | Object | Blender 场景里的一个实体,可以是 Mesh、Armature、Camera 等。 |
集合 | Collection | 场景管理文件夹,把多个物体归类。 |
修改器 | Modifier | 非破坏性建模工具,比如 Mirror(镜像)、Subdivision(细分)、Armature(骨骼绑定)。 |
形态键 | Shape Key | 也叫 Morph Target,用来存储模型的不同变形(比如表情、嘴型、肌肉抖动)。 |
顶点组 | Vertex Group | 网格里的一组顶点,常用于骨骼绑定(权重)、蒙皮或遮罩。 |
权重 | Weight | 顶点与骨骼的绑定强度(0~1),通过 Weight Paint 可视化。 |
动画 | Action / Animation | 骨骼或物体的关键帧动作。 |
约束 | Constraint | 附加规则(比如 IK 反向动力学、Copy Rotation)。 |
物理系统 | Physics | 碰撞、布料、头发、刚体等模拟系统。 |
步骤
1.下载MMDTools(对于PMX格式文件),
2.选中整个模型,点击Convert to Blender,这样导出的FBX文件材质才能正确的与Mesh匹配
3.导出时全选角色,选择只导出选中部分,原因参考问题1
4.如果有显示错误请参考问题2
问题1:多了很多蓝色的物体,禁用之后显示的是正确的模型
MMD 的材质描边系统
- MMD 模型常常在材质里加“描边”,是通过复制一份模型、反转法线、用纯色材质来做。
- 导出到 Unity 后,这些“描边 Mesh”就会变成额外的蓝色物体。
透明材质/遮罩层
- PMX 有些部件(比如眼睛、发丝阴影)用了半透明贴图。
- Blender/Unity 转换时,有些透明通道识别成了纯色(常见是蓝色或紫色)。
导出时保留了辅助 Mesh
- PMX → OBJ 的导出会把所有 mesh 都导出(包括你不需要的描边部分)
只导出需要的材质
- 在 Blender → 导出 FBX 的时候,勾选 Only Selected Objects。
- 先在 3D 视图里只选中“真正的模型部分”,排除掉蓝色辅助 Mesh。
- 导出后,Unity 里就不会有那些多余物体。
问题2:unity在错误的方向渲染模型
查看面的法线方向是否正确:
启用面朝向显示(Face Orientation),蓝色表示法线朝外,红色表示法线朝内,这里大概率是不正确的,所以有2种解决方式:
方法 1:在 Unity 材质里开启双面渲染(推荐简单)
选中这个带子材质(Material),由于这是 Shader 导入的默认材质,而不是你自己新建的材质Unity 把它当成“只读材质”,所以你看不到可编辑的下拉菜单。这种情况下,材质是从 FBX/OBJ 自动生成的,部分选项是锁定的。所以我们创建变体
在 Inspector → Surface Options → Render Face 里改成 Both。这样 Unity 会把正反两面都渲染。
- 优点:快速,不改模型。
- 缺点:显卡负担稍微大一点(但对小带子基本没影响)。
方法 2:在 Blender 里给带子加厚度(推荐长期)
- 在 Blender 里选中这个带子。
- 进入 编辑模式 (Tab) → 全选面。
- 在右侧 Modifier(修改器) 面板,加一个 Solidify(实体化) 修改器。
- 设置 Thickness(厚度)为一个很小的值,比如
0.001
。
- 设置 Thickness(厚度)为一个很小的值,比如
- 应用修改器(Apply)。
- 这样带子就有厚度了,内外都会有法线 → Unity 里不需要双面渲染也能正确显示。
通过快捷键1 → 点(Vertex)选择2 → 边(Edge)选择3 → 面(Face)选择(注意要在 Edit Mode 编辑模式 下才能用),改为面选择
那为什么脚会被拉长?(未解决)
骨骼映射齐全 ✅但播放 Humanoid 动画时,脚部顶点跟着小腿/大腿骨跑了 ❌ 说明脚的 Mesh 顶点权重被错误分配。
骨骼绑定 (Skin / Armature Modifier)
当你在 Blender/Unity 里把一个网格(Mesh)和一个骨架(Armature)绑定后,实际上只是在告诉软件:
👉 这个网格可以跟随骨骼动。
但是!此时网格上的 每个顶点 并不知道该跟随哪根骨骼,也不知道该跟随多少。
结果就是:如果没有权重,整个模型会像一块“铁板”一样随一根骨骼一起动,其他骨骼没效果。
权重就是告诉模型的每个顶点:
- 它受哪些骨骼影响?
- 影响程度是多少(0 ~ 1 之间的值)?
比如:
- 大腿顶点:70% 受大腿骨影响 + 30% 受髋骨影响
- 膝盖顶点:50% 大腿骨 + 50% 小腿骨
- 小腿顶点:80% 小腿骨 + 20% 脚骨
这样当你弯曲膝盖时,网格才会 自然过渡,不会出现硬折或撕裂。
修改A pose 到T pose(反之亦然)
教程地址:https://www.youtube.com/watch?v=10YSMWOQv8g&t=10s
1.选中骨骼,进入pose模式。旋转胳膊的根节点使大致呈T型
2.切换会Object模式,选中身体的mesh(不包括头发,包括衣服),创建一个(蒙皮)修改器,它的作用就是:让一个网格跟随骨架(Armature)变形
建一个角色模型 → 给它加 Armature Modifier → 绑定骨架 → 网格就能随骨架动。
新建的Modifier,object选中当前模型的骨骼(与上保持一致)
3.下载Skkeeper
在 Blender 中,修改器 (Modifier) 一般不能直接和 形变键 (Shape Keys) 一起工作。
- 如果你有一个带形变键的人物/表情模型,一旦应用修改器(比如 Mirror、Subdivision、Solidify 等),形变键很可能会丢失或出错。
SKkeeper 的作用就是:
👉 自动执行“带形变键的网格应用修改器”的过程,并尽可能 保持形变键 (Shape Keys) 的完整性。
4.切换到Pose模式
衣服和身体mesh分离的情况见视频教程