- A+
第一款:Oceansystem
Oceansystem也叫做CinematicOcean,海洋系统插件包体积只有不到20Mb,直接放入项目的Content目录,即可使用。
打开场景,找到CinematicOcean,找到BluePrint下面的Ocean文件夹,没错,就只有一个蓝图文件。
直接拖拽到场景中,你的场景里就多了一片海。
【基础调整】我们可以设置LOD的数量和开始距离,点开DebugLODMode,可以看到LOD的实时调整效果。
GRID选项中,可以调整延展Extent的数量,密度Density,基础尺寸BaseScale的大小。勾选OuterPiane,插件会自动补齐远端模型。
我们可以切换视窗的显示形式来查看实际的效果。
【效果调优】CinematicOcean是一款基于材质演算的延迟渲染海洋插件,因此如果要获得非默认的画面效果,我们需要找到材质选项,对具体的材质进行设置。
点击放大镜,找到材质M_Ocean_SLW_Inst,双击打开,可以看到预设的参数集,包括:颜色透明度;水花;盖斯特纳Gerstner波;全局参数切换;法线;高光;波组控制以及全局的位置偏移。
这里面大多数的选项是非常直观可以看到调整后的效果的。比较难理解的,是盖斯特纳波浪控制,具体的公式在这里。
底层的效果在这里:
原理就是通过材质函数模拟大小不等的Gerstner波形互相叠加穿插,来实现更细腻的水面效果。喜欢的朋友可以拿走学习,虽然它看起来很复杂,实际上确实一点都不简单。
对于美术应用来说,记住一条原则,每个选项卡,前三项一定是最重要的选项,越往后的选项基本上就是进一步调优的选项了。
我们可以一边调整选项卡里的内容, 一边实时的在窗口中查看调整后的效果,不能明确看到效果的,还是建议保持默认。
对于喜欢研究材质效果的小朋友们来说,你也可以打开材质实例的父材质,去一探究竟,作者对每一个模块都尽可能地进行了标注,确保查看时能够更直观地理解,当然对于大多数人来说,如果想要尝试修改这些材质基础效果,我可以保证你,试试就逝世。
第二款:Oceanology
【安装】我们把解压之后的文件夹放到虚幻的插件目录中,插件管理器中勾选插件,重启引擎,内容就加载好了。
与CinematicOcean相比Oceanology的体积要大得多,这意味着可以调节的选项也更多,当然学习起来也会多一点难度。
在资源管理器里选择显示引擎内容,就可以在Plugins文件夹中找到Oceanology的资产;你也可以在放置面板中通过搜索Oceanology,来找到两个可以直接使用的资产:BP_OceanologyInfiniteOcean(无限海洋)和BP_OceanologyLake(湖泊)
根据需要把对应的蓝图文件拖入场景当中,大多数情况下,会显示正常,但在测试的过程中,会有水面为白色的情况,这种情况多数是因为蓝图与地表挨得太近,导致整个模型显示的都是泡沫材质。可以通过抬高水面或修改Foam相关属性来进行调整。
以海洋蓝图的细节面板为例,我们可以先在Preset里给一个预设的海洋效果,然后取消预设,这样效果保留的同时还可以继续调整其他选项。
Waves里的选项主要用于调整波浪模拟的开关,真正调整波形是要到下面调整GerstnerWave,这里有无数的选项可以进行调整。
Underwater是水下效果,其实就是水体的水下后处理体积的材质,包括水体亮度,暗角程度,透光效果,湿材质效果等等。下面还有水泡的设置选项,可以设置水泡的数量速度和材质,有能力的同学还可以自己去编辑泡泡的奶瓜粒子特效。
Oceanology的海洋和湖泊其实并没有本质的差别,lake其实也可以通过勾选QuadTree里的Use far mesh来实现无限海洋的效果。
与CinematicOcean相比,Oceanology的选项更丰富,比如:
·对水花的控制也变得更为精准
当然,如果你对现有的调节选项并不满意,也可以对方开的选项进行进一步的调整,比如,气泡材质,水花材质,水面材质等等,都支持进行覆盖定义。
同样,本着试试就逝世的原则,你也可以对Oceanology的父材质进行细节更改。关于材质,我们后续会出专门的视频教程进行详细解读。
第三款:Riverology
由于Oceanology更适用于制作大面积非定向流体,对于小型河流就稍微显得有那么一点力不从心,所以,同一个作者也制作了另一款流体插件,专门用来制作河流效果,就是Riverology。
安装方法与Oceanology一样,不再赘述。安装后在放置面板中搜索riverology,就可以找到河流的BP蓝图文件,拖拽到场景中就可以使用。
Riverology是一款基于样条线的河流生成插件,通过安排样条线的点位和尺寸来设置河流的形状。默认样条线上有四个曲线点,可以按住alt键增加点数来进行设计。
河流的颜色,波浪效果也可以根据实际需求,进行更进一步的调整。
美中不足的是,如果我们制作的是纵横交错的水道,那么在两个河流交汇的地方,就会产生明显的接缝。
在宽窄不一的河道制作过程中,由于样条线的可控性较差,生成的模型往往有堆叠和扭曲,需要花费时间调整比例以确定造型正确。
第四款:虚幻插件water
能解决上述问题的,出乎意料的是虚幻引擎5正在测试的一款内置插件,名字就叫Water。
作为虚幻引擎内置的插件,虽然官方标注插件是实验级的,在使用的过程中可能存在不稳定性,但是对于这个量级的插件而言,其实并没有什么值得担心的。
【使用方法】在插件面板中找到并勾选Water,重启之后就可以在放置面板中搜索找到water相关的资源了。主要会用到的有:
WaterBodyIsland:岛屿
因为这款水体都是基于样条线进行生成,形状调整起来就非常方便,我们可以整体进行缩放,也可以选中其中的某一个点来进行调整。相关的属性也可以单点调节,比如水深,水宽,流速和音频的强度。
几个蓝图的区别在于水体产生或剔除的区域。比如:
WaterBodyLake:小区域湖面
默认情况下,水体会直接对地形进行影响,我们可以通过设置曲线类型改变其水体边缘的平滑程度。
ChannelDepth,改变湖底深度
Curve Ramp Width,改变岸边坡度
岸边的宽度设置,可以首先设置水体与地形的不同混合的方式,默认情况下,alphablend就是最好的方式。
宽度和过渡方式,可以设置falloff settings的相关选项。也可以在下面的effect里通过设定noise来改变水岸的自然过渡效果。
如果你更喜欢自己制作的山体,可以去掉Affects Landscape的勾选。
与前面几个插件不同的是,我们蓝图上直接改变水体颜色和波浪类型的选项非常少,如果要自行定制的话,需要找到对应的素材,进行更改,比如材质。
我们在渲染选项里找到材质设定,可以看到water的材质球以及水下体积的材质,点击放大镜,在content里找到它,双击点开,里面就是它的属性。
我们会发现,虚幻引擎在这个插件身上其实也是花了大力气了。如果你想要学习或者改动它的话,建议ctrl+D复制出来一份,再进行调整和更改。
WaterBodyOcean:大面积海洋
海洋蓝图是在样条线区域范围之外生成水体。
波浪类型有事先做好的预设,与湖面波浪的唯一区别是小浪坡度的差异,但这些数值都可以根据实际项目的需求进行调整。
材质也同样使用的是同一个母球生成的材质实例,有喜欢研究材质的同学,可以找到母球,研究一下官方技术美术的设计思路。
WaterBodyRiver:样条线河流
water插件最让人惊喜的,是在水体的融合方面所作的努力,比如我们前面提到的多条支流,通过其他插件要实现无缝结合就比较难,但water就很好的解决了这个问题,插件会将两片重合的水域进行重新计算。当然,尽管可以进行融合,如果两段河流落差太大,同样还是会出现明显的断层,在制作的时候需要避免类似事情的发生。
WaterBodyIsland:岛屿
解决多条河流的问题其实还有另一个方案,那就是使用岛屿进行切割,你尽可以设置大面积的水面之后,把岛屿蓝图拖入湖泊中,通过岛屿的分布来完成对水面的切割工作。
总结:以上就是本期对基于材质和样条线等技术制作虚幻引擎水体的内容。本质上,这几种水体插件,都是使用材质进行水面Gerstner波浪模拟,大多数都是把对应的蓝图直接拖拽进场景就可以实现很好的效果。当然因为操作比较简单,所以可以发挥和拓展的空间同样也就比较小。