搭建一个完整的3D游戏关卡,过去通常需要建模、地编、技术美术和程序协作完成:先在Blender里建资产,再导入虚幻引擎,摆放、打光、调碰撞,最后还要反复运行游戏验证可玩性。现在借助免费AI工具,单人也能把这套链路跑通。下面记录的就是一次“AI游戏开发”实战:我如何只使用免费AI工具,从一句话创意开始,搭建出整个3D游戏关卡,并最终在虚幻引擎里跑起来。整套流程里会用到的核心软件是Blender和Unreal Engine,辅助工具是各类免费AI对话、AI绘图和AI建模服务。如果你正在准备做游戏原型、参加Game Jam,或者想用低成本方式学习关卡设计,这条工作流可以直接复用。
需要先说明:AI并不能一个键生成整个关卡。真正可行的工作流是把关卡制作拆成多个环节,每个环节用合适的免费AI工具加速,并保留人工检查和修复。下面先拆解整体流程。
1. 先理解这套工作流:免费AI到底能承担哪些环节
1.1 传统关卡制作流程的成本瓶颈
传统游戏关卡制作通常要经历策划文档、白盒搭建、美术资产生产、地编摆放、灯光氛围、程序交互、性能优化这几个阶段。单看任何一步都不算特别难,但连在一起就会形成明显的瓶颈:策划文档改一句话,资产清单就要跟着改;资产生产慢,地编就只能用占位模型;灯光和性能不匹配,画面再好也会掉帧。
对于个人开发者和小团队来说,最大的成本其实不是软件,而是“每个环节都需要一个人具备完整技能”。建模师不一定懂蓝图,程序不一定懂灯光,TA不一定懂策划。免费AI工具的价值,是让一个人能更快地完成多个角色的基础工作,同时保留最终判断权。
| 环节 | 传统依赖 | 出现问题时 |
|---|---|---|
| 概念与设计 | 策划经验、文档能力 | 需求不清导致返工 |
| 3D资产 | 建模师、雕刻师 | 制作慢,风格不统一 |
| 纹理贴图 | 绘师、付费素材库 | 授权风险、风格割裂 |
| 引擎整合 | 技术美术、程序 | 材质、碰撞、性能问题集中爆发 |
1.2 免费AI工具可以介入的四个环节
第一,文案和策划。AI对话工具最擅长把模糊需求转成结构化内容。我可以让它生成关卡设计文档、敌人分布、任务描述、资产清单,甚至帮我规划制作顺序。第二,视觉参考。AI文生图工具可以根据文字生成场景概念图、材质参考图和光照氛围图,用来统一风格。第三,资产生产。AI可以生成纹理贴图、高度图,甚至在在线平台上生成3D粗模,再由Blender做清理和导出。第四,逻辑代码。AI可以生成蓝图节点思路、C++函数片段和接口调用代码,帮我在UE里快速落地交互功能。
这四个环节不是完全并列的。早期概念阶段AI介入最安全,因为错了直接改文字;资产阶段AI介入效率最高,但需要人工检查;代码阶段AI产出的是“建议”,必须放进真实工程里编译验证。
1.3 我的工具组合和替代选择
我使用的组合没有绑定任何固定品牌,核心是按用途选择免费工具类型。
| 用途 | 我使用的工具类型 | 可替代方向 | 免费注意点 |
|---|---|---|---|
| 文本生成 | AI对话助手免费版 | 各类支持网页版本的对话AI | 有次数和长度限制 |
| 概念图与材质 | AI文生图工具 / 本地Stable Diffusion | 在线绘画工具或本地SD | 在线可能有水印;本地需要显卡 |
| 3D粗模 | 在线图生3D工具 | AI生成高度图 + Blender雕刻 | 免费输出质量有限 |
| 清理与导出 | Blender | 无 | 开源免费,授权风险低 |
| 引擎整合 | Unreal Engine 5 | 无 | 免费下载,发布按官方协议 |
这些工具的名称和免费额度经常变化,开始项目前要重新确认一次当前条款,尤其注意是否可以商用。
1.4 锁定交付物:一个可玩关卡的验收标准
如果一开始不定义“完成”,很容易在AI生成内容里越陷越深。我给这次实践定义的验收标准是:
- 玩家能进入场景并自由移动,不会掉出世界;
- 墙体、岩石、台阶等主要碰撞体有效;
- 至少有一个可交互机制,比如开门或开箱;
- 关键区域灯光合理,不会全黑或过曝;
- 帧率在目标硬件上稳定;
- 工程目录和资产命名清晰,后续可以继续扩展。
后面的所有环节,都以这六条为最终目标。
2. 环境准备:把Blender、Unreal和AI工具的底座先确认好
2.1 硬件配置建议
免费AI工具分成两类:一类是网页在线工具,硬件要求低;另一类是本地运行的AI绘图或AI建模工具,对显卡要求高。Unreal Engine本身也比较吃硬件,所以需要先做好预期。
| 组件 | 最低建议 | 推荐 | 说明 |
|---|---|---|---|
| CPU | 6核 | 8核以上 | 影响UE编译和着色器构建 |
| 内存 | 16GB | 32GB | 大型关卡编辑时内存占用明显 |
| 显卡 | 6GB显存 | 8GB以上 | 影响编辑器流畅度和AI本地生成 |
| 硬盘 | SSD 50GB | NVMe 1TB | UE工程、缓存和AI素材占用大 |
| 网络 | 可访问常用网站 | 稳定宽带 | 在线AI工具需要持续网络连接 |
如果只使用在线AI工具,本地显卡压力会小一些,但UE项目仍然需要一块靠谱的显卡。显卡驱动建议更新到厂商最新稳定版,避免在编辑器中遇到奇怪的闪屏或崩溃。
2.2 软件版本与安装
我在实践中使用Blender 4.x LTS和Unreal Engine 5.x。具体版本号会持续更新,建议以官网发布为准。安装时不要只装默认选项,要检查是否安装了Blender的“Object: Import-Export”相关插件。大多数情况下,OBJ和FBX导入导出功能已经内置,但如果你从其他工具拿到的是GLTF格式,需要在Blender偏好设置里确认GLTF导入插件已经启用。
UE安装时建议先安装Epic Games Launcher,再通过它安装Unreal Engine。第一次创建项目时选择“Third Person”蓝图模板,这样能直接获得角色控制、输入映射和默认地板。新手不要一开始就选空模板,否则还要手动配置Pawn和输入,成本会高很多。
2.3 账号、免费额度和商用授权
免费AI工具有三种常见限制:每日生成次数、输出分辨率限制、商业授权限制。AI生成的图片和模型可能涉及训练数据版权问题,公开发布前必须查清服务条款。不同工具对“个人免费”“学习免费”“商用免费”的定义不一样,不能靠习惯猜测。
Blender和Unreal Engine本身可以免费使用。UE虽然在游戏营收达到一定门槛后需要按官方协议支付费用,但那是发布阶段的事,学习、原型和个人练习阶段没有影响。这里建议只记住一个原则:所有AI生成内容,只要不确定授权,就只用于学习环境,不要直接塞进商业作品中。
2.4 开始前的环境检查清单
为了避免做到一半才发现基础环境有问题,我在项目开始前会逐项检查:
- [ ] 显卡驱动已更新,UE5能正常启动;
- [ ] Blender可以打开并渲染默认立方体;
- [ ] UE5能创建并运行Third Person模板项目;
- [ ] AI对话工具可访问并且有可用额度;
- [ ] AI绘图或3D工具能完成一次测试生成;
- [ ] 磁盘剩余空间至少50GB。
这些检查都很基础,但能有效隔离问题。如果后面出现“卡死、黑屏、生成失败”,至少可以先排除环境原因。
3. 把一句话创意变成关卡设计文档:先用AI对齐目标
3.1 用结构化提问生成关卡概念文档
让AI生成关卡设计文档,最忌讳只写一句话“帮我设计一个关卡”。输出的内容会非常泛,无法直接落地。我在实践中会给出主题、面积、玩法、平台、美术风格等约束条件,再让它输出结构化文档。
一个可复用的提示词模板如下:
你是一个有经验的游戏关卡设计师。请为一个第三人称动作游戏设计一个小型关卡。 背景: - 关卡主题:废弃矿洞外围的废墟营地 - 关卡面积:约50米 x 50米的可探索区域 - 玩法目标:玩家进入营地,击败三个守卫,解开一扇上锁的门 - 平台:PC,虚幻引擎5实现 - 美术风格:写实低模 请输出: 1. 关卡流程(出生点、战斗区、奖励区、出口) 2. 关键路径和分支路线 3. 资产管理清单(模型、材质、碰撞、声音) 4. 性能预算 5. 实现优先级AI输出后,我会删除明显不合理的部分,比如把敌人数量改成符合自己能力范围的数量,把复杂机制换成简单的“开门”交互。这个阶段的关键不是让AI给你最终答案,而是用它把模糊想法变成可讨论的结构。
3.2 用AI输出资产清单和制作优先级
概念文档出来后,下一步是让AI继续生成一张资产清单。免费AI对话工具通常能给出一张非常像样的表格,但需要人工整理成真正可执行的制作顺序。我在这次实践中整理出的资产表格式大概是:
| 资产 | 位置 | 生成路线 | 优先级 |
|---|---|---|---|
| 岩石组 | 战斗区两侧 | AI高度图 + Blender雕刻 | 高 |
| 木门 | 出口 | 基础模型 + AI木纹贴图 | 高 |
| 铁箱子 | 奖励区 | 在线图生3D粗模 + 清理 | 中 |
| 火把 | 营地灯光点 | 基础圆柱 + AI火焰贴图 | 中 |
| NPC守卫 | 战斗区 | 先用胶囊体占位,后续替换 | 低 |
这里最重要的习惯是“先用占位模型,不把AI生成角色作为初期依赖”。角色资产涉及动画、骨骼和碰撞,复杂度远高于静态岩石,把它放在后面并不会阻碍关卡验证。
3.3 让AI生成灰盒布局方案
AI无法直接输出UE可用的Blockout文件,但它可以给出文字平面图。比如这次得到一个类似下面的布局:
[出生点] | 窄通道 A | [战斗广场] -------- [高台掩体] | 侧通道 B | [奖励房间] -------- [出口门]拿到这张图后,我在UE里用Cube搭建白盒,验证距离、视线和路径是否合理。白盒阶段不需要任何AI生成的精致材质,因为目标是验证玩法动线,不是验证美术效果。
3.4 人工检查设计文档:AI输出不是最终答案
AI生成的设计文档存在三个常见问题:路径可能不闭环,玩家会走到死路;资产清单可能包含重复或无用资产;关卡面积与实际制作能力不匹配。因此在进入建模前,我会着重检查三条:
- 从出生点到出口是否至少有一条主路径和一条分支路径;
- 每个战斗区域是否有掩体、敌人位置和玩家进入方向;
- 需要的资产是否可以复用,比如岩石能否放在多个位置,木门是否能作为通用门。
人工检查看起来费时间,但比后期推倒重来划算得多。
4. 3D资产生产:在Blender里清理由AI生成的模型和贴图
4.1 三条免费生成3D资产的路线
免费AI生成3D资产有三条常见路线,适合不同资产类型:
| 路线 | 适合资产 | 免费成本 | 需要人工处理 |
|---|---|---|---|
| AI高度图 + Blender雕刻 | 地形、大石头 | 低 | 雕刻后需要展UV |
| AI贴图 + 基础低模 | 门、箱子、墙面 | 低 | 需要处理接缝 |
| 在线图生3D粗模 | 复杂道具、装饰 | 中 | 拓扑、法线、碰撞体修正 |
第一条路线对显卡要求较低,适合做地面和大型岩石。第二条路线适合做规则几何体,只要把AI生成的贴图贴到Cube或Cylinder上就有不错效果。第三条路线适合“AI生成一个看起来复杂的模型”,但输出通常充满三角面,必须进入Blender清理。
4.2 用Blender Python脚本清理AI模型并导出FBX
AI生成的模型进入UE前,我会在Blender里做一次标准化清理。这个步骤可以通过Python脚本自动化,脚本会清空场景、导入OBJ、应用变换、修正法线,再导出成FBX。
import bpy # 清空当前场景 bpy.ops.object.select_all(action='SELECT') bpy.ops.object.delete() # 导入OBJ,AI工具导出路径改为你的文件 OBJ_PATH = r"D:\ai_assets\rock.obj" bpy.ops.wm.obj_import(filepath=OBJ_PATH) # 对当前模型应用全部变换,确保缩放为1 if bpy.context.active_object: bpy.ops.object.transform_apply(location=True, rotation=True, scale=True) bpy.ops.object.shade_smooth() bpy.context.active_object.name = "SM_Rock_01" # 检查并修正反向法线 bpy.ops.object.mode_set(mode='EDIT') bpy.ops.mesh.select_all(action='SELECT') bpy.ops.mesh.normals_make_consistent(inside=False) bpy.ops.object.mode_set(mode='OBJECT') # 导出为FBX,按UE默认坐标轴 bpy.ops.export_scene.fbx( filepath=r"D:\ue_project\Content\Models\SM_Rock_01.fbx", use_selection=True, apply_unit_scale=True, axis_forward='-Z', axis_up='Y' )这段脚本只处理单个对象,批量资产可以在外面套一个for循环。关键是最后三行:axis_forward='-Z'和axis_up='Y'是Unreal Engine常用的坐标轴设置,避免模型导入后翻转90度。
4.3 统一坐标轴、单位和命名规则
Blender默认单位是米,UE默认单位是厘米。如果在Blender里把一个2米高的门导出,导入UE时不做处理,它可能变成2厘米。两种常见解法:一是在Blender里按厘米建模;二是导入UE时在FBX导入面板里设置Import Uniform Scale为100.0。最稳妥的做法是先用一个立方体测试,确认导入尺寸正确后再批量导入。
命名规则也要统一。静态网格用SM_前缀,材质用M_前缀,贴图用T_前缀,蓝图用BP_前缀,地图放在Maps目录。AI生成的默认名称通常是untitled或一串乱码,不重命名会导致后面很难定位问题。
4.4 贴图大小、材质命名和碰撞体
免费AI生成的贴图通常是1024或2048分辨率。建议保存为PNG或TGA,不要直接保存成JPG,否则alpha通道和颜色精度会受损。命名按通道区分,比如T_Rock_01_D表示颜色贴图,_N表示法线,_RMA表示粗糙度/金属度/AO打包贴图。
碰撞体方面,AI生成模型的拓扑通常不适合直接做碰撞。我的做法是在UE导入后,先移除默认碰撞,再根据资产类型添加Simple Box或Simple Convex。地形和岩石可以用简单碰撞,门和箱子最好用手动调整过的盒体碰撞,避免角色被看不见的凸包卡住。
5. 在虚幻引擎5里组装关卡:导入、摆放、交互和接口调用
5.1 创建UE项目并整理内容目录
使用Third Person蓝图模板创建项目,能直接获得角色控制、输入映射和默认Character。创建完成后,我会先整理Content目录:
Content/ Blueprints/ Maps/ Materials/ Meshes/ Textures/ UI/ Data/AI生成的素材先放到临时文件夹,再按类型导入对应目录。这一步看起来琐碎,但能避免后续“贴图打不开”“材质找不到”的问题。UE编辑器中的内容浏览器和本地的文件浏览器不同,直接在本地移动文件会导致引用丢失,所以尽量在编辑器里创建和管理文件。
5.2 导入FBX和贴图,设置导入参数
把Blender导出的FBX拖入Content/Meshes,贴图拖入Content/Textures。导入FBX时,打开导入设置面板检查几个关键项:
| 项目 | 推荐值 | 说明 |
|---|---|---|
| Import Uniform Scale | 1.0或100.0 | 根据Blender单位调整,先用立方体测试 |
| Normal Import Method | Import Normals | 如果模型法线不正确,再选择重新计算 |
| Generate Lightmap UVs | 勾选 | 否则光照构建后容易出现黑面 |
| Import Collision | 根据需求 | 复杂模型建议不自动生成Collision |
导入后选中模型,在Mesh Asset上检查“Material”列表是否有内容。如果材质是紫色,说明贴图没有正确关联,需要重新指定贴图路径。
5.3 搭建地形、建筑和光源
灰盒验证通过后,把Cube替换成AI生成并清理过的静态网格。地面可以用Landscape,也可以直接用大平面配合AI生成的贴图。复杂地形不是必须,很多小型关卡用静态网格组合就能完成。
灯光和后期处理是画面质量的关键,推荐从一个稳定的初始值开始:
| 灯光或后处理 | 初始参考值 | 说明 |
|---|---|---|
| Directional Light | Intensity 5到8,角度约35度 | 模拟午后光线,边调边看 |
| Sky Atmosphere | 开启 | 让天空和远景色调一致 |
| Exponential Height Fog | Density约0.01 | 让远处不会清晰得发假 |
| Post Process Volume | Lumen,ACES色调映射 | 画面更接近游戏效果 |
这些参数不要照抄,不同关卡大小和资产亮度差别很大。最有效的做法是先在关卡中放一个第三人称角色,然后一边移动一边调整灯光角度和曝光。
5.4 用蓝图做一个基础交互:门开关
在这个关卡中,我实现了一个简单的门交互。节点链路可以这样理解:
(1)在Door蓝图里加一个BoxComponent作为触发区域。 (2)绑定OnActorBeginOverlap和OnActorEndOverlap事件。 (3)重叠时设置CanInteract=true,离开时设置false。 (4)交互事件调用Timeline,Timeline输出0到1的浮点数。 (5)用Lerp(StartLocation, EndLocation, Alpha)设置门Mesh的RelativeLocation。Timeline的好处是让门的移动过程平滑,而不是瞬间切换位置。真实项目中还需要加入音效、动画和输入锁定逻辑,但对于原型来说,这段蓝图已经能验证基础交互是否合理。
5.5 根据接口文档调用已有后端接口
当关卡需要从后端读取任务配置或上报玩家数据时,就要按接口文档进行HTTP调用。UE的HTTP模块可以通过C++封装成一个小客户端类,再在蓝图里调用。
示例代码如下:
#include "HttpModule.h" #include "Interfaces/IHttpRequest.h" #include "Interfaces/IHttpResponse.h" #include "Dom/JsonObject.h" #include "Serialization/JsonReader.h" #include "Serialization/JsonSerializer.h" void UMyApiClient::FetchLevelConfig(const FString& LevelId) { TSharedRef<IHttpRequest, ESPMode::ThreadSafe> HttpRequest = FHttpModule::Get().CreateRequest(); HttpRequest->SetVerb(TEXT("GET")); HttpRequest->SetURL(TEXT("https://api.example.com/level/") + LevelId); HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json")); // 如果接口文档要求Bearer Token,可以在这里添加 // HttpRequest->SetHeader(TEXT("Authorization"), // FString::Printf(TEXT("Bearer %s"), *AccessToken)); HttpRequest->OnProcessRequestComplete().BindUObject(this, &UMyApiClient::OnRequestCompleted); HttpRequest->ProcessRequest(); } void UMyApiClient::OnRequestCompleted( FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful) { if (!bWasSuccessful || !Response.IsValid()) { UE_LOG(LogTemp, Warning, TEXT("Level config request failed.")); return; } if (Response->GetResponseCode() != 200) { UE_LOG(LogTemp, Error, TEXT("HTTP error: %d"), Response->GetResponseCode()); return; } TSharedPtr<FJsonObject> JsonObject; TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(Response->GetContentAsString()); if (FJsonSerializer::Deserialize(Reader, JsonObject) && JsonObject.IsValid()) { FString LevelName = JsonObject->GetStringField(TEXT("level_name")); int32 RespawnWaypoint = JsonObject->GetIntegerField(TEXT("respawn_waypoint")); // 将数据传给GameState或关卡蓝图 } }关键点是异步和失败处理。HTTP请求会在一段时间后才回调,不能假设立即返回。打包后需要确认目标平台能访问该域名,包括HTTPS证书、端口和防火墙设置。如果接口文档里有BaseURL、鉴权Header、错误码,先单独用浏览器或Postman验证一遍,再写UE代码,可以省下大量排查时间。
注意:接口调用前先用浏览器或Postman验证请求和响应,再写UE代码。否则很难判断是接口问题还是客户端解析问题。
5.6 这环节最容易踩的三个坑
模型颠倒、材质紫色、接口请求无响应是最常见的三个问题。它们各自有明确的排查路径。
| 现象 | 原因 | 解决 |
|---|---|---|
| 模型倾斜或翻转 | FBX坐标轴设置不一致 | 使用axis_forward='-Z',axis_up='Y',先导一个立方体测试 |
| 紫色材质 | 贴图未导入或路径被移动 | 在Mesh Asset中重新指定Material,用Fix Up修复 |
| 接口超时 | 域名、端口或鉴权问题 | 用Postman验证,再在UE中打印Response状态码和日志 |
6. 运行验证、性能分析和常见问题排查
6.1 PIE逐项验收清单
在编辑器中按Play进入PIE(Play In Editor)后,我按顺序检查:
- 出生点位置正确,角色没有落入地面;
- 移动不卡顿,角色能上下台阶;
- 战斗区掩体能阻挡子弹或角色;
- 门交互从关闭到开启正常,不会穿模;
- 奖励房间道具可以拾取并产生反馈;
- 切换关卡或重新开始时状态重置;
- 帧率在目标硬件上保持在预期范围内。
这些项目不需要一次全部完成,但每次修改后都要回到Play模式验证一遍。不要等到所有资产都摆放完再验证,那样很难定位是哪一步引入的问题。
6.2 性能观察项:DrawCall与Nanite
打开UE控制台,按数字键盘的或输入相关调试命令,可以观察核心性能数据。常用命令包括stat SceneRendering、stat RHI和ProfileGPU`。
| 指标 | 命令 | 预警信号 | 常见处理 |
|---|---|---|---|
| DrawCall | stat SceneRendering | 超过目标设备承受范围 | 合并小物件,减少动态光源 |
| 三角形数量 | stat RHI | 单个网格过高 | 使用Nanite或制作LOD |
| 贴图内存 | stat Texture | 内存占用明显上升 | 把4K贴图降为2K |
| GPU耗时 | profilegpu | 某个Pass耗时过高 | 降低阴影距离,减少半透明 |
Nanite适合处理大量高模静态网格,但它不是小型原型的必须选项。如果AI生成的模型存在高密度三角面,可以考虑先用Blender的Decimate修改器减面,再在UE里观察效果。
6.3 快速排查表
| 问题现象 | 可能原因 | 检查方式 | 解决方案 |
|---|---|---|---|
| 关卡全黑 | 没有Directional Light或光照未构建 | 检查Outliner灯光列表 | 添加主光源,执行Build Lighting |
| 地面黑影闪烁 | 模型重叠导致Z-fighting | 移动视角观察重叠位置 | 拉开距离或简化模型 |
| 角色穿透岩石 | 网格没有碰撞体 | 查看Mesh Collision设置 | 添加Simple Box或Simple Convex |
| AI模型法线反了 | Blender未统一法线 | 进入编辑模式观察面方向 | 执行normals_make_consistent后重新导出 |
| 接口数据没有更新界面 | JSON字段与蓝图变量不一致 | 打印Response内容 | 按文档重新解析字段 |
6.4 AI生成资产的质量缺陷和人工修复路径
AI生成资产常见质量缺陷包括纹理接缝、拓扑混乱、面片重叠和风格不统一。纹理接缝可以在Blender的UV编辑器里调整UV岛,也可以使用免费的“无缝贴图”生成模式重新生成。拓扑混乱的模型适合用Decimate修改器减面,再用Shade Smooth让表面更平滑。面片重叠则进入编辑模式,选中重叠顶点后按M合并。
风格不统一是最隐蔽的问题。不同AI工具生成的模型放在同一个场景里,可能一个偏卡通、一个偏写实。最直接的补救方式是用一套统一的后处理参数和材质参数,弱化单个资产的风格差异,而不是逐个重新生成。
7. 免费AI工作流的边界和生产环境建议
7.1 免费额度、分辨率和一致性的限制
免费工具的限制会在项目变长后越来越明显。常见的限制包括每日次数少、输出分辨率低、随机性强、授权不明确。
| 限制 | 影响 | 应对 |
|---|---|---|
| 每日次数少 | 需要反复生成时不够用 | 先用低分辨率快速试轮廓,再精修 |
| 输出分辨率低 | 远景贴图模糊 | 用Blender或免费放大工具升分辨率 |
| 随机性强 | 多次生成风格不一致 | 保存提示词和seed,设定统一风格关键词 |
| 授权不明 | 发布有风险 | 确认服务条款,不确定就只用于学习 |
7.2 学习环境 vs 生产环境的分水岭
学习环境的目标是快速验证玩法,所以可以用Cube当角色、用AI生成的粗糙模型当场景。生产环境则需要长期维护和可复用性:要启用版本控制,推荐Git LFS;要记录每个资产的来源和授权信息;要对AI生成内容做人工审核;要保证Blender脚本和提示词模板可复用。
如果缺少这些,免费AI工作流只适合原型阶段。“免费”不代表“没有成本”,后期修复混乱资产结构的时间成本往往比建模时间更高。
7.3 低成本升级建议
如果项目周期很长,必须花一点预算,我会按下面的优先级考虑:
- 在线3D生成工具的付费档或去水印:解决关键资产卡点;
- 大显存显卡:如果本地跑AI绘图或图生3D;
- 正版Blender插件或材质包:提高清理和地编效率。
不建议最开始就升级CPU或买超大内存,UE项目最明显的瓶颈通常在GPU、磁盘速度和显存。
7.4 如果继续深入,下一步该学什么
免费AI能缩短制作时间,但无法替代基础能力。建议按顺序深入学习:Blender基础建模与UV,UE项目设置与蓝图,材质与光照理论,关卡设计和迭代方法。有了这些基础,再回头看AI工具,会更容易判断应该在哪一步使用AI,在哪一步必须手工处理。
8. 复盘:这套工作流真正改变了什么
8.1 它最适合哪类项目
这套工作流最适合的场景是:小场景原型、Game Jam、教学演示、个人作品集。它能让一个人在几天内从无到有跑完一个可进入、可交互的关卡流程。不适合的场景是:需要严格统一美术风格的商业项目、需要高精度角色表情和动画的项目,以及需要大规模外包协作的项目。在那些场景里,AI可以作为辅助,但还不能完全主导生产链路。
8.2 哪些环节仍然不能交给AI
玩法反馈、节奏判断、数值平衡、碰撞手感、性能和内存预算,这些环节仍然必须由人来决定。AI可以给建议,但不会实际感受到“这个门开得太慢”“这段路太长”“这个掩体太小”。关卡设计最终是体验设计,体验只能通过反复游玩的直觉和测试数据来修正。
8.3 最值得保持的几条工作习惯
这次实践下来,我保留的习惯有五个:
- 每个资产需求都拆成“位置、作用、替换时机”,再决定是用AI生成还是先用Cube占位;
- 每次生成前把目标描述写清楚,保存提示词,方便回溯;
- 资产导入UE前先过Blender脚本清理,减少返工;
- 每个阶段都进入Play模式验收,不等到最后一次性检查;
- 接口调用统一封装,不把HTTP代码散落在多个蓝图中。
8.4 给新手的一个小练习
如果你想亲手验证这条工作流,我建议以“一个10平方米的仓库”为目标:用AI生成木箱和金属门的贴图,在Blender中做一个低模,导入UE,摆放光源,写一个按E开箱的蓝图交互。完成之后,再加入一个AI生成的武器架和敌人占位,验证一条完整路径。
建议:第一次做这个练习时,不要追求画面惊艳,把目标定在“能跑完一整个交互流程”即可。跑通之后,再回头优化美术和性能。
这套工作流的核心价值,不是用免费AI把人工成本降成零,而是把重复劳动尽量压缩,把更多时间留给“这个关卡好不好玩”这个真正的问题。只要还愿意在每个AI输出之后做人工检查,免费AI工具在单人和小团队项目中就有长期价值。