从白模到成品:游戏场景地编全流程与实战经验
做地编这些年我最大的感受是很多新人拿到一张场景需求第一反应是我该放点什么进去——树、石头、房子、武器、箱子恨不得一下把场景填满。结果美术资源用了一大堆玩法走起来却处处别扭要么路口太窄绕路要么视野被挡得一塌糊涂最后主策来一句这关没法玩又要全部推翻重做。真正成熟的流程里游戏场景地编从来不是摆东西而是先搭白模、再定动线、最后铺细节。这一套从白模到成品的流程本质上是把感觉变成可验证的结构把美术表现建立在可玩性成立的前提上。今天我就把这一整套流程从头到尾拆一遍包括为什么先做白模、白模做到什么程度算合格、正式地编阶段怎么搭、灯光图形怎么收尾、性能优化怎么落地以及我踩过的那些坑。这篇内容适合刚入行想理清地编流程的关卡编辑也适合做独立游戏、一个人又当策划又当美术的阶段看完至少能避开我当年试错的那些弯路直接跑一条更稳的路线。1. 白模阶段别急着堆画面先让关卡结构立住1.1 白模到底在验证什么很多人误以为白模就是掉帧灰盒——反正只是临时的东西随便拉几个立方体拼一拼就行了。这是最大的误区。白模阶段的任务根本不是做个草图看看而是用最快的速度、最低的成本验证三个核心问题尺度是否合理、动线是否顺畅、核心体验是否成立。尺度这块最常见的问题是角色和场景的比例打架。比如明明设定一个角色是成熟的中年人结果门框高度不到角色身高的1.5倍进门要低头这确实会很出戏。更常见的是走廊宽度——人的肩宽大约60厘米正常单行通道再做些余量应该在1.2米到1.5米双人并排需要2.2米以上。这些数值在引擎里需要用基本几何体去验证而不是靠想象。动线方面白模阶段要把玩家的行走路径、视野朝向、战斗节奏全部走一遍。一次一个关卡策划强调战斗应该有张有弛这个弛具体是多大空间、转角几次、掩体几个这些问题在白模阶段全都能回答。如果白模阶段不解决等美术资源进来了再调整成本直接翻好几倍。1.2 白模制作的实用清单这里分享一套我实际用的白模流程按顺序来效率最高定尺不需要太花哨直接在引擎里用Cube按角色高度搭一个人形参考柱然后所有通道、门框、掩体都按照这个柱子的尺度去设计。这个柱子永远别删方便随时对比。框区域先把整个关卡按功能区划分出大致板块——比如入口引导区主战斗区高塔狙击区资源收集侧路。这一步用最简单的Box拉出形状就够了不用管地面材质像一个平面的功能性分区。串路线在白模里明确玩家出生点到各关键目标点的最短路径和最推荐路径。用一条路标柱子或者不同颜色的默认材质球标示出来专门检查路径上有没有卡脖子的地方。走一遍把角色放进场景实际用WASD跑一遍。这一步是手感层级的验证绕不过去。走下来感受节奏是全程无停歇的仓促还是动不动就面面相觑的撞墙发现问题立刻在白模里改这部分谁改起来都快不要等美术资源。我在这个阶段会额外做一件加码的事把主要掩体的遮挡关系画出来用半透明的Cube标出每个掩体的视野遮挡范围。很多掩体看起来不错实际一蹲脑袋还露出半个狙击手一枪爆头。这个细节在白模阶段看得很清楚但很多人忽略等贴了材质才发现返工成本极高。2. 正式地编从白模资产到真实场景搭建2.1 主次分明入口、动线与视觉焦点白模审查通过后进入正式地编这一步特别容易失控——美术资产一进来大家就开始放风筝哪儿好看往哪儿放。我的原则是正式地编阶段严格按照白模确定的框架来白模做了多大的空间正式场景就要做多大白模在哪个转角做了视觉遮挡正式场景也不能因为想展示一片风景而把遮挡撤掉。先保证入口→引导→焦点→出口这条主线不被破坏。具体来说正式地编会先确定场景的入口朝向和初始视角。这里有个经验玩家进入场景的头5秒视线自然落点应该是场景的视觉中心或者是明确的引导目标比如远处的灯塔、大门口的雕像。如果入口进来正对一堵墙玩家会下意识转身找路方向感直接被破坏。所以我在正式铺之前会把入口视锥拉出来确认在入口站着能看到什么、看不到什么再决定是否需要加引导物、开天窗或者调整入口朝向。动线层面除了保证主线畅通还要预留支线游玩的余量。主路径和侧路之间的连接不要做成独木桥式的唯一通道至少保持双路径——一条明线、一条绕行路线。这样做的好处很多可以刷怪压力、可以藏收集品、可以给潜行流玩家另一种选择。在白模中验证过的双路径在正式地编阶段只用做资源层面的填充不需要再动结构。2.2 组件化搭建与比例校准正式地编阶段美术资产是分好类的——墙体、地板、柱子、门窗这类建筑大件通常会用模块化资源。模块化的意思就是一套基础件可以拼出无数组合一面墙长度固定转角件、连接件、收口件配套齐全地编的时候像积木一样往外拼。这样做的好处是资源利用率高、风格统一也能大大降低系统运行压力。但我见过很多新手拼积木拼出大问题——缝隙。两块墙之间的接缝明显地面上一条暗线光线一照特别难看。拼模块化组件时有几个实操点使用引擎的网格吸附功能设置好吸附步长Unity里用Vertex Snap或Grid SnapUE里开启网格吸附保证每个模块咬合到位。注意模块的对齐基准点。有的资产原点在底部中心有的在侧面顶点如果只靠肉眼拖拽很容易产生微小的错位。正确的做法是先把一个模块A摆好然后以A的边/角为基准用面吸附去摆放B。拼完一段就切到角色视角看一下不要一直用俯视图俯视图看不出地面缝隙和墙面错位。比例校准这块除了白模的尺度参考我还会在正式场景里保留参考人柱做定期检查。每次搭完一个大区域就把角色拉过去跑几步看看门是不是要低头、楼梯台阶高度是否舒适、椅子和桌子能不能正常互动。很多细节比如柜子旁边预留了操作距离没有、窗户能不能正常开关在正式搭建时最容易忘但玩家一进场景就会遇到。2.3 装饰层与场景叙事基础结构搭建完后迎来最有趣也最容易上头的阶段——装饰层。树怎么种、石头怎么摆、路牌怎么放看起来是纯审美其实背后有一套叙事逻辑。场景地编做的不仅是好看更是通过细节向玩家传达信息被砍倒的树与散落的木料暗示这里刚发生过战斗或者有伐木活动。墙角堆着的几个箱子说明这里有人活动过后面可能藏着补给或危险。路口的路牌指向直接引导玩家去往主要目标。我通常会在铺完建筑大件后先做完一层环境叙事草稿——用最朴素的方式把这里想表达什么内容摆出来比如放个箱子模型代表此处有资源摆几个石头堆代表这里是掩体区域等整体叙事线走通了再去替换成更精致、更多样化的美术资源。这样比一上来就全摆满要快很多也不会出现摆得很漂亮但找不到目标点的尴尬。装饰层还有两个操作原则。第一是3簇原则——自然物体的摆放不要单颗单颗散着放而是三五成群地组合一棵树配两三棵灌木、几块石头视觉上才自然。第二是遮挡与通透装饰物可以适当遮挡部分路径制造探索感但不要堵死视野到没法辨别方位。装饰层做完之后从主路径上每隔几步停下来环顾四周只要有任何一个方向能一眼看穿整张图的边界就要考虑加一些中间层次的遮挡物。3. 灯光、氛围与后期让场景活起来的最后一步3.1 灯光方案先定主光源再补氛围光灯光在场景地编里的重要性很多时候被低估了。一个白模看起来普普通通打光之后就能直接提升一个档次反过来一个做得很细的场景打光马虎也会显得廉价。我习惯的灯光顺序是先定主光源方向再铺基础照明最后加特殊氛围光。主光源的方向不是随便定的。它决定了整个场景的明暗结构也决定了粒子和植被投影的方向。在室内场景主光源可能是天光或者某个主灯在室外则是太阳或月亮。确定主光后我一般会同步调整环境的环境光强度——新的渲染管线和引擎里都有环境光参数环境光太亮会让主光源失去存在感太暗又会丢失暗部细节需要反复推拉。氛围光包括冷暖对比、点缀光和体积光。一个很出效果的做法是远景的阳光是暖色前景或阴影区域补一点冷色的环境光这种冷暖对比会让场景层次感非常明显。体积光能很好地强化主光源的存在感适合用在窗户光柱、树林漏光、洞口光带这些场景。但体积光不要用得太多每处体积就是一份性能开销大片用会特别费。3.2 后期与氛围渲染灯光做完后后期处理相当于给场景加滤镜能统一画面风格。常用的有这几项曝光与色温想让场景偏暖、偏冷或者走写实路线先调色温再动曝光。室内偏暖会显得安全偏冷会显得压抑。泛光Bloom配合体积光或者发光材质让高光部位有溢出感。不要调过头调过头所有物体边缘都带一圈光晕反而失真。镜头光晕与暗角做主观视角氛围时很好用但要注意在移动端或视角转动快的场景少开暗角不然会头晕。色彩分级Color Grading直接调全局饱和度、对比度。擅长做风格化场景的团队会在这里做二次创作比如大幅降低饱和度做出废土感或者提高对比度做出赛博感。还有一个很关键但经常被忽略的是反射与雾气。水面、金属、光滑地板都需要反射环境材质不设反射或者反射模糊太低金属表面会显得很抽象。雾气的强度则直接决定远景的空间感尤其在地面场景雾太低会显得整个场景空旷得跟测试房一样雾太高则会遮挡视线压缩战斗空间。这两个参数要一起调保证远景和近景的层次递进。4. 性能优化三轮走碰撞体、批处理与LOD4.1 碰撞体隐藏的帧率刺客很多刚接触地编的伙伴会把性能优化等同于减少面数但实际影响帧率的因素里碰撞体往往更隐蔽、更致命。复杂碰撞体Mesh Collider一旦叠得太多室内行走时系统要做大量射线检测和碰撞求交计算帧率直线往下掉尤其是移动端。我在正式场景里推行碰撞体三层规则第一层是围墙、地面、大型障碍物用简单的Box/Capsule Collider挡一下就行不需要精确到墙面花纹。第二层是门、窗口、台阶这部分需要跟行为逻辑对接用简单的Box/胶囊碰撞体能开门、能翻阅就好。第三层是从玩家视线里能看到的微妙细节——比如桌子上的道具、树枝、小草。这类物体绝大多数不需要碰撞体开了碰撞反而会阻挡玩家行动、增加物理开销。最优的做法是用无碰撞的着色模型或者给它们挂一个非常小的虚拟碰撞体只供拾取逻辑用。白模阶段大家习惯用大Box整体挡墙到了正式场景里千万别直接沿用心智要把碰撞体从美术模型上拆出来单独做。Unity里可以把碰撞体挂到空的子物体上独立控制UE里则可以用盒体/球体组件组合成简化碰撞体。新手最常见的坑就是整个场景用完整MeshCollider——一进大厅就掉10帧排查半天才发现是模型上套了完整的网格碰撞体。4.2 批处理、合并与LOD现代引擎都有批处理和实例化渲染机制能一次性合批大量相同静态模型。地编阶段要注意的是所有静态物件树、石头、建筑部件要标记为静态/Static这样引擎才能做静态合批和遮挡剔除。不标记为静态相当于告诉引擎每个物件都可能被移动不能合批性能直接减半。除了引擎自动做的事手动合并同材质物件也是常用手段。比如一面墙用了大量同材质的小片可以在建模阶段做好模块化大块或者用引擎的合并功能拼成一个整体网格。合并之后面数不变但减少了渲染调用的次数对移动端尤其友好。合并的代价是不能再单独对其中某一块做动态修改所以一般只合并确认不再变动的区域。LOD多细节层次是我反复强调的——距离远了保证用低模替代高模。很多场景掉帧不是近景模型太密而是远景里大量高模仍然满精度渲染。Unity里做LOD Group或使用LOD Group组件加几个精度递增的子模型UE里直接用LOD生成工具或手工指定LOD层次即可。至少建议做到三档近处高模、中距中模、远距极低模。性能优化不是一次性动作我一般做完一个区域就跑一次ProfilerUnity的Profile工具或UE的Insights看看DrawCall、三角形数量、光照开销、碰撞计算量有没有异常不符合指标就当场切方案绝不拖到后面。5. 地编踩坑实录常见问题与排查经验5.1 场景搭建类的典型故障墙体接缝闪烁/缝隙透光拼模块时网格吸附没对齐或模块边缘有倒角误差。解决方法是用Grid Snap或者面吸附重新对齐必要时在模块边缘加一条收口条遮挡接缝。掉落/卡角问题玩家走到某个区域突然掉进虚空或卡住不掉血。多数原因是该区域没有碰撞体或者碰撞体缝隙过大。排查办法是临时开碰撞可视化模式把所有碰撞体显示出来沿着玩家能走的路走一遍看到空档就补上。动态物穿墙如果允许物理交互的物体数量多要逐件检查碰撞体和墙壁碰撞体的关系。常见做法是把可拾取物的碰撞体设为忽略墙体层只做射线拾取不给它物理推动力避免穿墙。导航网格NavMesh断裂地编做完AI不会走路或者卡在装饰物前。原因是场景有高度差或装饰阻挡导致导航网格生成不连续。处理办法是重新烘焙NavMesh必要时设置好不可走区域和跳跃连接点。5.2 灯光与后处理常见问题模型发黑/曝光过度最常见是法线方向反了或者材质贴图被压缩丢失信息。把模型导入设置里的法线展开选项检查一遍同时看看是不是用了旧版材质Legacy Shader这类材质在新的光照管线里经常翻车。灯光闪烁/烘焙噪点光照烘焙参数太低或者灯太多、灯光贴图分辨率不够。用烘焙设置里的采样次数和光照图分辨率回调一般就能解决。另外灯光数量不是一个房间20盏灯就是氛围好实际目标是每盏灯都有存在意义多余的灯要么合并进贴图要么删掉。阴影抖动/阴影锯齿灯光距离过远或阴影分辨率不够。根据场景大小调整投影距离主光源的阴影分辨率要配着场景最大尺寸来不够就开多层阴影算法或者切分阴影整个加载。体积雾异常体积雾参数开太大会把画面全部遮成白色开太小又没感觉。一般先把雾浓度降到0.01附近再根据距离慢慢加直到远景和后景的层次刚好出来就停。5.3 我压箱底的排查小技巧这几点可能比文档更实用一些自带Debug模式新引擎里面都有渲染调试视图比如显示UV、碰撞、光照、深度等。我现在遇到看不清的问题第一反应是打开视图分类比用肉眼猜效率高太多。固定时间检查每搭建完整一个大区域强制自己停下来用Profiler跑一遍记录帧率和DrawCall。这个习惯特别重要你越晚检查返工量越大。用半透明穿墙模式做路径检查在地编工具里直接开启半透明模式快速看玩家在关卡里能走到哪、看不见哪。很多遮挡问题就是这么抓出来的比在Game视图跑来跑去快多了。备份阶段版本每做完一个地编里程碑存一个快照或版本标签。地编改起来很磨人如果想退回上一步你会发现上一版比现版可能更符合整体思路有版本备份会从容很多。6. 我的实操心得一套能落地的项目结构体系真正的地编流程不会一蹴而就需要一套长期沉淀的项目结构来做支撑。我以两年多的实践总结出三层地编工作流第一层是白模库。所有风格的灰盒资产单独存放——基本立方体、圆柱、斜坡、楼梯、门窗模板供白模验证阶段反复使用。这套资源不依赖正式美术资源加载快、改得快。团队里每个人都应该能快速拖出来用。第二层是模块库。正式地编阶段要用到的模块化建筑件、植被库、道具库统一按风格、按尺寸、按区域分类放好。关键是每个模块都标注清楚原点位置适合用在什么场景是否需要碰撞体。有了这套库新人也能快速上手不会因为找资源找得头大。第三层是地编蓝图模板。这部分是经验沉淀比如主路口矢量朝向、房间面积计算公式、通道宽度参考表、装饰密度建议值。我自己会用一张表记录不同场景类型室内宫殿、室外森林、废土城区对应的白模尺寸、灯光参数和性能预算基线地编前把基线拉出来配合着用。这套体系最大的价值是让重复的东西不再重复让经验变成模板。一次花时间搭好后续每次地编都能站在之前的肩膀上效率会肉眼可见地提升。你要做的就是从当前项目开始先跑一遍完整流程把过程中的参数和教训记录下来慢慢把这套东西沉淀下来。做地编这几年我越来越觉得这活儿不是摆放艺术而是规划工程。白模给了你安全试错的余地正式搭建给了你表达氛围的舞台性能优化给了你面向真实硬件的能力——一路从灰盒走到成品每个环节都环环相扣。希望这篇内容能帮你在自己项目里少走弯路把自己的场景从看起来可以直接拉到玩起来也很舒服的线上。