Physical Water Surface 文档翻译

https://wiki.unrealengine.com/Physical_Water_Surface

Overview

Physical Water Surface(以下简称PWS)是一个写实、易用的水面材质和浮力系统。PWS工作于盒子之上,自带波浪数据库、可以根据不同的风速(wind speed)、风区长度(fetch length)组合出不同的波浪效果。它有以下特点:
真实水动效果:
就立刻就立刻
拉进来看见

Blueprint Documentation

确保已启用把所有蓝图编译成C++的Nativize Blueprint Assets选项。

WaterSettings Blueprint

WaterSettings蓝图管理海浪特性,自动给水面材质实例写入材质参数。应该在关卡里始终保有一个WaterSettings蓝图。

WaterSettings蓝图参数

Wind Speed:选择你需要的风速(单位:米每秒),海浪会自动实现相应的改变。可选的值有:1,2,3,4,5,6,7,10,15,20,25,30和35m/s。

Fetch Length:选择你需要的吹程距(单位:千米),海浪会自动实现相应的改变。可选的值有:50,100,300,500,750,1000和1500千米。

Random Phase Seed:水流运动的随机种子。改变这个值可以在游戏开始时获取一个不同的随机水流运动。

WaterPlane Blueprint

你可以向关卡中添加一个或多个WaterPlane蓝图。WaterSettings蓝图会自动找到它们(指WaterPlane蓝图们)并将Gerstner Wave(格斯特纳波)材质参数写入WaterPlanes的动态材质实例

WaterPlane蓝图参数

Material Instance:你可以通过这个参数修改使用的水面材质实例,默认的是WaterInstanceShiny。

RefreshMaterial:点击这里的复选框将使得蓝图的构建脚本执行一次。用来解决在某些情况下水面材质没有更新的问题。

Follow Camera:开启或关闭无限海洋系统。如果勾选,水平面将被平移、缩放以实现一个无限海洋的效果。对于湖水或者其他小尺寸水域来说,不勾选这一项、去创建一个贴合湖水岸边形状的水平面网格(mesh),将会更好。

Height Zoom Factor:在无限海洋系统模式下,水平面将随着相机的升高而延展。这一参数影响水平面延展的速度。

MinimumHeight:在无限海洋系统中假设的一个相机在水面之上的(假想的)最小高度。以防止当相机距离非常接近水面时,水平面缩小得太凶残。

Buoyancy Component Blueprint

把这个组件添加到任何静态网格(Static Mesh)或骨架网格(Skeletal Mesh)中,以使得它(只被添加了该组件的Mesh)能在WaterPlane蓝图中漂浮起来。切记:设置网格(Mesh)的移动性(Mobility)为可移动(Movable)!

Buoyancy Component 参数

Buoyancy Mode:单点模式(Single Point)下,漂浮物将被固定到水面上的一个点。距离和旋转将直接从坐标系中获取,并通过Gerstner等式正常计算。这种模式对于小物体来说看起来不错,相应地,这种模式的计算比较节省资源。在自动点(Auto Points)模式下,进行了一次物理模拟(Physics Simulation)。物体上会自动生成一些点,这些点的浮力将被计算并且应用到物体上。浮力的大小取决于沉浸在水中的那些点的深度。与浮力反向的重力会被引擎自动应用。在手动点(Manual Points)模式下,你可以自己定义那些浮力点。并从详细面板(Details panel)中手动输入这些点的坐标、或者在另一个蓝图中设置这些点的坐标。

注意:接下来的设置参数仅在自动点(Auto Points)手动点(Manual Points)模式下有效:

Points Shape:定义自动生成的点的形状为矩形(rectangular)椭圆形(elliptical)。点的生成会自动考虑到网格(mesh)的尺寸。

Points Scale:通过这个参数(默认值为0.8),你可以缩放里面自动生成的点,这样一来,那些点就不会直接位于物体表面了。对于一个有曲面船体的小船来说,这个参数通常需要被设置为小于1的值,以防止浮力点生成在了船体之外。

