实用的 3D 资产生成:分步指南
简介
生成式 AI 已成为游戏开发艺术工作流中不可或缺的一部分。然而,正如我在之前的文章中详细介绍的那样,文本到 3D (text-to-3D) 在实际应用方面仍然落后于 2D。这种情况正在开始改变。今天,我们将重新审视 3D 资产生成的实用工作流,并逐步了解如何将生成式 AI 集成到 PS1 风格的 3D 工作流中。

为什么是 PS1 风格?因为它对当前文本到 3D 模型的低保真度更为宽容,并允许我们以最少的努力从文本生成可用的 3D 资产。
先决条件
本教程假定你具备 Blender 和 3D 概念(如材质和 UV 映射)的一些基本知识。
第 1 步:生成 3D 模型
首先访问 Shap-E Hugging Face Space 这里 或下方。该 Space 使用开源的 Shap-E 模型,这是 OpenAI 最近推出的一个扩散模型,用于从文本生成 3D 模型。
输入 “Dilapidated Shack”(破旧的小屋)作为提示,然后点击“Generate”(生成)。当你对模型满意时,下载它以进行下一步。

第 2 步:导入和减面模型
接下来,打开 Blender(3.1 或更高版本)。转到 File -> Import -> GLTF 2.0,然后导入你下载的文件。你可能会注意到,该模型的多边形数量远超许多实际应用(如游戏)的建议值。

为了减少多边形数量,选择你的模型,导航到 Modifiers,然后选择“Decimate”(减面)修改器。将比率调整为一个较低的数值(例如 0.02)。这可能看起来*不会*很好。然而,在本教程中,我们将拥抱这种低保真度。
第 3 步:安装 Dream Textures
为了给我们的模型添加纹理,我们将使用 Dream Textures,这是一个用于 Blender 的 Stable Diffusion 纹理生成器。按照官方仓库上的说明下载并安装该插件。

安装并启用后,打开插件首选项。搜索并下载 texture-diffusion 模型。
第 4 步:生成纹理
让我们来生成一个自定义纹理。在 Blender 中打开 UV 编辑器,然后按 'N' 打开属性菜单。点击 'Dream' 选项卡并选择 texture-diffusion 模型。将提示设置为 'texture',并将无缝设置为 'both'。这将确保生成的图像是无缝纹理。
在 'subject' 下,输入你想要的纹理,比如 'Wood Wall'(木墙),然后点击 'Generate'。当你对结果满意时,给它命名并保存。

要应用纹理,选择你的模型并导航到 'Material'(材质)。添加一个新材质,在 'base color'(基础颜色)下,点击圆点并选择 'Image Texture'(图像纹理)。最后,选择你新生成的纹理。
第 5 步:UV 映射
现在是 UV 映射的时间,它将我们的 2D 纹理包裹在 3D 模型上。选择你的模型并按 'Tab' 进入编辑模式。然后,按 'U' 展开模型并选择 'Smart UV Project'(智能 UV 投射)。
要预览你的带纹理的模型,切换到渲染视图(按住 'Z' 并选择 'Rendered')。你可以放大 UV 贴图,使其在模型上无缝平铺。记住,我们的目标是复古的 PS1 风格,所以不要做得太精致。

第 6 步:导出模型
当你对模型满意时,就可以导出它了。导航到 File -> Export -> FBX,瞧!你就拥有了一个可用的 3D 资产。
第 7 步:导入 Unity
最后,让我们看看我们的模型在实际应用中的样子。将它导入 Unity 或你选择的游戏引擎中。为了重现怀旧的 PS1 美学,我使用了自定义的顶点光照着色、无阴影、大量雾效和抖动的后期处理对其进行了定制。你可以在这里阅读更多关于重现 PS1 美学的内容。
就这样,我们在虚拟环境中拥有了低保真、带纹理的 3D 模型!

结论
以上就是如何使用生成式 AI 工作流创建实用 3D 资产的全部内容。虽然结果是低保真度的,但其潜力是巨大的:只要付出足够的努力,这种方法就可以用来生成一个无限的低保真风格世界。随着这些模型的改进,将这些技术应用于高保真或现实主义风格也可能变得可行。
如果你跟着教程创建了自己的 3D 资产,我很想看看。要分享它们,或者如果你有问题或想参与我们的社区,请加入 Hugging Face Discord!