尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

UE5.7山湖环境搭建全流程:地形水体植被光照后期一站式指南

UE5.7山湖环境搭建全流程:地形水体植被光照后期一站式指南 之前在做一个自然景观展示项目时最让我头疼的其实不是单个模型而是“环境感”一直不对山没有层次湖像一块死板的反光板树刷完之后不是壮阔而是杂乱。后来我把 UE5 里的 Landscape、Water、Foliage、光照和后期处理串成一条固定的搭建流程效率明显提升效果也稳定了很多。本文以 UE5.7.1 为例从空项目开始完整演示一个“山湖”环境的创建过程覆盖地形雕刻、湖水水体、植被填充、光照天气、后期调色、巡游输出以及常见坑点。无论你是刚接触 UE5 的新手还是想整理一套规范流程的场景美术或技术美术都可以按这套方法动手做一遍。1. 背景与核心概念1.1 什么是“山湖”环境“山湖”环境指的是以山体、湖面为主要视觉对象的自然场景。它不一定要达到电影级写实但至少要满足“看起来自然、节奏有层次”远景有山峦轮廓中景有树林和湖岸近景有草地、石头和水面波纹。这种场景在游戏关卡、建筑可视化、虚拟制片、数字孪生展示中都很常见。在 UE5.7.1 中搭建这类场景本质上不是做一个模型而是把多个系统组合起来地形系统负责山体造型水体系统负责湖面植被系统负责批量种植光照和后期系统决定整体氛围最后再通过 Sequencer 和 Movie Render Queue 输出成可展示的视频。每个系统单独用都不复杂难点在于让它们相互配合尤其是地形和水体的边界、植被密度与性能之间需要反复调整。1.2 为什么选择 UE5.7.1 做自然场景UE5 系列在自然场景制作上有几个明显优势。Landscape 地形系统支持大范围雕刻和图层材质混合适合表现山体走势Water 插件把湖泊、河流、海洋统一放在一套编辑体系里可以通过 Spline 快速调整湖岸线Lumen 提供了比较完整的全局光照和反射效果Nanite 允许场景使用面数更高的静态网格体。在 UE5.7.1 中这些系统可以同时开启并且默认项目模板已经做了大部分初始化设置不需要从底层一点点搭。对新手来说最直接的感受是“所见即所得”白天光线、水面反射、植被阴影都会实时反馈在视口中雕刻完地形之后不需要手动烘焙光照贴图。这大大降低了环境搭建的心理门槛也适合快速迭代验证。1.3 核心系统分工一览在开始操作前先明确每个系统在整个场景中的职责后面做起来不会乱。系统作用在本文中的位置Landscape 地形系统雕刻山体、绘制地表材质第 4 部分Water 水体插件创建湖面、编辑湖岸线、控制水面材质第 5 部分Foliage 植被模式批量种植树木、草、石头第 6 部分Sky Atmosphere / Volumetric Cloud控制天空颜色、云层和大气感第 7 部分Exponential Height Fog添加距离雾增强山体层次第 7 部分Post Process Volume曝光、泛光、色调映射等最终调色第 7 部分Sequencer / Movie Render Queue巡游镜头制作和视频输出第 8 部分这张表也可以作为你的工作顺序参考地形在前水体其次植被和光照最后调整。这样每一步都能基于上一步的结果做判断避免返工。2. 环境准备与版本说明2.1 硬件与软件准备制作 UE5.7.1 场景前先确认电脑能满足基本运行需求。以下不是官方最低配置而是长期做场景时比较舒适的一套参考Windows 10/11 64 位系统。内存至少 16GB建议 32GB。UE5 项目运行起来比较吃内存尤其是实时全局光照和体积云开启后。显卡建议 RTX 2060 及以上或者同性能的 DX12 显卡。固态硬盘剩余空间建议保留 100GB 以上UE5 项目、插件缓存和渲染输出都会占空间。如果你的电脑配置偏低也不用放弃可以在后续步骤中关闭体积云、降低植被密度先把流程跑通。2.2 安装 UE5.7.1 并启用必要插件先打开 Epic Games Launcher找到 Unreal Engine 5.7.1点击安装。安装完成后首次启动会编译 Shader耐心等待即可。新建项目前建议先确认 Water 插件已经启用。操作路径如下打开任意项目进入菜单 Edit → Plugins在搜索框中输入Water。找到Water和Water Mesh两个插件勾选启用。启用后编辑器会提示重启重启后插件生效。这里需要注意不同 UE5 小版本的插件名称和位置可能略有不同但搜索Water关键字基本可以定位到。2.3 新建项目与版本注意事项在启动页面选择 New Project选择 Blank 模板下的 Blueprint 项目。如果你是第一次接触 UE5不建议一开始就选带大量角色的第三人称模板虽然自带角色方便测试但初始资产太多后面删起来麻烦。Target Platform 选择 DesktopQuality Settings 选择 Maximum。如果你已经创建了项目后续也可以在 Project Settings 中调整。还要提醒一点UE5 项目的 UE 版本最好不要随意切换。Landscape 编辑方式、Water 插件的参数面板在不同小版本中可能会有变化如果你换了版本场景打开后很可能出现材质异常或者水体显示问题。本文操作以 UE5.7.1 为例菜单名称以你本机实际界面为准。3. 创建项目与基础场景设置3.1 规划资产目录项目建好之后第一件事不是急着放山放水而是把目录结构规划出来。UE5 场景资产一旦多起来没有目录规范会非常痛苦。建议在 Content 下创建以下目录Content/ Environment/ Mountain/ Lake/ Vegetation/ Materials/ PostProcess/Mountain放地形相关材质和高度图Lake放水体材质和蓝图Vegetation放植被网格体Materials放公共材质PostProcess放后期处理相关资产。这样后续查找资产、迁移项目、做版本管理都会清晰很多。不要觉得规划目录浪费时间。我做项目时见过直接把几百个 FBX 和材质堆在 Content 根目录下的情况最后只能一个个靠文件名猜内容。提前花五分钟规划后面省下的是几十倍的时间。3.2 创建基础环境 Actor在 Content Browser 中新建一个 Level选择 Open World 模板或者 Empty Open World。打开后场景中默认可能只有地板和基础光照没有完整的自然环境。我们需要在 Place Actors 面板中搜索并添加下面这几个 ActorDirectional Light模拟太阳决定阴影方向。Sky Light为场景提供环境光。Sky Atmosphere控制大气散射和天空颜色。Volumetric Cloud生成体积云。Exponential Height Fog添加距离雾。在一个空旷场景中这五个 Actor 是自然环境的骨架。添加后先不着急调参数等山体和湖水做好后再回来统一调会更直观。3.3 项目渲染设置确认在 Project Settings 中打开 Rendering 分类确认以下设置Global Illumination Method 选择 Lumen。Reflection Method 选择 Lumen。Shadow Map Method 推荐使用 Virtual Shadow Maps。Lumen 是 UE5 的全局光照方案它能在不算高的硬件成本下提供比较柔和的间接光照和反射。Virtual Shadow Maps 则可以为大场景提供更精细的阴影细节。不同项目的默认设置可能不同如果在 Project Settings 中看不到对应选项可以搜索Global Illumination。这里的原则是只要硬件允许优先开启 Lumen 和 Virtual Shadow Maps这是 UE5 环境下自然场景表现力的重要基础。4. 山体地形搭建4.1 创建 Landscape 地形在编辑器左上角切换到地形模式部分版本显示为“地形”或“Landscape”。选择“新建”创建地形。你可以使用默认参数也可以根据需要的场景尺寸调大整体分辨率。对于山湖场景建議把地形面积做得比实际视野范围大一些这样后面的远山和镜头调度才有空间。创建地形时需要注意地形分辨率越高雕刻越精细但性能开销也越大。实际制作中不要一开始就设置成超过需求的分辨率先用默认值跑通流程确定山体范围后再考虑是否加细分。创建之后地形会以一块平面出现在场景中。接下来的工作就是在这块平面上“挖”出山谷和湖盆。4.2 雕刻山体形态在地形模式中使用雕刻Sculpt工具。刚开始时建议用比较大的笔刷和较软的衰减先拉出山体的大结构。比如把地图一端的区域整体抬高形成遮挡视线的山脊另一端保持低洼作为湖盆。几个常用工具的建议用法Sculpt按住左键抬高地形按住 Shift 降低地形。Smooth把坑洼和棱角抹平适合过渡处理。Erosion模拟水流侵蚀给山体表面增加自然沟壑感。操作顺序上先用大笔刷控制整体走势再用小笔刷修细节。靠近湖面的一侧应该平缓一些形成一个微微倾斜的湖岸背向湖面的山体可以陡峭一些形成对比。雕刻过程中可以随时旋转视角观察轮廓不要只盯着顶视图。山体的“剪影”是否好看直接决定场景未来的气势。4.3 地形材质与图层混合山体雕刻完成后给地形制作一个基本材质。新建一个 Material命名建议带M_前缀例如M_Landscape_Base。在材质编辑器中创建下面几个节点LandscapeCoords地形坐标。LandscapeLayerBlend地形图层混合节点。若干TextureSample分别采样草地、岩石、泥土纹理。把纹理连接到BaseColor、Roughness、Normal然后在 LandscapeLayerBlend 的细节面板中添加多个图层每个图层对应一种地表类型。保存材质后回到地形模式选择“绘制”或 Paint 模式把刚才的地形材质指定给地形。随后添加图层权重用笔刷在山顶刷岩石、在坡地刷泥土、在湖区周围刷草地。图层材质的意义在于它不是把整张纹理贴满地面而是根据你笔刷的权重在不同区域混合表现“山脚是草、山腰是岩石、湖边是泥滩”这种自然过渡。4.4 可选通过高度图生成大范围山体如果觉得手工雕刻太耗时可以用 World Machine、Gaea 等工具生成高度图再通过地形模式导入。操作上通常是把生成好的 PNG 灰度图保存到本地然后在 Landscape 创建面板中选择“导入高度图”按提示选择图片和大小即可。这个方法适合制作大面积山体和更真实的自然地形。缺点是导入后还需要手动微调湖边高度因为高度图对湖盆的控制不一定符合你的项目需求。对于第一次练习建议先手工雕刻感受一下笔刷参数对地形的影响。5. 湖水水体制作5.1 使用 Water 插件创建湖泊确认 Water 插件已启用后在 Place Actors 面板中搜索Water Body Lake直接拖入场景。注意拖入的不是一个静态网格体而是一个水体蓝图。它默认由 Spline 控制湖岸形状并且会自动创建一个 Water Zone 作为水体渲染区域。确保 Water Zone 存在且覆盖湖面范围否则水面可能不会被渲染。如果你搜索不到任何 Water Body 类多半是插件没有启用回第 2.2 节检查。5.2 调整湖岸线与水面高度选中 Water Body Lake 后在细节面板中找到 Spline 编辑入口进入 Spline 编辑模式。此时可以看到湖面上的蓝色控制点拖动控制点可以改变湖岸线形状。你需要根据地形凹槽勾勒湖面轮廓。先围绕低洼区域拉一圈闭合的 Spline让它大致贴合湖边的高程线。水面高度由 Water Body Lake 的 Z 坐标决定选中整个湖泊蓝图调整 Z 值让水面刚好覆盖湖底最低洼处。常见的问题是水面比地形低太多湖水断断续续或者水面比岸边土地高太多导致湖边出现明显的水面爬坡。判断标准很简单在透视视图里绕着湖走一圈看水面和地形的交界线是否自然贴合。5.3 调整湖面材质与物理交互Water Body Lake 默认会带一套水体材质但它通常是一个基础材质实例。你可以通过细节面板中的 Material Override 替换成自己创建的湖水材质。在材质实例中常见的可调参数包括Water Color水体颜色偏蓝绿还是偏棕。Opacity / Extinction Scale水的透明度和混浊程度。Normal Strength法线强度影响水面波纹的明显程度。Wave Amplitude波浪幅度。需要注意的是湖水材质通常会开启半透明和折射这些效果在普通透视图里可能不够明显按Alt P运行游戏后会更接近真实效果。5.4 湖边过渡与湖底细节湖水好看还不够湖岸过渡才是真实感的关键。如果湖边全是草地突然切到水面看起来会很假。常用的处理方法是给湖边再刷一层“过渡材质”比如湖边湿沙、浅水泥滩、碎石滩。你可以在第 4.3 节的地形材质中再添加两个图层专门用笔刷沿着湖岸线绘制。湖底也不要留成纯色。打开地形模式用降低笔刷把靠近岸边的水底区域刷出一圈浅滩这样水面边缘会形成渐变而不是陡降深渊。浅滩越大湖水越显通透也越适合玩家在岸边活动或拍照。6. 植被填充与环境细节6.1 植被资产准备植被是整个场景中最能提氛围的元素也是最容易拉低性能的部分。在开始种植之前先准备一批网格体资产。如果暂时没有自己的模型可以从 Starter Content 中使用植物模型或者从 Quixel Megascans 下载免费树木和岩石。商业项目要注意资产授权范围练习项目直接用免费资产即可。每种植被进入场景前确认它有合适的碰撞体。树木的碰撞可以用简单的胶囊或盒子草和花的碰撞建议设置为无碰撞避免玩家被空气墙挡住。6.2 使用 Foliage 工具批量种植在编辑器左上角切换到植被模式界面左侧会显示 Foliage Type 列表。点击加号添加“Foliage Type”然后从弹出的资产列表中选择一个 Static Mesh。选中该 Foliage Type 后再添加你要刷进场景的网格体。接下来调整笔刷参数Density密度数值越大种得越多。Radius笔刷半径影响每次刷的范围。Scale随机缩放范围可以让树和草的大小有差异。Cull Distance剔除距离超过该距离的草和树不再渲染。开始刷植物时先去湖岸刷一圈树再往山坡扩散。树不要刷得太均匀自然状态下植被总是成簇分布在某个区域稀疏的地方就让它保持空白。草地可以沿着湖边和平缓坡大面积刷但密度不要一开始就拉到最大。6.3 植被分布与性能平衡植被刷完之后按Alt P运行场景快跑一圈重点观察两个问题第一植被密度是否影响帧率。如果明显卡顿优先降低草的密度和剔除距离因为草通常是数量最大的物体。第二远处的树是否闪烁或突然消失。这个问题通常是因为 Cull Distance 设置过小或者 LOD 切换距离不够。在 Foliage Type 的细节中增大 Cull Distance并为树木网格体生成 LOD。还有一个提高效率的小技巧若干草或小石头可以使用 “Hierarchical Instanced Static Mesh”也就是把多个实例合并到同一个绘制调用里。UE5 的植被模式默认使用类似机制你只要把同一种小物件放在同一个 Foliage Type 里绘制即可不要在场景里摆放几百个单独的 Actor。7. 光照、天气与后期处理7.1 调整太阳光与天空自然场景的氛围很大程度由太阳角度决定。选择场景中的 Directional Light调整旋转值让太阳处于下午三四点的低角度位置。此时影子拉长山体表面会出现明暗对比湖面也会有较强的反射光。低角度的暖色阳光比正午的顶光更适合表现“山湖”场景的层次感。保持 Directional Light 的“Atmosphere Sun Light”选项开启这样 Sky Atmosphere 才能根据太阳方向正确计算天空颜色。关闭后天空和太阳方向会对不上效果会很怪异。7.2 添加云层与高度雾Volumetric Cloud 默认会生成一层云。你可以调整云量参数让天空有一些高积云而不是白茫茫一片。云层的高度一般保持默认重点调节密度和覆盖范围。Exponential Height Fog 用来增加距离感。合适的设置下远处的山体会逐渐变淡产生“空气透视”让场景深度更明显。参数调整时可以拉高 FogDensity观察远山是否变得柔和但不能太多否则整个场景都会灰蒙蒙的。在自然环境里雾和云是营造氛围的利器。不要怕调试花一些时间在光照和雾上往往比加更多植被更容易出效果。7.3 后期处理与调色在 Place Actors 中搜索Post Process Volume拖入场景并勾选 Infinite ExtentUnbound。后期处理会影响最终画面质量建议按下面顺序调整曝光补偿如果场景过亮或过暗优先调整曝光补偿而不是拉乱灯光强度。白平衡添加少量蓝色或暖色让画面更符合清晨或傍晚的氛围。泛光强度控制发光物体的光晕程度水面高光不宜过强。暗角适当增加暗角让视线更聚焦在湖面中心区域。色调映射一般保持默认的 ACES 风格它会让亮部更有层次。如果你希望画面更有风格可以后续通过颜色分级卷轴进一步处理。7.4 常用控制台调试命令在场景运行或编辑时按键盘~键打开控制台可以输入一些渲染命令快速调试画面。这里列几个常用的r.VolumetricFog 1 r.VolumetricFog 0 r.Shadow.MaxResolution 2048 r.Lumen.DiffuseIndirect.Allow 1 r.AntiAliasingMethod 4 Stat FPS Stat GPUr.VolumetricFog 1 / 0用来快速开关体积雾对比效果差异r.Shadow.MaxResolution控制阴影分辨率数值越大阴影越清晰但开销越高Stat FPS和Stat GPU则用来查看运行时性能数据。这些命令很适合在调优阶段使用。注意不同 UE5 版本的命令可能会有细微差异如果某个命令不存在控制台一般会给出提示。8. 巡游验证与视频输出8.1 在编辑器中运行验证场景搭建到这一步先用编辑器自带的运行模式验证一遍整体效果。按Alt P进入模拟。如果项目是空模板没有角色控制器可以直接把视角放在默认启动位置查看。更好的方式是切换到透视视图用飞行模式绕湖转一圈检查有没有穿帮、材质闪烁、植被漂浮等问题。这一段检查非常重要很多问题在静止视角下看不出来一转动镜头就暴露了比如湖面反射闪烁、远处山体重叠、树木和草穿插明显等。8.2 使用 Sequencer 制作巡游镜头静态截图无法表现环境氛围建议用 Sequencer 做一段镜头巡游。先在地图中放置一台 CineCameraActor位置放在湖岸的一侧目标朝向湖对岸的山体。然后打开 SequencerWindow → Sequencer。在 Sequencer 中新建一个 Camera Cut 轨道把 CineCameraActor 拖入轨道中。找到 Transform 轨道在第 0 帧设置镜头起始位置在第 300 帧左右设置结束位置这样镜头就会缓慢移动。关键帧之间默认是线性插值实际使用中建议手动调整曲线的缓动让镜头起步和停止更平滑。镜头速度不要过快自然场景巡游适合舒缓的节奏。8.3 使用 Movie Render Queue 输出完整视频镜头做好后打开 Window → Movie Render Queue点击渲染按钮把当前序列输出为视频或图像序列。首次渲染建议先选择低分辨率或少量帧数测试比如 960×540 分辨率渲染几十帧确认画面没有黑屏、没有过曝后再正式出片。输出格式上MP4 适合快速预览EXR 序列适合后期调色。如果你后续要进 DaVinci Resolve 或 Premiere 做进一步调色建议输出 EXR 序列。渲染视频和视口预览通常会有一点差异原因包括抗锯齿、运动模糊、渲染采样设置等。如果差异很大回到第 7.3 节微调后期参数然后重新渲染测试。9. 常见问题与排查思路9.1 常见问题速查表下面整理了制作“山湖”环境时最容易遇到的几类问题可以直接对照排查。问题现象常见原因解决思路湖面闪烁或波纹锯齿明显水面与地形存在 Z-fighting或抗锯齿设置偏低检查水面高度避免与地形完全贴合开启 TAA 或提升采样质量水面和岸边有明显断层湖底没有雕刻坡度或水面高度不对用 Sculpt 工具在湖边刷出浅滩重新调整水体 Z 坐标植被刷完运行后变少或消失Cull Distance 过小或 LOD 切换太早增大 Foliage Type 的剔除距离检查 LOD 设置场景整体偏暗或偏亮自动曝光干扰或光照强度失衡调整曝光补偿锁定手动曝光再调整太阳光和天空光找不到 Water Body LakeWater 插件未启用Edit → Plugins → 搜索 Water启用后重启编辑器地形材质刷不上图层权重没添加或材质没有指定给地形检查 LandscapeLayerBlend 节点确认地形模式中已添加权重图层渲染视频和视口差距大渲染分辨率、采样设置不同用 Movie Render Queue 设置更高采样先渲染小图测试编辑器运行卡顿植被过密、体积云或阴影开销过高降低植被密度关闭体积云或减少实时阴影分辨率9.2 高效排查流程遇到问题不要一次性修改十几个参数这样最后根本不知道是哪个改动生效。下面这套流程可以参考首先用Stat FPS和Stat GPU判断是不是性能问题。如果是先关掉体积雾和体积云再降低植被密度性能有明显改善就说明问题出在这些渲染特性上。其次检查材质类问题。如果水面或地形出现异常优先看材质是否用了正确的贴图坐标是否有节点连接错误。UE5 材质编辑器里断开一部分节点做对比是很快的办法。最后检查坐标与碰撞问题。物体漂浮、穿模、水体断层大多和位置、碰撞体有关把相关 Actor 在细节面板中归零或对齐地面往往能快速定位原因。10. 最佳实践与工程建议10.1 资产命名与目录规范无论做单人项目还是团队协作都建议从一开始就坚持命名规范。常见的命名前缀可以参考下表资产类型前缀示例静态网格体SM_Tree_Pine材质M_Landscape_Base材质实例MI_Lake_Water蓝图BP_WaterBody_Lake植被类型FT_PineTree关卡L_MountainLake配合第 3.1 节的目录结构只要资产名规范即使几个月后再打开项目也能快速找到对应资源。10.2 性能优化优先级自然场景的性能优化优先级我一般按以下顺序处理第一先处理植被密度。植物数量通常是最容易拖垮帧率的原因尤其是草和小灌木。第二控制阴影质量。体积阴影和超高分辨率阴影贴图在大场景中开销很高适当降低阴影分辨率能换回不少性能。第三管理剔除距离。让远处的植被和网格体尽早被剔除减少渲染负载。第四才是考虑 Nanite 和 LOD。树木和岩石这类静态网格体可以启用 Nanite但花草这类小物件使用传统 LOD 通常更划算。不要把每个资源都强行开 Nanite按物件大小和数量判断。10.3 版本管理与发布前检查场景文件建议定期另存为版本号比如L_MountainLake_v01、L_MountainLake_v02。不要长期在同一个地图上反复覆盖保存哪天某个操作改崩了场景你还能回退到上一个版本。有条件的话用 Perforce 或 Git LFS 管理资产。UE5 项目文件很大不同团队工作流差异也大但建一条“每天提交一版、发布前打标签”的流程总是稳妥的。发布前还应该做几项检查确认没有遗留调试节点或测试 Actor确认地图默认打开的场景是正确关卡检查未使用资产并及时清理。Project Settings 中的未使用资产审计工具可以辅助清理。10.4 一点学习和迭代建议做环境场景特别忌讳“一口气完成”。更推荐的做法是先搭一个最小版本——一块地形、一片湖、几棵树跑通整条流程然后在此基础上不断增加细节每加一层就运行验证一次。这样出了问题你能很快锁定是哪一步引入的。也可以尝试在同一个场景里复制两个版本一个做晴天黄昏一个做阴天晨雾体验光照和后期参数对环境感的巨大影响。你会发现同样的地形和植被只改光照氛围完全就像两个场景。从一片空地形开始雕出一个山坳再让湖水流进来这种从无到有的过程非常有成就感。接下来你还可以继续补充 NPC、天气切换系统、可交互物等把纯展示场景变成更有玩法的内容。希望这篇文章能帮你走通第一步也期待看到你做出的山湖。
返回列表