【UE5 水体系统】
水体的网格系统及表面渲染
介绍表面网格体和材质如何被用来渲染水面。
水系统由两个关键元素构成:可编辑的水面和水面材质。
这两个元素确定了项目中的水如何表现,以及与所接触对象互动。
这可以是非常简单,比如水材质如何将光反射和折射到与水面接触的对象上。
对于Gameplay,这可以是角色在水中移动时如何让水面产生波浪,或者对象在水面上漂浮时的浮力有多大。
水面网格体
水系统有自己的基于样条线的网格体系统,可定义世界内应该包含水的区域。它使用 水网格体Actor(Water Mesh Actor),设置应用于关卡中放入的所有 水体Actor(Water Body Actors)(江河、湖泊和海洋)的属性。水网格体主要定义了所渲染水面的质量和细节。
你必须将水网格体Actor放入场景中,以生成关卡中"水体(Water Body)"类型的表面。水网格体Actor本身并不会渲染表面。水体将使用样条线来定义关卡中表示江湖、湖泊和海洋的区域。这些样条线定义了水网格体Actor在何处绘制并渲染水网格体图块。这样做更高效,因为它仅渲染当前摄像机视图中可见的表面网格体。
水网格体Actor位于场景中时,将水体拖放到场景中可添加或移除表示水面的图块。由于所有水体使用相同的网格体来渲染水面,因此它们会无缝地混合在一起(见下)。这还意味着,你可以在不同类型的水面之间进行过渡,如从奔流的江河汇入平静的湖泊或汹涌的海洋。
Body Lake
Body River
CMD 调试指令
使用控制台命令r.Water.WaterMesh.ShowWireframe 1
启用水网格体线框视图,以查看不同水体之间的这些过渡如何相互作用,从而创建无缝的表面。
水网格体Actor
水网格体Actor(Water Mesh Actor) 可控制表面网格体的质量,该网格体构成放入关卡中的各个水体的图块。各个水体还对关卡中的大小设置了自己的硬性限制。它还提供了特定于海洋水体的额外选项。
在使用高度曲面细分的表面和大的范围时,这些设置可显著影响性能。
水网格体细节级别缩放和曲面细分
细节级别(LOD)或水网格体图块的处理方式是,每帧遍历一个四叉树,生成屏幕上可见图块的最优集合。接着,这些图块会针对每个细节级别尽可能折叠,在最重要的地方(即最接近当前摄像机视图的地方)应用更大或更小的密度。
每个细节级别由摄像机视图周围基于距离的同心圆构成,细节级别越低离摄像机越远,并且包含的顶点数是上一级别的一半。
若使用传统细节级别的几何结构(例如静态网格体),几何结构会基于屏幕大小在不同级别之间快速过渡,这可能导致网格体在不同级别之间切换时显示比较明显的过渡。由于水系统使用网格体图块来表示表面,随着细节级别的过渡,这些级别会彼此变入和变出,这样四个四叉树会在切换到更低的细节级别时变为单个四叉树,或在切换到更高的细节级别时变为16个四叉树(参阅下面的示例)。
水网格体Actor提供了功能按钮来显式定义网格体图块的细节级别和曲面细分量。其中每个属性都彼此独立地起作用,但应同时配置,以在水面的性能和质量之间实现良好的平衡。
每个同心细节级别的大小半径由 LODScale 属性控制。它设置与摄像机的距离,图块应从此距离开始变为更低的细节级别。
曲面细分因子(Tessellation Factor) 通过增加图块包含的顶点数,设置了对于放入关卡中的所有水体,你想要网格体图块拥有的质量程度。较高程度的曲面细分对湖泊和海洋水体最为有益,尤其是有波峰很大、波谷很低的波浪时。
设置这些属性时,请务必平衡以下各项内容:
- 高质量特写镜头,使玩家可看到更精细的细节
- 拉远距离后质量变低,但这对于玩家来说并不重要
- 曲面细分质量的性能成本
请记住,你的水材质也可能具备水系统不需要通过曲面细分处理的精细细节。
通过以下方法启用水图块的可视化:
- 在关卡视口中使用 笔刷线框(Brush Wireframe) 视图模式。如果你在场景中没有大量几何结构,或者只有可见的水网格体,这种方法非常适合。
- 使用控制台命令将水网格体渲染为线框:
r.Water.WaterMesh.ShowWireframe 1
会将所有水网格体显示为线框。
r.Water.WaterMesh.ShowWireframeAtBaseHeight 1
会将所有水网格体显示在其平底高度位置。
水网格体图块大小、范围和远距离
水网格体Actor提供了选项,用于定义构成关卡的水网格体的各个图块的大小,定义每个有多少图块,并且该Actor还处理海洋中水天相接处的长距离情况。
图块大小(Tile Size) 属性设置了构成水网格体的各个图块的大小。这些是按默认世界单位测量的。提高/降低"图块大小(Tile Size)"会缩放构成关卡中的水网格体的所有图块。
图块范围(Extent in Tiles) 属性设置了构成水网格体的各个图块的数量。范围是针对XY轴从水网格体中心到边缘进行测量的。
远距离(Far Distance) 用于填充"图块范围(Extent in Tiles)"属性所用最远端图块与地平线之间的空间。这会添加一个低顶点水网格体,它会造成海洋水体图块无限延伸的错觉。
【UE5 水体系统】相关推荐
- [玩转UE4/UE5动画系统>应用篇>功能模块] 之 ALS V4地面站立动作状态机详解
本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式.教程内容将同步免费发布于 开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>.教程中使用的 ...
- [玩转UE4/UE5动画系统>Control Rig篇] 之 Control Rig + Fullbody IK版的足部IK实现(附项目代码)
本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式.教程内容将同步免费发布于开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>.教程中使用的资 ...
- [玩转UE4/UE5动画系统>Control Rig篇] 之 使用Control Rig实现目标偏移(Aim Offset)(附项目代码)
本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式.教程内容将同步免费发布于开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>.教程中使用的资 ...
- [玩转UE4/UE5动画系统>应用篇>功能模块] 之 ALS V4 主状态机详解
本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式.教程内容将同步免费发布于 开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>.教程中使用的 ...
- [玩转UE4/UE5动画系统>应用篇>功能模块] 之 Foot IK系统(ALS V4实现方案详解)
本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式. 教程内容将同步免费发布于 开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>. 教程中使 ...
- [玩转UE4/UE5动画系统>应用篇>功能模块] 之 布娃娃系统(ALS V4实现方案详解)
本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式. 教程内容将同步免费发布于 开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>. 教程中使 ...
- UE5 纹理系统讲解及常见问题设置及解决方案
2D纹理 UE 默认是 BC1 BC3 法线用的是BC5 HDRI 非压缩 也就是不压缩 灰阶图和置换用的是同一个压缩方式但是选区的通道不同,灰阶用的R通道,置换用的是A通道 **注意:**人眼对绿色 ...
- UE4 插件Water系统
一.Water插件介绍 UE4的水体系统,能够让我们用样条线定义海洋,湖泊,江河以及岛屿等.让我们可以调节和显现河流各段的深度,宽度和流流速,以及海洋与湖泊上波浪的波长,振幅,方向和坡度.内置的流体模 ...
- 虚幻四如何实现第一人称_虚幻周报20200930 | 双节快乐么么哒!
官方知乎号:虚幻引擎 搜集日期:20200921-20200927 整理编辑: 大钊,小辉辉 声明:文档搜集来自网上,难免遗漏,请联系我们投稿和添加关注.该文档版权归整理编辑者共同所有,单项内容版权归 ...
最新文章
- TTIC Postdoc Position
- 脑机接口成唯一沟通方式,渐冻症晚期父亲终向4岁儿子表达爱意
- AngularJS 指令中的require
- SQL Server 事务日志
- Oracle用户创建及设置
- Oracle收购Sun
- 优达学城深度学习之三(上)——卷积神经网络
- 比特币支付接口php,比特币支付php类
- 《FLUENT 14流场分析自学手册》——1.4 流体运动及换热的多维方程组
- 修改Solaris系统时间
- 网络登录计算机密码怎么设置,电脑怎么设置无线网密码?
- Canon打印机重复打印某一页的一半的故障
- oracle中查看锁表,ORACLE中查看当前系统中锁表情况
- 2022智博会| 麒麟信安携操作系统亮相华为展台
- 中国最卷的公务员考试,挤满清北毕业生
- 8.5 专业的“对口” ——《逆袭大学》连载
- 1008day1作业:字符串(方法、格式化、strip左右字符)、列表(方法、max、min、去重、统计个数、两列表比较取出大值zip合成新列表)、斐波那契、水仙花数、冒泡排序列表、计算器、九九乘法
- 2013年9月计算机一级考试题,2013年9月计算机一级考试MsOffice备考题及答案2
- ENVI将高程数据拼接并转换为.dem或.dat_bil格式——以GDEM数据为例
- 深圳Java培训学习:Java8.0新特性之Lambda表达式--【千锋】
热门文章
- zdog.js实现DNA螺旋动画js特效
- 文档服务器sos,Cliosoft SOS 使用手册
- 静电场点电荷matlab,基于MATLAB的点电荷的静电场模拟
- 2011RTIC论坛回顾
- rrpp协议如何修改_【网安学术】基于NQA策略的RRPP优化机制
- 多米诺红光管激光机,为覆膜纸盒、药盒提供完美不起泡的标识打码解决方
- 【Java】Java获取昨天日期的正确姿势
- 陕西省ti杯竞赛题目_2017年全国大学生电子设计竞赛和陕西省(TI杯)校际联赛暨西安电子科技大学校内选拔赛...
- 太难了!谷歌无人车老大承认遥遥无期,全自动驾驶寒冬将至?
- 计算机教师继续教育心得,教师继续教育学习心得体会范文(精选8篇)