
做场景建模这么多年我接过的项目里十有七八都会碰到古建筑。尤其是“阁楼”这类中式结构甲方需求里出现频率极高游戏场景、展厅漫游、影视前期、甚至元宇宙地块里都要放一座。但每次看到新人用3DMAX拉个Box然后硬生生挤出个屋顶我就知道后面布线必崩。原因很简单古建不像工业硬表面它结构复杂、对称性强、曲面转角多再加上飞檐翘角这类充满自由度的形态如果一开始没有“布线思路”做到一半就得全部推倒重来。所以我决定把这次做的经典古建筑阁楼场景完整拆开讲一遍核心围绕3DMAX场景建模、次世代流程中的高模低模配合以及0基础也能看懂的布线思路。这篇文章适合三类人刚入行想做次世代场景的初级建模师想做古风游戏地编却总被拓扑劝退的转行者以及接了古建外包但总在后期返工的老手。看完你可以直接照着这套流程动手至少能少踩我当年踩过的那堆坑。1. 开工之前先看清需求这次要做的到底是什么1.1 一句话拆解“古建筑阁楼”的结构需求很多人打开软件就急着手动但我接项目有个习惯先把结构和需求写在一张纸上。所谓“阁楼”中式语境里不是随便一个带顶的房子而是通常具备临空感、飞檐、歇山顶或攒尖顶、斗拱层、窗棂装饰的高层单体建筑。园林里的“阁”往往四面通透层数二到三层看起来轻盈飘逸城楼里的“阁”则厚重端庄屋身比例更敦实。这个判断直接决定了模型的拓扑策略和面数分配。如果是园林阁楼屋顶和翘角的细节占比要提到60%以上如果是城楼台基和柱网结构就要做得更扎实。我在这次项目里做的是一座偏园林风格的二层阁楼平面近似方形一层有回廊二层开窗歇山顶加四条起翘的戗脊。整座建筑高约9米底边宽约8米属于中等体量场景资产。拿到这类需求后我先估算整体面数预算。次世代流程里高模可以做到几百万面但低模必须严格控制。做游戏场景的话单栋建筑低模建议控制在3万面以内如果是做影视漫游和效果图动画可以放宽到8万到10万。这个数值不是拍脑袋定的它取决于单位距离内的网格密度——近景建筑每平方米至少要有4到6个网格支撑轮廓细节远景则完全靠贴图撑住。1.2 为什么选次世代流程而不是纯手绘贴图现在行业内做古建主流方案早已不是“低模手绘贴图”这一条路了。次世代流程的核心是先生成高模捕捉所有雕刻级细节再拓扑一个低模用于实际运行最后通过法线贴图把高模细节烘焙到低模上。这样既保证了视觉精度又控制了实时渲染的资源开销。对于古建这种细节大户这个流程简直是量身定做的。斗拱、瓦当、雀替、窗棂这些构件在游戏引擎里如果全用真实几何做一栋阁楼的三角面数直接突破百万任何手机和大多数PC都扛不住。但用次世代思路处理真实几何只保留在最主要的轮廓层级细微的雕花和退晕全交给法线贴图。我做这次场景时明确规划了两层资产高模负责出图、出细节、验证光影低模负责进引擎、搭UV、烘焙贴图。这两者共享一套基础布线逻辑所以在高模阶段就要考虑低模怎么减面而不是等雕刻完了再重新拓扑。这也是0基础同学最容易忽略的一点——布线的每一步都要想着“这句网格将来到低模里怎么缩”。2. 布线思路才是0基础的第一课拓扑原理说得越俗越好懂2.1 布线到底在管什么“布线”这两个字听起来很玄其实本质就是三维网格的排列方式。一个模型看起来顺不顺、后期改起来痛不痛快、细分后圆不圆润全部由线的走向决定。你可以把布线想象成铺地砖每一块四边形就像一块规整的地砖铺得整齐地面干净利落到了墙角拐弯处得通过切砖收边来过渡处理不好的话就会出现三角形碎块踩上去又晃又难看。三维模型里的四边形面对应“地砖”三角面对应“碎砖”。碎砖不是不能用但用多了UV拉伸、法线平均、细分变形都会出问题。所以在古建场景里我的核心准则是主线全部用四边形铺三角面只在万不得已的收口处出现且必须藏在结构交接背面或看不见的暗角。具体到阁楼模型哪些地方是布线重点答案很简单所有原本是曲面的地方。飞檐翘角的弧度、歇山顶两坡交接的阴角、圆柱柱头到梁枋的过渡区、瓦楞的波浪起伏这些区域如果线条方向不对烘完法线贴图会看到一道道奇怪的“褶皱”甚至直接破损。2.2 四个原则记住就不会偏第一个原则顺着结构走线。柱子的环线都沿着圆弧方向瓦片的线沿坡度方向翘角的线沿上扬的曲线方向。线走对了后期加细分、加修改器都自然顺畅线走错了就像拿毛线硬缠方盒子越缠越乱。第二个原则转折处加线控制曲率。直墙转成圆形柱头不是直接插一根环线就完事。要在曲率变化大的位置多插一倍或两倍的线否则光滑后转折会“瘪”下去。弧度越陡需要锁定的线段就越多。第三个原则极点藏起来。什么叫极点就是五条以上边交汇的顶点。极点会导致网格光滑后局部鼓起或塌陷模型看起来像有个包。我处理时必须把极点挪到不显眼的区域比如屋檐内侧、梁架背面而不是让它出现在斗拱正面或者翘角顶面的视野中心。第四个原则先整体后局部。不要一上来就把某个椽子雕到天荒地老。先把整座阁楼的低模体块用最少的面数搭出来确认比例对了再逐块加细节。布线永远是从粗到细的过程反过来做必定返工。2.3 0基础口诀大形、主结构线、密度分级我带过几个完全没基础的新人总结了一套三行动口诀第一步拉大形只求比例准第二步补主结构线锁定转折第三步按“近密远疏”原则分配细分密度。什么叫近密远疏主入口、屋檐起翘、斗拱、窗棂近景能贴脸看的位置每厘米要保证足够网格背面的瓦面中间、台基石头的底部、室内看不到的梁架直接用大网格撑结构就行。做这次阁楼时我把75%的网格预算都花在了正面立面和屋顶轮廓线上背面结构线少到几乎只剩框架因为最终摄像机动线根本不绕到后面去。这个习惯很关键会让你的模型在同样的总面数下显得细节特别丰富。我见过很多新手均匀布线每个面都一样大小看起来四平八稳但一放大就没细节只能疯狂加面数最后卡到引擎崩溃。3. 全流程实操从BOX到完整阁楼一步步把结构做出来3.1 第一步基础体块搭建与比例控制打开3DMAX之后第一件事永远是把单位设为毫米。古建有严格的营造尺度和比例逻辑建模如果不用毫米单位后期导进引擎或者跟其他资产配合尺寸全部对不上等于白做。我按8米×8米的底边高度9米来定整体包围盒。先用Box把“台基”“屋身”“屋顶”三个大块一比一拉出来。这个阶段不需要任何细节只看整体比例顺不顺眼。园林阁楼的特点是台基低平、屋身细高、屋顶舒展所以我把台基做到0.8米屋身做到5.2米屋顶从檐口到脊顶做到3米视觉上顶部的分量很足有种“如鸟斯革如翚斯飞”的轻盈感。在这个阶段我习惯开一个正交视图的小窗口调透明显示反复对照参考图去缩放三个体块。不要着急进入可编辑多边形先把基础推敲清楚。很多0基础的同学在体块阶段磨蹭五分钟就烦了结果后面都是靠猜比例越来越歪。3.2 第二步屋顶的制作——从歇山顶到翘角屋顶是整座阁楼的神韵所在也是布线最难的区域。中国传统歇山顶包含正脊、垂脊、戗脊、山花、博风板、瓦面等多层结构我这次简化成三层逻辑屋面曲面、屋脊框架、瓦楞细节。屋面曲面我用一个分段较多的Plane做底调成可编辑多边形后进入顶点层级手动调整起伏。先用FFD 4x4x4拉出大弧面再进入顶点层级把四条戗脊的位置微微抬高——注意是“微微”古建翘角讲究含蓄翘太多会像外星飞船。0基础的同学容易在这里把弧度调得过大我的建议是每次只拉一点切到透视图看侧面轮廓对照参考图微调。翘角的网格密度是屋顶成败的关键。我通常在飞檐末端预留三段环线来锁定翘起弧度从上到下依次渐密。如果这里只给一段线平滑后翘角会变成一个软塌塌的钝角完全没有精神。瓦楞细节在高模阶段可以用手动加线加出来的凸棱也可以在低模上用一张瓦片法线贴图带过。我用的折中方案是近景的四分之一屋顶做真实瓦楞几何其余三个面只用一张无缝瓦片贴图。因为镜头其实很少怼着侧面瓦面细看这张贴图的精度足够骗过眼睛。3.3 第三步屋身、门窗和台基的制作屋身相对简单但要注意窗棂、柱头和雀替之间交接处的拓扑。总结一句能拆的零件就拆开做不要全部从一个主体网格里长出来。台基怎么做先用一个Box压扁边缘挤出两层石阶。中式台基讲究“须弥座”式收分也就是底宽上窄我通过侧面的斜线挤出实现这个效果。屋身柱子做成圆柱体分段数设成12段就足够了。别傻乎乎地用48段完全没必要因为低模后面还要烘焙法线12段圆柱配合法线贴图在视觉上已经接近光滑。柱头与梁枋的交接处我在柱子上加了两段环线锁定顶部弧度梁枋伸出柱头的部分单独建一个Box悬挑结构避免和柱子共面穿模。门窗部分我用了“线框法”先在整面墙上做一个薄Box分成格子然后删除中间的面保留边框形成回字纹窗棂。窗棂的厚度挤出0.1米算是阁楼里少有的“硬直边”区域规律性强布线也最简单。要注意的是窗棂转角处容易产生共面重叠我做完之后一定会在透视图里转一圈检查是否有重面闪烁。3.4 第四步整体细化、对称复用与高模打磨细化阶段最关键的操作是“对称复用”。这座阁楼布局是标准的四面对称我只做八分之一的结构然后两次对称加一次旋转阵列补全整栋。具体操作先完成四分之一的所有细节使用“对称”命令沿X轴镜像再把得到的半边模型沿Y轴再镜像一次最后检查中心接缝。高模细化阶段我会把重点放在两个位置斗拱的层次感和瓦楞的起伏节律。斗拱是木结构叠起来的一层一层的枋和拱交错。我在高模里用的是布尔加切角每层厚度0.08米错出四个层级整体看起来像一朵朵花叠在柱头上方。这一块即使面数高了也没关系因为它是专门用来烘焙的高模不进引擎。模型整体细化完之后我习惯在3DMAX里加一个“涡轮平滑”迭代次数开到2级观察整体曲面流动感。这里只做视觉验证不真用这个结果出资产。平滑之后如果某些区域出现明显的面棱或扭曲就说明那块布线还有问题回头修完再验一次。4. UV与烘焙低模怎么“骗”出高模的质感4.1 UV拆解的几条网格规范布线并不能直接让模型看起来精细真正把高模细节转移到低模上的是UV加烘焙这道工序。古建的UV拆分逻辑和工业模型差别不大但有几条古建专属的规范。屋面瓦片必须保持整体连贯瓦面展开后U方向沿瓦楞走V方向沿排水坡度走。如果瓦面的UV是斜的烘焙出来的瓦楞贴图会歪看起来整栋房子都像是要滑下来。屋脊部分我单独拆成一条长条形的UV岛方便在上面单独处理正脊和戗脊的纹样。圆柱部件沿周向展开成矩形条让木纹方向沿柱身直线走。门框窗棂这类长条结构尽量拆成一根根直条而不是让它们卷在一起。UV岛越多越碎贴图接缝就越明显所以我在保证方向正确的前提下尽量合并连续部件。分辨率的选择上我这次整体采用一套8K贴图集。单栋中型建筑4K也够用但8K可以让瓦楞和斗拱细节在近距离观察时依然清晰。如果项目有严格的资源限制宁可降到4K也要保证UV占比分配合理——面数多的区域分到更大的UV块而不是均分。4.2 烘焙参数与贴图输出烘焙我习惯把低模整理干净之后直接拖进Marmoset Toolbag或者八猴来做。相比3DMAX自带的烘焙工具八猴的笼包调整更直观结果也稳定。当然没有外部软件的话3DMAX自带的Render to Texture也能用只是参数上需要多试几次。关键参数我列一下接触点疣或叫膨胀值设置0.01到0.02这个参数用来消除低模和高模之间的微小缝隙抗锯齿采样设4×4UV留边设为2像素防止贴图边缘出现黑边漏缝。烘焙通道包括法线贴图、环境光遮蔽、高度贴图和ID图。法线负责把高模的曲面光影骗到低模上AO负责给缝隙和结构转折增加阴影暗部高度贴图可以配合后续做视差效果ID图方便后期在Substance Painter里分区上材质。如果烘焙结果出现大量花斑或色块不用急着怀疑软件先检查低模法线是否统一朝外。很多时候问题出在法线翻转而不是烘焙设置。这个检查我每次都在烘焙前做一遍省下的返工时间够睡一觉了。4.3 材质贴图阶段的古建质感处理在Substance Painter里我给这座阁楼分了三种核心材质深色木作、灰色瓦面、浅色石材台基。木作部分用了深胡桃木色加上一层粗糙的拉丝纹理通过生成器在柱头和门窗边缘叠加磨损效果让结构交接处看起来像被常年风吹雨打之后露出了底漆。瓦面部分用了青灰色渐变靠近檐口的位置稍微变亮模拟光照射到外缘的磨损。石材台基处理最简单铺一层中粗砂岩纹理再用微弱的AO加深每层石阶的阴角。不需要加过多污渍园林建筑讲究清爽脏迹做多了反而显得廉价。要提醒一点烘焙贴图拿到手之后先放进引擎或视图里看一眼整体明暗别急着堆层。明暗关系不对的话后面叠加多少细节都救不回来。调整贴图的时候我习惯把视口设置成线性空间避免伽马值问题导致的灰蒙蒙效果。5. 实战排查与格式经验踩过的坑都在这里了5.1 大佬也逃不过的5个常见问题做场景建模不可能一帆风顺。我把古建阁楼类场景最高频踩中的几个坑整理成了一张速查表你可以直接抄作业遇到问题照着表里排查就行。常见问题典型现象排查思路解决方案黑面/破面某块网格在平滑或渲染时发黑法线方向不一致使用“统一法线”命令检查法线是否全部朝外烘焙接缝贴图明暗过渡处出现明显裂缝UV留偏不足或外扩不够烘焙时把“留边”或“外扩”像素调大到4-8像素翘角扭曲飞檐末端平滑后歪歪扭扭翘角区域环线不够均匀在弧度转折部位增加环线保持线间距离均匀大场景卡顿导入引擎后帧数骤降实体面数超限用LOD多细节层次远景用低精代理模型重复共面闪烁两个网格重叠面交替闪现创建时未清理重叠结构选中重叠部件使用“编辑几何体”中的“塌陷”或手动删面翘角扭曲是我最常遇到的布线问题。它的根源往往在于我给翘角加了线但加线的位置太随意导致线间距忽大忽小。细分的算法会把这些不均匀差异放大最后扭曲从局部扩散到整个角。解决方法是把翘角区域的环线间距对齐到尽量一致哪怕手动一个个挪顶点也不能跳过去。5.2 osgb格式数据与手工模型怎么配合这次做的阁楼场景还有一版方案是需要放到一个真实地形环境里做沉浸式漫游而地形部分来自倾斜摄影测量。这会涉及一个在3DMAX使用中让人头疼的问题osgb格式的数据怎么导入。先说结论3DMAX不能直接打开osgb这种原生格式必须先转成Obj、FBX或IFC等可编辑格式才能用。行业里普遍的做法是用转换工具把osgb数据切片转成带LOD的FBX或直接生成可交互的引擎格式然后在引擎里跟手工模型做场地拼接。但如果你确实需要在3DMAX里完成整个场景整合我的建议是别把整块倾斜摄影模型导进MAX——文件会大到“一生万物”。更聪明的做法是先把osgb转换成的低精度整体地形模型导入用来对位再手工建模的阁楼作为重点资产单独编辑最后在引擎里合在一起。这样既保住手工模型的布线质量也不至于卡死在文件拖拽阶段。对位的时候要注意坐标基准。倾斜摄影数据的坐标通常是测绘坐标系而MAX默认是常规世界坐标两者如果不统一你辛辛苦苦建的阁楼会直接“飞”到空中。处理方法是找一个明显的空间参照点比如地形里的道路交叉口或标志建筑把阁楼手动对齐到和它在实景照片中同样的位置上。5.3 资产整合与轻量化当你终于把阁楼模型、UV、烘焙贴图全部做完需要做的最后一件事是清点资产而不是直接交付。我会从下面几个维度过一遍低模面数是否达标三角形数量是否控制在约定范围内贴图尺寸和格式是否符合引擎要求纹理贴图的“最大使用尺寸”是否超出了目标平台限制模型的世界坐标原点有没有统一。这里分享我的一个老毛病做模型时坐标轴每个零件都放在了局部坐标系导出时忘掉重置结果引擎里所有散件全部错位。后来我形成习惯任何模型的“轴心”在交付前一步必须重置到世界原点整个场景只保留实际放置坐标。轻量化也别忘了检查贴图数量。正常古建场景用4到6张贴图就能完成表达如果超过了说明贴图利用率太低。可以在Photoshop或写一个简单的贴图合并工具把多张小纹理合理地合排到一张图集里能省下大量加载带宽。写在最后的一点个人体会其实做古建筑阁楼这类场景到最后真正拼的不是软件操作而是对结构的理解和对布局的习惯。布线思路本质上是一种“顺着结构逻辑去组织网格”的思维方式这种能力不会因为换一个软件就失效。你只要养成“先看建筑、再定面数、后下布线”的顺序再加上像我上面说的那些收尾习惯基本就不会再做返工噩梦。最后分享一个小技巧每次做完大场景我会特意隔一天再打开工程把所有图标都隐藏起来用一个纯色背景从各个角度截图。第二天再看这些截图你总能发现自己昨天因为疲惫而忽略的问题。这个习惯帮我避免了不下三次交付前的紧急翻车。