ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

UE4.26 水插件学习笔记

2021-10-31 19:33:36  阅读:521  来源: 互联网

标签:插件 UE4.26 网格 笔记 WaterMeshActor Water 水体 当中 材质


Diving into the Depths

因为项目需要,使用了UE4.26自带的水插件,通过观看官方视频进行学习并写下学习笔记,特此分享。

视频链接:https://www.bilibili.com/video/BV11Q4y197Rn

Intro and Basics

如果创建的海洋与地形的衔接过于生硬,可以将falloff setting中的falloff mode从angle改成width。

在河流中可以通过water当中的

depth 深度

river width 宽度

velocity 流速

来调整河流的样子。

Controlling Water

Common properties and features

Terrain:决定地形中样条的影响程度和下沉度。

Rendering中有water material和underwater post process material

分别用来调整水的材质和摄像机进入水下后的后期处理材质。

Wave Attenuation Water Depth波衰减水深:衡量了波浪靠近海岸的时候抚平海浪所需要的数值。它会根据水面到水底的深度来调整浪花的大小。

Wave source当中可以调节波浪的数量,波长的上限和下限,即波的大小。以及振幅的上限和下限,即波在纵向的位移大小。

Dominant Wind Angle主风向设置

Direction Angular Spread方向角展度

如果减少方向角展读的数值所有的浪花就都会向同一个方向运动(大型海啸)

Steepness用来调整陡度

How it works beneath the surface

it’s using landmass, which is a plugin been used to change the landscape and height map by using blueprint and spline.

如果把一个ocean actor或类似的组件拉到场景当中的时候,会在背景中生成两个附加的actor。

一个是Landscape_WaterBrushManager,用来生成水体网格体。原理是这个actor在关卡当中捕捉场景信息,然后将信息传输到即将生成的水体网格体上。它要捕捉地形的高度图,以及一些其它数据,然后根据这些数据生成渲染目标。(可以在render targets当中看见,所有的都是它自己生成的)然后再使用渲染目标中存储的信息。

另一个是WaterMeshActor。Water Mesh, which is the actual water surface itself.因为WaterBodyOcean不是水面,它只告诉WaterBrushManager它在干什么以及它想干什么。接着,WaterBrushManager告诉WaterMeshActor如何对自己渲染。因此WaterMeshActor才是真正的水面。这是一种程序性网格体,它是因各种水体,包括河流等等而生成的。如果把视图模式改成笔刷线框,可以看见蓝色的网格体就是WaterMeshActor。它能自动辨别河流流向和湖的位置。它把所有的东西都包裹在内,从而成为一个庞大统一的网格体。这就是水体之间无缝衔接的原因。这种结合是material层面上的结合。

如果想要调整远处的水,可以在WaterMeshActor当中的FarDistance来进行调整。

WaterMeshActor不止是一个巨大的网格体,实际上它可以分成若干水体。网格体本身也有LOD设置,它在远处简化自己。

可以通过r.Water_WaterMesh.ShowTileBounds 1来显示水的网格体。它将网格体划分成小方块,从而控制水体。

Single Layer Water Material

水表面的材质基于两样东西,一样是真实材质,也就是编辑器当中的材质,可以从water内容当中的material文件夹当中。WaterSurface文件夹。

Water_Material就是默认的水材质。(可以把它贴在一个mesh上面看看,挺有趣的)

这个材质的着色模型用的是单层水面(Single Layer Water),这项功能提供了大量额外的着色效果。

如果将着色模型设置成单层水面的话,就会新产生一个结点(Single Layer Water Material)。

水材质的混合模型是不透明或者已遮罩的。如果使用已遮罩,才可以在水中开一个洞。

但是我们一般是选择不透明。因为视图当中的水的表面看起来像是半透明的,但是其实是材质根据水底生成的一个不透明的表面涂层。这样就避免了波浪之间的排序问题。

Going Deeper

Far Water

WaterMeshActor当中的Far Distance,可以调整材质和距离

Buoyancy component

BP_BuoyancyExample,浮力组件。能让物体在水中漂浮。

如果将这个组件放到河流中,它就能识别河的流速和流向来自己移动。

Making things float via WPO

如果只想做一个漂浮的视觉效果,而不是真正在漂浮,可以使用材质来进行制作。制作方法见视频24min。

Floating debris with Niagara

25min

Holes in the surface

如果想在水面上创建一个建筑,然后可以抵达水面以下,有一个

Water Body Exclusion Volume

标签:插件,UE4.26,网格,笔记,WaterMeshActor,Water,水体,当中,材质
来源: https://blog.csdn.net/rowenci/article/details/121068533

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有