Skip to content

一 项目创建

1.0 版本

目前ThingUE对应的UE大版本为5.2。

1.1 制作团队

内部人员制作,推荐从始至终都用UINO发行版UE;如果是外包制作,验收人员应使用UINO发行版UE进行验收,提交服务器前,请务必确保场景已通过UINO发行版UE的验证。

Alt text

上图分别为UINO发行版UE的图标与启动界面;
为避免混淆,内部人员本地下载UINO发行版UE后,可选择卸载Epic官方版本。

1.2 项目创建

创建项目时切勿勾选StarterContent,提交服务器前,需确保项目资源中没有StarterContent。

Alt text

1.3 插件与工具

项目默认设置以UINO发行版UE为主,如需用到UINO发行版UE未开启的插件,需与UE开发团队进行沟通,切勿擅自开启使用。

Alt text

在与UE开发团队沟通之前,请勿对该面板里的内容进行任何操作。

1.4 资源包

· UE5版本资源包已公布,在UE5项目中,禁止使用UE4版本的资源包
· ThingUE5.0.3及后续版本,需用最新版本的资源包,否则会出现昼夜,天气等无法实现的问题;
· 最新版本的资源包将内嵌于UINO发行版UE中,后续更新将与Engine同步,无需手动迁移文件。具体请参照 资源包使用指南

建议:

1.5 环境组件

不涉及天气,昼夜等需求的项目,不需要使用UINO内部的Sky环境组件,尤其严禁将Sky环境组件拆分使用,如下图所示;

Alt text

如需使用Sky环境套件,须用一整套。 在此前提下,无特殊要求的场景,用官方提供的环境组件自行搭建环境,如下图所示:

Alt text

二 基础事项

2.1 启用Nanite

· 除需用到半透明材质的模型外,其他所有模型都需要开启Nanite,开启方式包括文件夹目录批量操作与单文件独立操作:

Alt text

Alt text


· 如果项目包含SM5版本,需保证FallBackTrianglePercent为100;
· FallbackRelativeError可理解为Nanite优化力度,0为完全不优化,1为正常优化。

Alt text

2.2 模型数量

场景打包前,检查大纲列表的actor统计,如下图:

Alt text

当actor 总数超过5000时,制作人员要警惕;
模型制作阶段,制作人员要对项目场景的体量以及制作方案,有明确的判断。

基本原则:


2.3 模型面数

基于UE5制作的场景,原则上对模型面数要求并不严格,常规场景不做要求;
部分项目如换流站,会有设备不支持Nanite的情况,即:项目设置切换到SM5后,Nanite会失效。这种情况下要对高面数的模型生成LOD进行优化处理,具体方式与规则,参考宜宾换流站。
原则上,单个模型的三角面数超过一万的都需要进行LOD制作。规则不绝对,具体是否需要进行优化,要根据模型实际复杂度进行有效判断。

2.4 模型层级

2.4.1 杜绝无用套壳

模型阶段制作要规范,不要出现无用的组套组,层套层的结构。下图所示 StaticMesh被Actor套壳即为建模阶段的不规范嵌套造成。

Alt text

这种无用的嵌套结构无法进行instance合并,会影响场景的优化工作,需杜绝。

2.4.2 层级内,只放需要交互的物体

前端不操作的模型,actor等,禁止放到campus等层级内;没有标签的对象,禁止放到层级内。

2.5 模型命名

