[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记

UE场景搭建和管理

  1. UE5场景相关工具和特性
  2. 基于原型的场景和搭建管理流程建议
  3. 综合应用案例分析
  4. 常见问题及最佳实践

1.UE5场景相关工具和特性

1.1地形相关

  • Landscape地形

地形系统主要由地形actor和地形模式组成,添加了地形actor之后就可以用各种工具调整地形的形态。也可以从外部导入高度图来定义地形。

得到地形高度图后我们就可以为地形创建材质,在材质编辑器中通过地形层混合节点添加地形层信息,并将材质指定给地形actor后,就可以在地形模式下为地形actor创建层信息,一共有两种模式。

权重混合层:这种方式可以在绘制某一权重的同时,影响其它权重混合层的权重,因此随时可以用任意层覆盖其它层。

非权重混合层:这种层一旦绘制后不会影响其它层的权重,可以确保该层的权重对整体地形材质效果的影响是固定的。

此外在地形actor中启用编辑图层属性,我们还可以非破坏性的对地形进行编辑。例如我们可以新建多个编辑图层,分别进行雕刻和材质绘制后,可以随时对任意编辑图层显示或隐藏,或者调整各图层的alpha值来控制混合,这样可以为我们的地形设计带来更高的灵活度。
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第1张图片

  • Landmass插件

启动后我们可以使用插件提供的蓝图笔刷等功能。
在这里插入图片描述

  • 植被

植被模式可以通过笔刷快速生成大量植被。

  • 程序化植被体积

UE还有程序化植被体积,可以方便我们在场景中创建一个体积设置好植物种类和分布规则。一键生成大量的植物对象。
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第2张图片
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第3张图片

  • 地形草

新建地形草资产,并指定草的静态网格体,在地形材质中添加一个地形草输出节点。指定所属地形层,和引用的草类型资产即可。

材质编译后就可以看到在场景对象的特定地形层自动铺满了地形草中指定的静态网格体。
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第4张图片
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第5张图片

  • 延迟贴花

为了在场景地表上添加更为贴合表面的细节。我们还需要用到延迟贴花功能。

具体操作:

创建一个材质,设置好材质效果后,将材质域设置好延迟贴花,然后在场景中新建延迟贴花actor,指定这个材质就可以使用了。

延迟贴花的优势在于可以在关卡里,灵活的创建横跨地形或者多个场景物体的贴合表面的叠加材质细节。

使用时也要注意延迟贴花带来的实时性能消耗。因此同屏贴花数量不应该过多,面积也不应该过大。

  • 运行时虚拟纹理

针对面积庞大同时又需要横跨地形的场景物体表面细节效果,我们还可以用UE的运行时虚拟纹理(RVT)。

我们只要在项目设置里启动虚拟纹理,创建RVT资产,然后再创建两个材质分别用来采样和输出RVT。

比如我们可以在地形材质中添加一个RVT输出节点,把当前地形材质的最终输出效果输出到RVT中。
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第6张图片

然后创建另外一个材质,添加RVT采样节点,用来定义RVT最终如何使用。

然后就可以在场景中添加RVT体积,指定这个RVT资产。再设置边界为地形,并且设置地形actor在虚拟纹理中绘制属性为当前的RVT资产。

通过这种方式就可以让场景中的物体和当前地形材质最终效果进行实时混合。
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第7张图片

相对于延迟贴花,更适合对大范围地表材质进行实时混合。

逻辑如下:
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第8张图片

注意:

RVT的绘制方式本身是投射,而投射方向是由RVT体积决定的。因此RVT通常用来投射到大面积的平面上。如果是投射方向各不相同的局部细节需求,还是更适合用延迟贴花来实现。
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第9张图片

  • 虚拟高度场网格

启动虚拟高度场网格插件后,就可以通过一张高度RVT为地形增加实时动态的高度细节,实现类似致幻的效果。

我们可以通过虚拟高度场模型蓝图的属性来控制细分层级切换距离等,可以在影视动画中带来一种快速得到地表高度细节的方法。

在这里插入图片描述

  • 网格体绘制

可以在场景中针对单个静态网格体对象进行顶点色绘制,主要用于手动为场景中的特定物体添加场景相关的材质混合效果。
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第10张图片

绘制后的顶点色信息默认保存在关卡中,因为针对的是静态网格体实例。如果想应用到网格体资产,只需要点击应用按钮,这样它在场景中的实例都会有统一的顶点色效果。

此外为了让网格体呈现出绘制后的混合效果,我们需要在其材质中添加顶点色节点,来读取网格体对象的顶点色信息并用来混合不同的材质分支。

地形效果方案选择参考

  • 地形高度:导入高度图/雕刻笔刷/Landmass蓝图笔刷/虚拟高度场网络
  • 地形整体材质:导入权重图/材质权重笔刷
  • 地形山脉,湖泊: 导入高度图/Landmass蓝图笔刷制作原型+迭代高度图
  • 地形洞穴:地形挖洞材质+洞穴静态网格
  • 地形局部大型植被: 植物笔刷
  • 地表大面积大型植被: 程序化植被体积
  • 地表普遍小型植被/碎石/杂物: 地形草/植物笔刷/程序化植被体积
  • 地表局部材质效果:延迟贴花/运行时虚拟纹理
  • 地表物体和地表材质融合效果:运行时虚拟纹理
  • 地表物体多角度材质融合效果:延迟贴花
  • 地表物体特定实例材质混合效果:网格体绘制

1.2模型相关

  • BSP几何体

BSP几何体可以在场景中快速的搭建模型原型,我们可以在笔刷编辑模式中,对BSP几何体进行基本的形态编辑,确定形态后可以转换成静态网格体资产。

  • 建模模式

建模模式提供了完整,强大的模型编辑功能。

  • 几何体脚本

启用几何体脚本插件后,通过程序化的方式来使用建模模式。
在这里插入图片描述

  • 样条线

场景中会经常出现类似藤蔓,栅栏,道路等曲线形态的模型。

这时我们就可以在蓝图中使用UE的样条线组件,结合静态网格体组件或者样条线网格体模型组件制作一个可以在场景中灵活编辑的样条线模型蓝图。其中,样条线网格体可以跟随样条线进行弯曲变形,因此指定的静态网格体资产要有足够的细分。然后我们就可以很方便的对场景中对样条线节点进行添加,移除修改曲线等。同样经过简单的蓝图编写。我们可以对样条线上不同的分段设置不同的静态网格体资产。

  • 物理辅助生成模型

选取一些网格体进行模拟,得到合理的形态后点击鼠标右键,选择保留模拟变更,或者选中后按K就可以保存当前模拟状态。

然后我们选择这些actor 选择编辑器菜单中的actor>合并acotr,将它们合并为一个蓝图资产或者整体静态网格体。

此外我们还可以用Chaos,来模拟物理的破碎,来获得这类网格体资产。
在这里插入图片描述

  • 静态网格体和LOD

LOD(细节分级)是优化手段,提高系统流畅度。

  • Nanite

UE5新的功能与Lumen结合度高

1.3环境相关

  • 天空大气
  1. 我们可以使用天空盒来实现静态的天空效果,也可以用动态材质
  2. 天空大气actor较为真实的模拟了,类地行星上大气的完整效果,并且支持基于物理的参数来调节大气的视觉效果,从而模拟星球上不同位置甚至是不同星球上的大气效果变化。
  • 指数高度雾

默认的雾效是基于整个屏幕进行模拟的,如果想体现出雾的体积感,只需要勾选高度雾的体积雾选项,就可以得到基于物理的能够较为准确的反应区域变化的体积雾效。

  • 体积云

云层的细节形态靠云的体积材质来调整。

例如:启动Volmetrics插件后,我们可以在内容浏览器中显示引擎内容和插件内容。

找到Plugins>Volumetrics内容>Content>Sky>Materials下可以替换多种云材质。

除了材质控制云的形态外,我们还可以使用Plugins>Volumetrics内容>Tools>CloudCompositing>Blueprints的BP_CloudMask_Object和BP_CloudMaskGenerator这两个蓝图,通过把它们拖到场景中并且添加一个体积云actor指定支持Mask方式的云材质(例如M_VolumetricCloud_02_Profiles_PaintClouds_Small材质),把BP_CloudMask_Object对象放置到较远的位置,然后调整一下尺寸,我们就可以通过它来控制一片区域云层的位置。非常便于在特定的镜头里控制局部的体积云效果。
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第11张图片

此外我们还可以找到Plugins>Volumetrics内容>Tools>CloudCompositing>Blueprints下的BP_PaintClouds蓝图放置到场景中,给体积云actor设置一个支持云层绘制的材质(例如M_VolumetricCloud_02_Profiles_PaintClouds_Morning)。

再设置一下世界场景设置下游戏模式的游戏模式重载为VolumetricPaintingGameMode,点击运行游戏后我么就可以用笔刷在天空中绘制云了。

无论是之前的放置局部蓝图还是用笔刷本质上我们都是在绘制一张渲染纹理,然后用这张纹理作为遮罩去影响云层的渲染。

  • 基于时间和地理的日夜光照变化

在插件管理器中启用
在这里插入图片描述

然后将Sunsky这个蓝图actor放置到空场景中,蓝图中已有各调控组件。然后添加一个全局后处理体积调整好曝光参数。然后就可以输入时间(月,日等)和地理信息(经纬度)自动计算出当前主方向光的方向。
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第12张图片

  • 天气现象(风,雨,雪,雷电)

    • 风 UE提供了方向风源actor,风本身没有视觉变现而是要通过场景中的物体对风的反馈来表现。
      • 其中使用物理模拟方式制作的布料动态效果,默认会和场景中的方向风源产生关联。
      • 植被中SpeedTree类型的植被默认支持方向风源产生交互。而其它植被目前需要在材质中结合材质参数集和蓝图功能来和方向风源产生交互。
    • 雷电 主要通过粒子特效,材质特效甚至蓝图功能来模拟天空放电的自然现象。
    • 雨雪 有三部分效果
      • 天空降雪效果通过粒子特效来实现。
      • 雪在室外场景物体表面的沉积,可以通过物体自身材质或运行时虚拟纹理来实现。
      • 运动对象和积水积雪的交互,可以用粒子效果以及虚拟高度场网格体来结合蓝图功能实现上述效果。
  • 水系统

[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第13张图片

1.4关卡管理相关

  • 子关卡和关卡流送

可以在关卡管理器中在当前关卡之下添加对其它关卡的引用,形成多个子关卡。可以方便我们将整个复杂关卡按场景类型拆分。这样方便分工协作。

[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第14张图片

可以通过关卡流送的方式在渲染输出时,通过蓝图或者关卡流送体积动态加载或者卸载关卡。以此节省内存占用。

注意事项

主关卡对同一个子关卡同时只能有一次引用,而且只能引用子关卡中直接引用的场景对象,不能嵌套引用子关卡中本身引用的子关卡中的场景对象。

  • 关卡实例

UE4中可以通关蓝图加载和卸载关卡实例,到当前关卡。

UE5中我么还可以通过场景实例Actor非常直观的引用其它关卡的内容到当前关卡。

与子关卡不同,引用同一个关卡的关卡实例actor对象可以同时存在多个,还可以多层嵌套引用。

此外关卡实例actor还支持在场景中修改并提交内容。

  • 世界分区

UE4世界构成的替代。

世界分区启用后只要在主关卡中编辑整个开放世界场景需要的所有地形和场景物体对象。世界分区系统会自动将它们分到不同的区块。点击运行后世界分区就会根据当前相机位置动态加载可视范围内的分区,卸载远离的分区。这些分区内的actor对象会被自动管理。不再需要我们手当放置在不同的子关卡中。这样在编辑和输出时都能得到较为彻底的性能优化。普通关卡可以转换为世界关卡。
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第15张图片

  • 数据层

在世界分区关卡中我们还可以使用Datalayer数据层来管理关卡中的场景对象,操作逻辑和场景图层相似。新建数据层,再创建一个数据层资产后,选中场景中的特定对对象后,右键添加到数据层即可。

不同于图层数据层对场景对象的管理并不是隐藏或显示,而是加载或卸载,这对于管理大规模复杂场景提供了更好的内存优化。

除了通过蓝图中的子系统来动态管理数据层之外。我们现在还可以在Sequencer中添加数据层轨道,通过非常直观的方式来管理场景对象的加载或卸载。

  • 一Actor一文件(OFPA)

指的是场景中的对象属性不在保存在关卡中,而是针对每个对象创建一个外部文件来记录这些对象在场景中的数据。如果使用了世界分区OFPA系统会自动启用,这可以大大提升团队协作效率。
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第16张图片

  • 多用户编辑

启用多用户编辑插件后,就可以选择一台设备作为主机,建立链接,其它电脑搜索大链接即可加入,实现多人同时在主机上实现场景编辑的目的。编辑后的结果只会保存在主机上,需要通过版本管理软件再把成果同步给其他电脑。

2.基于原型的场景搭建和管理流程建议

2.1基于原型的场景搭建和管理流程的意义

  • 明确核心数据(尺寸,布局,构图,场景对象种类)
  • 明确制作步骤和团队分工
  • 明确工程框架
  • 提高场景管理灵活度
  • 便于即使监控实时性能数据

2.2根据设计快速搭建原型

  • 地形原型
  • 模型原型
  • 植被原型
  • 环境原型
  • 天气效果原型

2.3替换/加工资产迭代效果

  • Megascans资产库和Sketchfab资产平台
  • 使用Quixel Mixer软件混合贴图
  • 在引擎丰富局部细节

2.4时刻关注场景性能优化整体思路

  • UE5场景性能优化整体思路

整体思路在于在场景不同角度设置相机,然后通过定制的Sequencer在相机之间跳跃,并使用UE自带的各类优化工具,采集性能数据时刻关注场景性能状态,法线特定角度的性能问题,并有针对性的进行调整。

2.5提高场景编辑自动化程度

  • 轻交互蓝图对象
  • 编辑器蓝图脚本和Pyhton脚本
  • 编辑器蓝图控件
  • 灯光环境预设
  • 局部关卡预制

3.综合应用案例分析

《中世纪环境》官方案例设计和制作过程简介

整个过程分为三个阶段

  1. 创意阶段
  2. 设计阶段
  3. 制作阶段

具体操作按学习视频

4.常见问题及最佳实践建议

4.1如何确保场景整体效果协调统一?

4.2如何理解和运用程序化场景搭建?

4.3如何把握场景效果,实时性能和制作效率之间的平衡?

4.4影视项目中什么情况下需要用到世界分区系统?

有较大的室外场景时推荐用
[官方培训]15-UE场景搭建和管理 Epic 戴浩军 笔记_第17张图片

参考资料

  • 关卡设计内容示例|虚幻引擎文档
  • 在虚幻引擎中构建虚拟世界|虚幻引擎5.3文档
  • Medieval Game Environment in UE4

学习地址

地址

你可能感兴趣的:(虚幻引擎,笔记,虚幻引擎,ue5,ue4)