news 2026/9/8 5:55:02

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 为例,如果你要本地部署,基本流程是:

  1. 安装 Python 3.10 到 3.11。
  2. 克隆 WebUI 仓库。
  3. 下载合适的模型文件放入 models/Stable-diffusion 目录。
  4. 启动 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 里做地形生成,这样后期可以非破坏式调整。

操作流程:

  1. 新建一个平面,细分次数建议 200 到 300,得到足够网格密度。
  2. 给平面添加 Geometry Nodes 修改器。
  3. 使用“Grid”节点生成新的网格。
  4. 把灰度图拖入 Shader Editor 或作为 Image Texture 节点引用。
  5. 用 Set Position 节点根据灰度图的高度值偏移顶点 Z 轴。

如果你不想手搓节点,也可以直接用“Displace”修改器,加载灰度图作为纹理,调整强度。

Blender 几何节点简化思路如下:

输入:Grid (50m x 50m, 500x500) ↓ Texture 采样:Image Texture(灰度图) ↓ Sample UV:用 UV 坐标采样图片 ↓ Set Position:Z += 采样值 * 高度缩放 ↓ 输出:地形网格

实际操作中,我会在几何节点里加一个 Math 节点,让高度值可以动态调节。这样生成的地形不够高就调大倍数,太陡就减小倍数,不需要重新建模。

这类节点的好处是:修改灰度图、修改尺寸、修改细分数量,都能实时看到变化。

4.2 用几何节点散布植被和石块

地形生成后,接下来的工作是散布植被、石块、残垣等资产。

如果这些资产来自外部素材,比如 Sketchfab 的免费模型,或者 Poly Haven 的模型库,可以先用最基础的摆放方式手动放几个,然后在几何节点里做程序化散布。

我这里分享一个常用的“点散布”思路:

  • 用“Distribute Points on Faces”在地形表面撒点。
  • 用“Realize Instances”把散布出的实例转为真实物体。
  • 每个点随机旋转、随机缩放,避免重复感。
  • 用“Separate Children”或实例化方式,把多个资产按比例混入。

当然,几何节点的核心价值不在于一次做多复杂的效果,而在于可调节性和可复用性。第一次操作时建议只做一小块区域,确认效果后再扩大范围。

4.3 用 AI 生成可平铺纹理

地形表面需要颜色贴图,如果不想手动画贴图,可以用 Stable Diffusion 配合 ControlNet 生成可平铺纹理。

思路是:

  1. 生成一组四方连续的纹理图。
  2. 在 Blender Shader Editor 中接入 Base Color。
  3. 配合法线贴图增强立体感。

如果不方便跑 ControlNet,也可以用免费纹理网站下载,比如 ambientCG、Poly Haven。它们有高质量的 CC0 纹理,完全是免费可商用的。

对于 AI 生成的纹理,需要多生成几次,找到“接缝不明显”的那一组。如果接缝明显,可以在 Krita 或 GIMP 中修一下边缘。

4.4 模型减面和清理

从外部下载的模型通常有两种问题:

  • 面数太高,会在引擎里造成性能压力。
  • 命名混乱,导入后难以管理。

Blender 中的处理方式比较直接:

  • 选中模型,添加 Decimate 修改器,选择 Collapse 方式,调整比率到 0.3 到 0.5。
  • 检查法线,按 Ctrl+N 重新计算外侧法线。
  • 给模型命名为“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(mode='EDIT') bpy.ops.mesh.select_all(action='SELECT') bpy.ops.mesh.remove_doubles(threshold=0.001) bpy.ops.object.mode_set(mode='OBJECT') # 统一命名: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 轴向上,所以轴方向一般不需要额外调整。重点是缩放,建议在导出前把场景单位统一为厘米。

重要导出参数:

  • Scale:1.00。
  • Apply Scalings:FBX All。
  • Forward:-Z。
  • Up:Y。
  • 勾选 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 Scale:1.0。
  • Mesh:勾选 Collision Generation(在导入后处理)。
  • Normal Import Method:Import Normals and Tangents。
  • Material Import Method:Create New Materials 或 Do Not Create Material。
  • 取消勾选 Import as Skeletal。

导入后,如果模型没有碰撞,可以双击模型打开 Mesh Editor,在 Collision 菜单里选择 Auto Convex Collision 或 10 Boxes。

这一步很关键。很多新人在引擎里看到模型能显示但角色会穿透,就是因为没有生成碰撞。

5.3 地形材质和图层

如果地形已经在 Blender 里生成并导出,可以直接导入为静态网格体。

更推荐的方式是在 UE5 的 Landscape 模式下重新制作地形,因为引擎地形系统支持图层描画、LOD 和更好的碰撞性能。

做法是:

  1. 在 Modes 面板选择 Landscape。
  2. 选择 Sculpt 模式,用 Manage 导入高度图。
  3. 准备 2 到 3 张纹理,分别用于地面、碎石、草地。
  4. 创建 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 之后的 PCG(Procedural 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 Unit,UE 导入时确认 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 游戏关卡。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 5:54:56

VSCode+Python环境配置指南:从解释器到调试一次搞定

简介:在 VSCode 中配置 Python 开发环境是许多编程初学者首先遇到的问题点。这份资料围绕解释器选择、扩展插件安装、调试器调试、工作区与代码格式优化等核心环节展开,帮助读者快速搭起一套可复用的开发环境。整个资源包压缩后只有 3.54MB,共…

作者头像 李华
网站建设 2026/9/8 5:54:53

VS Code配置Python环境指南:从解释器到虚拟环境调试

简介:资源面向希望在 VSCode 中快速搭建 Python 开发环境的初学者与进阶开发者,整理了一份覆盖环境准备、插件安装、解释器选择、调试与运行配置的完整开启指南。内容以模板、配置、脚本和说明文档为主体,共 152 个文件,包含 Temp…

作者头像 李华
网站建设 2026/9/8 5:54:45

Agent内核设计:从DeepSeek-Honeycomb看稳定生产级Agent的基石

这两年有个很明显的现象:能写出 Agent Demo 的人越来越多,但能把 Agent 放进生产系统的团队依然很少。很多人拿着提示词加模型接口,很快就能让 Agent 完成“查天气、订机票”这类演示;可一旦任务换成“每周自动汇总五份线上报表&a…

作者头像 李华
网站建设 2026/9/8 5:54:16

用Excel做FastReport报表:从数据源到PDF导出的完整实践

简介:面向Delphi开发者的FastReport报表实现资料,以Excel文件作为数据源演示报表生成流程。资源共10个文件、约835KB,包含Delphi工程源文件(dpr/dfm/pas)、可运行示例程序(exe)、Excel模板及htm…

作者头像 李华
网站建设 2026/9/8 5:54:12

JavaScript定时器:setTimeout与setInterval核心用法与实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/8 5:54:02

游戏AI搭子开发日志04:角色状态、对话系统与语音联动实战

不同团队做游戏陪伴玩法,最大的坑通常不在美术,而在“角色到底怎么活起来”。进入开发者日志 04,我们这次不做大系统,核心只做一件事:把游戏里的猫娘搭子做成一个可以领取、可以养成、可以聊天的可体验角色。这期日志会…

作者头像 李华