N Points XN points Y:生成在X(径向)方向和Y(切向)方向上的点的数量。

Float Height:实现一个点生成位置的Z轴上的偏离。

Points:Auto Points模式下,点的坐标将被自动设置。在Manual Points模式下,你需要手动设置它们。输入点的对象本地坐标系(local object space)的坐标值。可以从详细面板(Details panel)中输入或者从另一个蓝图中设置这些值。

Draw Debug:开启调试可视化。生成的点被可视化为点,箭头的长短代表了浮力的大小。

N Points Per Frame:通过这个参数,你可以限制每一帧中使用Gerstner等式更新的点的数量。对于剩下的点,它们的深度将根据上次已知深度值线性外推得到,这将节省计算资源。如果要让所有的点在每一帧通过Gerstner等式更新,就把该参数设置为(N Points X)*(N Points Y)。

N Frames Pause:如果该参数设置为1,那么使用Gerstner计算更新点将被每隔一帧执行一次,如果设置为2,那么僵每隔两帧执行一次,以此类推。如果关闭暂停功能,就把该参数设置为0。

Float Factor:这个参数改变漂浮物浸入水中的深度。

Linear DampingAngular Damping:阻尼(damping)通常被用来微调超大物体和超小物体的漂浮效果。

Drag Multiplier:漂浮物也会有一个微小的水平位移,该位移取决于漂浮物当地的水平水速。该参数可以用来影响水平方向的推力的效果。

Enable Buoyancy:完全启用或禁用浮力。为节省CPU资源,当物体不可见或者距离相机太远时禁用浮力是个不错的选择。如果你不想完全禁用浮力,可以把那些物体的浮力模式(Buoyancy Mode)改为单点模式(Single Point),这样也可以节省一些CPU资源。

Points Offset:使用该二维向量(Vector2D)来给自动产生的浮力点一个水平偏移量。

Material Documentation

请忽略所有以R或者W开头的向量参数,他们会被WaterSettings蓝图自动设置。

Material Instance 参数

FoamNoise:如果勾选。泡沫纹理(Foam Texture)将会随机调整,以使得不会重复纹理。只有当你需要这样做的时候才勾选它,因为这需要一定的资源。

GerstnerWaves:你可以禁用Gerstner波,调试时很有用。

NoiseInvert:转换调整泡沫的噪音,调试时很有用。

DetailNormalMapMultiplier:缩放细节法线贴图(detail normal map)的UVs。

DetailNormalSpeed:改变细节法线贴图动画的速度。

DetailNormalStrength:修改细节法线贴图的强度。设置为0.0可以禁用细节法线贴图,获得一个平滑的水面。

FoamBlendRadius:泡沫淡出的距离。

FoamIntensity:影响泡沫的可见性,设置为0.0可以禁用泡沫。

FoamMultiplier:缩放泡沫纹理(Foam Texture)的UVs。

FoamSpeed:改变泡沫动画的速度。

FresnelExponent:基础颜色(Base Color)的菲涅尔指数节点。

Metallic:金属材质输入。

NoiseRotation:对于泡沫调整,两个泡沫纹理被缩放、旋转、混合。该参数设置了旋转角(取值范围0~1)。

NoiseSize:影响泡沫纹理调整噪声的尺寸。

RoughnessBlendRadius:粗糙度发生变化的距离。

RoughnessMaxRoughnessMin:泡沫比水有更高的粗糙度,使用这俩参数可以设置粗糙度的最大值和最小值。

SecondTextureScale:对泡沫调整,两个泡沫纹理被缩放、旋转、混合,该参数定义了第二个泡沫纹理的缩放。

ColorBrightColorDark:修改水面的基础颜色(Base Color)。

FarFoamColor:当泡沫淡出(Blend out)后将用该颜色代替。

这里写图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深海Enoch

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值