· 命名要规范,禁止出现中文空格,以及特殊符号(~,!,@,#,$,%等);
· 建议max建模阶段就按规范命名。

2.6 灯光阴影

PointLight,SpotLight,RectLight三种灯光,除影响光影结构的少数几盏灯外,所有的灯光阴影都需要关闭;
如果无法对光影结构进行准确判断,建议统一关闭。

三 常见问题及解决方案

3.1 场景视觉模糊

3.1.1 阴影区域整体发黑

模型密集处,阴影过度发黑,如下图:

Alt text

调整后处理中的SkyLightLeaking至理想效果即可:

Alt text

3.1.2 模型局部发黑

该问题为LumenGI下的AO错误,如下图:

Alt text

解决该问题,可以显隐的方式找到干扰模型(通常不会是发黑模型自身,从与其接触的模型入手排查),勾选TwoSideDistanceFieldGeneration后,点击应用即可:

Alt text

解决后的效果如下:

Alt text

注意:

3.1.3 金属反射模糊(辉光效应)

项目端出于性能考虑,部分情况下会降低渲染质量,偶尔会出现金属发射发糊的情况,如下图箭头所示部分,金属有辉光效应,边界模糊:

Alt text

该问题发生于高金属度材质的同时,加了灯光。在后处理中,将反射方式从Lumen改为ScreenSpace,重调材质参数即可。

Alt text

注:

3.1.4 整体不清晰

Alt text

上述几种情况均已解决的前提下,思考是否为材质影响,如上图:设备颜色与地面颜色混为一谈而导致的不清晰

3.2 模型破面

常见于换流站项目,不支持SM6的设备运行结果。通常可从以下两个方面入手解决:

3.2.1 LOD问题

如果模型巨变出现于相机推拉的过程,优先考虑LOD影响

Alt text

3.2.2 Nanite过度优化

如果模型本身就呈现破败,不跟随相机变化,则为Nanite过度优化所致,通过查看模型NaniteFallBackMesh可复现:

Alt text

可通过阵列编辑器批量修改模型的FallbackTriPercent=100和FallbackRelativeError=0进行修复:

Alt text

3.3 场景闪烁

3.3.1 纹理摩尔纹

如视频中房顶的样子:

解决该问题,建议按以下步骤进行:
 · 确定目标纹理的分辨率是否为2的幂次方;
 · 修改纹理mipmap设置,譬如固定为sharpen5等级别
 · 调整材质中纹理的tiling次数

3.3.2 模型摩尔纹

示例:略。
解决方案:
  制作lod。

3.3.3 模型重叠面

示例:略。
解决方案:
  从模型层面剔除重叠面,嵌套模型等内容。

3.3.4 跳跃式阴影闪烁

表现为离散阴影区域间断式跳跃闪烁,如视频所示:

该情况由LumenGI的间接光反弹引起,禁用lumenGI即可,如视频所示:

四 禁用Lumen的场景调整方式

4.1 控制台设置

按“~”调出控制台,键入1.“r.DistanceFieldAO 0”,回车确定。

4.2 GI和Reflection


 ·GI方式从Lumen改为None;
 ·Reflection方式从Lumen改为ScreenSpace;

4.3 天光设置


 · 插入合适的CubeMap以提供环境光照
 · 调整CubeMap角度将亮部旋转至阴影方向
 · 如果涉及室内场景,调整LowerHemisphereColor以照亮场景Z轴正方向
 · 调整亮度控制全局

4.4 AO设置

完成以上步骤后,后处理中开启SSAO,调整强度,半径,及消退距离等参数。

五 验收

验收要求

参考配置

GPU3070
CPU11700K
RAM32G
Res1920*1080

该配置为UINO场景制作人员的基础配置,输出标准以此配置为参考。

帧率

稳定60fps
最低50fps

表中帧率为运行时帧率,输出的场景包运行时帧率,应严格按照表中标准执行。

补充:

性能优化方向

通过控制台命令来锁定性能损耗方向:

Detaied

按“~”调出控制台,键入“stat detailed”唤出如下面板:

Alt text

重点关注红框圈住的三块儿内容: 如果GPU过高,通过查看GPU消耗来确定解决方案; 如果是Draws和Prim过高,严格执行本文第三部分——场景雷区,并按文中描述进行优化;

GPU

按“~”调出控制台,键入“stat gpu”唤出如下面板:

Alt text

从上往下顺序查看哪些内容耗时较多,并按需减弱渲染精度以达到优化目的。GPU内容的优化,美术方面多在后处理上,通常从以下角度入手解决:

  1. 自发光
  2. 屏幕渲染倍率
  3. 反射
  4. 灯光
  5. AO

从GPU状态面板上,查看是否相关属性字段,按需优化。

提示:

五 场景问题常规排查逻辑

遇到打包后在ThingUE里运行与编辑器中效果不一致的问题(包括场景曝光,颜色,材质错乱,材质丢失等),按以下顺序进行排查:

  1. 检查UE大版本是否一致;
  2. 在文件夹列表中,右键Content文件夹进行FixUpRedirectors;
  3. 将问题关卡的内容全部复制到一个空关卡内进行查看;(注意是复制,不是另存为)
  4. 新建空项目工程,将content整体迁移或选择出问题的关卡迁移到新工程里打开检查;
  5. 打开关卡后,注意弹窗上的报错提示,按提示内容找到问题所在,按提示内容进行百度谷歌查询解决方案;
  6. 检查材质错乱的模型资源是否被赋予了材质,是否被赋予了与场景中不一致的材质;
  7. 打开丢失了纹理的材质,查看页面左上角的报错提示,按提示定位问题;
  8. 若是开了Nanite的模型材质丢失,检查模型是否引用了半透明,单层水等Nanite不支持的材质。

提示:

京ICP备13053130号 京公网安备11010502050947号