在这个简短的教程中,我们将看看如何在 Unity 6 中使用从 Blender 4.5 导出的对象的 Vertex Colors。


本教程不提供中文配音。您可以在下方观看英语配音的视频,并选择中文、英文或其他语言的字幕。视频下方提供了翻译成中文的文字稿。


视频文字稿

大家好。在这个简短的教程中,我们将看看如何在 Unity 6 中使用从 Blender 4.5 导出的对象的 Vertex Colors。视频中展示的这些对象没有任何 Texture,实际上它们甚至没有一个基础 Material。不过,它们确实包含 Vertex Colors,这些颜色是通过 Blender 的 Vertex Painting 工具定义的。在 3D Viewport 的 Solid 模式下,通过在 Viewport Shading 菜单中将 Object Color 从 Material 切换为 Attribute,就可以看到这些颜色。

当在 Vertex Paint 模式下定义 Vertex Colors 时,Blender 会为该对象创建一个 Attribute。你可以在 Object Data 选项卡中找到它。默认情况下,这个 Attribute 的 Domain 设置为 Face Corner,Data Type 设置为 Byte Color。这些设置完全满足我们的需求。

我将所有对象以 FBX 格式导出。不需要将 Copy 模式设置为 Embedded Textures,因为正如前面所提到的,没有 Materials 或 Textures,只有通过 Attribute 与几何体关联的颜色信息。

在 Unity 中,第一步是将 FBX 文件导入到 Project 中,然后在 Inspector 中打开 Material 选项卡。在该选项卡中,我将 Material Creation Mode 更改为 Standard Legacy 并应用更改。这样会为导入模型的 prefab 生成一个空的 Material。

要分配给该模型的 Material 必须使用自定义 Shader 创建。因此在 Project 中,我创建一个新的 Shader Graph,并选择 URP Lit,因为该项目使用 Universal Render Pipeline。我将这个新资源重命名为 Vertex Color Shader Graph。正如你所看到的,这个新资源内部已经包含一个 Material。

我双击 Shader Graph 资源,在专用窗口中将其打开。在该窗口内,我添加一个 Vertex Color 节点,并将其直接连接到 Fragment 的 Base Color 输入端口。随后,Shader 的 Main Preview 会更新。

不过要注意,此时 Shader Graph 的更改还没有被应用,仅仅保存项目是不够的。要将更改应用到 Scene Graph,必须点击窗口左上角的保存按钮。可以看到,Unity 需要几秒钟时间来实际应用这些更改。

此时,我在 Project 中选择导入的对象,然后在 Inspector 的 Material 选项卡中,将刚刚编辑的 Shader Graph 中的 Material 拖拽过来并应用更改。在 Inspector 的模型预览中,我们已经可以看到对象显示出了在 Blender 中定义的 Vertex Colors。

通过在当前场景中创建该 3D 模型的实例,我们就能得到按预期显示颜色的模型。因此,如果你想构建原型,或者你的项目希望呈现风格化效果,就没有必要在 Blender 中创建 Materials 或 Textures。你只需定义 Vertex Colors,并按照我刚才展示的方式在 Unity 中使用它们。

本期视频就到这里。如果你觉得有帮助,可以点赞并订阅频道支持我。不要忘记开启通知,这样就不会错过接下来的教程。我们下次再见。

搜索教程

输入短语,或输入多个用逗号分隔的关键词进行搜索。

本站提供 Francesco Milanese 制作的 3D 模型、教程及计算机图形相关资源。3D 模型的使用许可可通过各模型页面上的链接前往第三方商店购买,并须遵守适用的许可条款。 Francesco Milanese — 意大利增值税号:06321250877。 联系方式:info@francescomilanese.com


高级隐私策略信息和cookie文件的使用