ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

AI+Blender+UE5:从概念图到3D关卡的低成本制作工作流

AI+Blender+UE5:从概念图到3D关卡的低成本制作工作流 之前在做一个开放场景小关卡时我一直在纠结 3D 资产的来源。手搓建模太慢直接买素材又不符合“全流程自己掌控”的预期。后来我尝试把免费 AI 工具和 Blender、虚幻引擎Unreal Engine 5串成一条工作流从概念图、纹理、模型处理到关卡搭建基本都走通了。这篇文章就把这套完整工作流整理出来包含工具选型、具体操作、关键参数和踩坑记录适合想用低成本方式做 3D 关卡原型、独立游戏 Demo 或作品集场景的开发者。我会按实际制作顺序来写先用 AI 出概念图和纹理再进 Blender 生成并处理模型最后导入虚幻引擎完成地形、植被、光照和简单交互。每个环节都会说明“为什么这么做”也会给出可直接复制的配置和脚本代码。1. 这套工作流解决什么问题1.1 传统关卡制作流程的痛点一个完整的游戏关卡通常包含地形、建筑、植被、道具、材质贴图、光照和碰撞体。如果完全靠手工制作流程大概是用 Blender 或 Maya 搭建模型。展 UV、烘焙法线、绘制贴图。导出 FBX/OBJ。在虚幻引擎中摆放资产、刷地形、打灯光。这个流程对熟练工来说已经比较稳定但对个人开发者、学生和刚转行的开发者来说有两个明显问题成本高高质量模型和贴图的价格不便宜多资产场景加起来是一笔不小的开销。耗时长从零开始制作一个中等复杂度场景至少需要几周时间而且中途很容易陷入“建模细节”里出不来。AI 工具恰好可以解决这两点尤其是免费工具能把“构思→资产→场景”的链路大幅压缩。1.2 免费 AI 工具适合做什么免费 AI 工具在游戏关卡流程里真正能落地的是这几件事概念图生成用文本描述场景氛围、建筑风格、色调。纹理/贴图生成生成地形纹理、墙面纹理、天空盒素材。辅助建模通过灰度图生成高度图在 Blender 中用置换修改器或几何节点生成地形。脚本辅助用对话式 AI 生成 Blender Python 脚本自动化批量处理模型。注意我这里说的“AI 搭建关卡”不是指 AI 直接给你输出一个完整 .umap 文件而是指把 AI 嵌入到常规 DCC数字内容创作和引擎工作流中让它承担“创意生成”和“重复劳动”这两部分。这样可以大幅缩短前期筹备时间同时保留你对最终场景的控制权。2. 环境准备与免费工具选型2.1 工具清单下面的工具是我实际使用的免费方案都在各自领域里有比较成熟的社区基础环节工具作用概念图/氛围图Stable Diffusion WebUI 或 ComfyUI 的免费模型生成场景概念图、风格参考纹理生成Stable Diffusion ControlNet或直接使用 Krita AI 插件生成可平铺纹理3D 资产加工Blender 3.6 / 4.x建模、几何节点、减面、导出引擎运行Unreal Engine 5.x关卡搭建、光照、交互AI 辅助脚本Claude / ChatGPT 免费版生成 Blender Python 脚本、引擎配置思路如果你的显卡显存只有 6GB 到 8GB可以使用 Stable Diffusion WebUI 的显存优化参数或者直接选择在线免费额度。整体趋势是本地跑 SD 的下限正在降低网上也有很多轻量模型。2.2 Blender 和虚幻引擎版本注意事项Blender 和 UE5 都在快速迭代不同小版本之间的导入导出可能出现差异。本文的示例重点演示工作思路实际版本以你本机环境为准。Blender 推荐 3.6 LTS 或 4.x。虚幻引擎推荐 5.1 以上因为 5.1 之后 Nanite、Lumen、PCG 等特性整体更稳定。从 Blender 导出到 UE5 时建议使用 FBX 格式较少出现兼容性问题。如果你的 Blender 版本过低比如 3.0 以下部分几何节点功能不完整建议先升级。2.3 免费 AI 工具的本地部署要点以 Stable Diffusion WebUI 为例如果你要本地部署基本流程是安装 Python 3.10 到 3.11。克隆 WebUI 仓库。下载合适的模型文件放入 models/Stable-diffusion 目录。启动 webui-user.bat 或运行对应启动脚本。需要注意模型文件体积通常有几 GB下载需要一些时间。如果网络环境不方便也可以使用在线版本或第三方镜像但要注意数据隐私和版权风险。这里强调一点用 AI 生成的内容尤其是商业项目需要确认素材授权情况。个人学习、作品集、原型 Demo 基本没问题但真要做上架产品务必检查模型许可证和生成内容的可商用性。3. AI 生成概念图定下视觉方向3.1 为什么先出概念图关卡搭建最怕没有方向的情况下直接进 Blender 建模。有了概念图你至少能确定场景是白天还是夜晚。主体建筑材质是木头、石头还是金属。风格是写实、卡通还是低多边形。大概的构图和地形起伏。AI 生成概念图可以帮你快速试错比如一次生成 4 张不同构图挑一张最符合预期的继续推进。我常用的提示词结构是场景类型。环境光线和时间。材质和风格。画幅和机型。示例fantasy temple ruins in a jungle, sunny daylight, volumetric fog, stone walls with moss, overgrown vegetation, unreal engine 5 render style, cinematic composition, ultra wide shot, 8k, high detailed生成后选择一张最满意的图作为整个关卡的“视觉锚点”。在后续建模和摆放材质时不断回看这张图确认方向没有跑偏。3.2 从概念图到灰度图AI 概念图是彩色图不能直接作为地形高度图使用。但我们可以在 UI 里切换模型或者用 ControlNet 的 depth 模式提取深度图再把深度图导入 Blender 作为高度信息参考。另一个更简单的思路是在 Stable Diffusion 中直接生成一张“灰度地形高度图”提示词里可以写greyscale heightmap, seamless terrain heightmap, 16bit, raw displacement map, top down view生成后用 PS 或 Krita 调整曲线把灰度对比度控制在一个平滑的范围内避免地形出现陡峭悬崖。这样就有了一个最基础的地形高度图来源。需要说明的是AI 生成的高度图不一定完美但作为“初始地形”完全够用之后在 Blender 或用引擎地形工具中进一步雕刻即可。4. Blender 中把 AI 素材变成可用资产4.1 用灰度图生成地形打开 Blender推荐在 Geometry Nodes 里做地形生成这样后期可以非破坏式调整。操作流程新建一个平面细分次数建议 200 到 300得到足够网格密度。给平面添加 Geometry Nodes 修改器。使用“Grid”节点生成新的网格。把灰度图拖入 Shader Editor 或作为 Image Texture 节点引用。用 Set Position 节点根据灰度图的高度值偏移顶点 Z 轴。如果你不想手搓节点也可以直接用“Displace”修改器加载灰度图作为纹理调整强度。Blender 几何节点简化思路如下输入Grid (50m x 50m, 500x500) ↓ Texture 采样Image Texture灰度图 ↓ Sample UV用 UV 坐标采样图片 ↓ Set PositionZ 采样值 * 高度缩放 ↓ 输出地形网格实际操作中我会在几何节点里加一个 Math 节点让高度值可以动态调节。这样生成的地形不够高就调大倍数太陡就减小倍数不需要重新建模。这类节点的好处是修改灰度图、修改尺寸、修改细分数量都能实时看到变化。4.2 用几何节点散布植被和石块地形生成后接下来的工作是散布植被、石块、残垣等资产。如果这些资产来自外部素材比如 Sketchfab 的免费模型或者 Poly Haven 的模型库可以先用最基础的摆放方式手动放几个然后在几何节点里做程序化散布。我这里分享一个常用的“点散布”思路用“Distribute Points on Faces”在地形表面撒点。用“Realize Instances”把散布出的实例转为真实物体。每个点随机旋转、随机缩放避免重复感。用“Separate Children”或实例化方式把多个资产按比例混入。当然几何节点的核心价值不在于一次做多复杂的效果而在于可调节性和可复用性。第一次操作时建议只做一小块区域确认效果后再扩大范围。4.3 用 AI 生成可平铺纹理地形表面需要颜色贴图如果不想手动画贴图可以用 Stable Diffusion 配合 ControlNet 生成可平铺纹理。思路是生成一组四方连续的纹理图。在 Blender Shader Editor 中接入 Base Color。配合法线贴图增强立体感。如果不方便跑 ControlNet也可以用免费纹理网站下载比如 ambientCG、Poly Haven。它们有高质量的 CC0 纹理完全是免费可商用的。对于 AI 生成的纹理需要多生成几次找到“接缝不明显”的那一组。如果接缝明显可以在 Krita 或 GIMP 中修一下边缘。4.4 模型减面和清理从外部下载的模型通常有两种问题面数太高会在引擎里造成性能压力。命名混乱导入后难以管理。Blender 中的处理方式比较直接选中模型添加 Decimate 修改器选择 Collapse 方式调整比率到 0.3 到 0.5。检查法线按 CtrlN 重新计算外侧法线。给模型命名为“SM_石头_01”这样规范的格式方便引擎中检索。这里给出一个批量清理场景内模型的 Python 脚本思路import bpy # 遍历当前场景中所有网格对象 for obj in bpy.context.scene.objects: if obj.type ! MESH: continue # 删除历史记录减少文件体积 bpy.context.view_layer.objects.active obj bpy.ops.object.mode_set(modeEDIT) bpy.ops.mesh.select_all(actionSELECT) bpy.ops.mesh.remove_doubles(threshold0.001) bpy.ops.object.mode_set(modeOBJECT) # 统一命名SM 表示 Static Mesh if not obj.name.startswith(SM_): obj.name SM_ obj.name print(批量清理完成)这段脚本会遍历所有网格物体合并重复顶点并统一加 SM_ 前缀。在实际项目中命名规范越早做后期在引擎里越省心。4.5 从 Blender 导出 FBX导出设置是我最容易踩坑的环节尤其是轴方向和缩放比例。Blender 默认是 Z 轴向上Unreal Engine 也是 Z 轴向上所以轴方向一般不需要额外调整。重点是缩放建议在导出前把场景单位统一为厘米。重要导出参数Scale1.00。Apply ScalingsFBX All。Forward-Z。UpY。勾选 Apply Unit。路径模式Copy 并勾选 Embed Textures。如果模型带有材质纹理最好在导出时把纹理一起嵌进 FBX否则到了 UE5 里会出现材质缺失。当然嵌纹理会让文件变大所以我通常只对最终版本启用该选项。5. 虚幻引擎中导入与关卡搭建5.1 新建项目和目录规划在 UE5 中新建一个空模板Blank即可也可以选择 Third Person 模板方便后面测试角色行走。推荐创建以下目录Content/ ├── Maps/ # 存放关卡 ├── Meshes/ # 静态网格体 ├── Materials/ # 材质 ├── Textures/ # 纹理贴图 ├── Blueprints/ # 蓝图交互 └── Foliage/ # 植被这个结构能让你在资产多起来之后仍然保持清晰。个人项目可以随意一点但一旦场景复杂没有目录规划会很痛苦。5.2 导入 FBX 设置把 FBX 文件拖入 UE5 的 Content Browser。导入设置中我一般这样配置Import Uniform Scale1.0。Mesh勾选 Collision Generation在导入后处理。Normal Import MethodImport Normals and Tangents。Material Import MethodCreate New Materials 或 Do Not Create Material。取消勾选 Import as Skeletal。导入后如果模型没有碰撞可以双击模型打开 Mesh Editor在 Collision 菜单里选择 Auto Convex Collision 或 10 Boxes。这一步很关键。很多新人在引擎里看到模型能显示但角色会穿透就是因为没有生成碰撞。5.3 地形材质和图层如果地形已经在 Blender 里生成并导出可以直接导入为静态网格体。更推荐的方式是在 UE5 的 Landscape 模式下重新制作地形因为引擎地形系统支持图层描画、LOD 和更好的碰撞性能。做法是在 Modes 面板选择 Landscape。选择 Sculpt 模式用 Manage 导入高度图。准备 2 到 3 张纹理分别用于地面、碎石、草地。创建 Landscape Material并用 Landscape Layer Blend 混合纹理。材质示例思路如下LandscapeLayerBlend ├─ Layer: 草地 (Texture Base Color Normal) ├─ Layer: 岩石 (Texture Base Color Normal) └─ Layer: 泥土 (Texture Base Color Normal) 输出连接到 Material Attributes如果你想快速出效果最简单的方式是给地形使用“Landscape Material”然后手动刷层。如果使用的是导入的静态网格地形则可以直接创建一个普通 Material把 AI 生成的纹理贴到 Base Color 和 Normal 上。5.4 PCG 程序化生成快速填充场景UE 5.2 之后的 PCGProcedural Content Generation框架非常强大它能帮你把植被、碎石、栅栏等资产自动铺设在关卡里。PCG 的思路和 Blender 几何节点类似给定一个地形区域或体积PCG 根据密度参数生成一系列实例。基础 PCG 图表的搭建思路使用 Landscape Spline Sampler 或 Volume Sampler 获取放置区域。使用点密度节点限制单位面积内生成数量。用 Transform Points 随机旋转和缩放。用 Static Mesh Spawner 输出资产。实际操作中我会在 PCG 里设置“不能被实例穿透地面”的碰撞限制并使用 Density 节点让植被不在悬崖上生成。PCG 的特性变化比较快不同 UE 小版本的节点名称可能不同。建议先用 UE5 的项目模板直接体验再看官方文档更新节点细节。5.5 构建光照和反射关卡摆放完成后需要构建光照才能看到正确的明暗效果。如果你用的是 UE5 的 Lumen 实时全局光照基本场景可以在编辑器里实时看到不错的效果。但如果是静态光照需要点击 Build 按钮。建议使用 Directional Light 作为太阳光。使用 Sky Atmosphere Volumetric Cloud Exponential Height Fog 组成天空环境。使用 Sky Light 采集环境光照。第一次 Build 时按 Low 模式预览最终输出按 High。如果是夜晚场景还可以加一个 Point Light 或 Spot Light 点缀建筑内部。6. 简单交互蓝图实现开门/触发事件关卡不能只是摆设至少要有基本的玩家交互。这里用最简单的蓝图实现“靠近门按 E 开门”。6.1 创建触发盒在关卡中放置一个 Box Trigger把它放到门前面。这个触发盒会在玩家进入时触发事件。蓝图内容概述使用 Actor Blueprint 新建一个蓝图类。添加 Static Mesh Component设置为门的模型。添加 Box Collision调整范围。Event BeginOverlap 触发时播放门的旋转动画。Event EndOverlap 触发时可以关闭或者不做处理。6.2 蓝图节点逻辑简化逻辑如下Event ActorBeginOverlap → Gate 是否允许触发 → 是 → 获取门的 Static Mesh Component → 调用 AddLocalRotation → 设置变量 bDoorOpen true如果你不熟悉蓝图也可以使用 Level Sequence 做一段简单的开门动画然后用 Trigger Volume 播放。但用蓝图更灵活也方便后续加锁、音效、UI 提示。6.3 测试运行点击 Play 运行进入触发盒后门应该旋转打开。此时也可以顺便测试角色是否能正常站立在导入的网格体上这能及时发现碰撞问题。7. 常见问题与排查思路问题现象常见原因解决思路FBX 导入后大小不对单位不一致Blender 导出时勾选 Apply UnitUE 导入时确认 Scale 为 1.0模型显示为灰白色无材质纹理未嵌入 FBX或材质创建失败重新导出时勾选 Embed Textures或在 UE 中手动创建材质角色会穿透地面模型没有生成碰撞体在 Mesh Editor 中自动生成碰撞地形过高或过平灰度图高度范围没调整回到 Blender 调整 Displace 强度或使用 Curve 节点重新映射植被随机散布在悬崖上没有做坡度限制在 PCG / 几何节点中加入法线 Dot Product 判断过滤陡峭区域AI 纹理平铺接缝明显生成图不是四方连续使用 Photoshop/Krita 做 offset 滤镜修复或换用 CC0 纹理库Nanite 模型无法导入模型开口面或拓扑有问题在 Blender 中检查几何体是否为封闭不能仅使用边线排查时建议按“数据层面 → 导入设置层面 → 引擎层面”的顺序来。先确认 Blender 里的模型是正确的再看导出设置最后检查 UE 导入参数。8. 工作流总结与优化建议这套工作流的核心不是“让 AI 替代你”而是“让 AI 帮你尽快把想法变成可看的资产和场景”。整体流程可以概括为AI 生成概念图和纹理确定视觉方向。Blender 中用几何节点和修改器生成地形处理外部模型。UE5 中导入资产用 Landscape 或静态网格体搭建基础场景。用 PCG 或几何节点做程序化散布快速填充植被和细节。使用 Lumen 或静态光照构建明暗氛围。最后用蓝图为关卡加入基础交互。如果你想继续深入可以按这几个方向学习进一步学习 Blender 几何节点尤其是 Instance 属性传递和法线过滤。研究 UE5 PCG 框架和 Landscape Spline做出道路、河流、城市场景。学习 ControlNet让 AI 生成的纹理和深度图更可控。尝试用 Layered 材质组合给地形做雪、草、岩石之间的自然过渡。实际项目中我建议先把工具链跑通再追求细节。第一次做不需要做一个完整可玩的游戏流程先做一个 100 米 × 100 米的场景 Demo把“AI 出图 → Blender 处理 → UE5 摆放”这条路径走熟之后再做更大场景就会顺手很多。如果本文对你有帮助可以收藏备用。接下来动手试试挑一个小场景从一张概念图开始走一遍这套工作流你会发现免费 AI 工具 Blender 虚幻引擎的组合确实能让你以很低的成本搭出像样的 3D 游戏关卡。
返回列表