试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷

目标

在最近虚幻引擎公众号推的一篇文章中有一个《在虚幻引擎中构建自然环境》的视频。它运用了引擎的一些新功能,快速、程序化地生成了一个场景:
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第1张图片
内容包括下面几个方面:

  1. 地形蓝图笔刷

    视频里展示了使用地形蓝图笔刷快速程序化生成山脉的高度与权重层。
  2. 地形的分层编辑
    试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第2张图片
    视频里展示了地形编辑层功能,可以使编辑分层。
  3. 运行时虚拟纹理试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第3张图片
    视频里使用运行时虚拟纹理用水面mesh计算出“潮湿”信息,改变地形与模型材质上的信息
  4. GrassType(这个功能是以前的老功能,只是和现有的新功能有更有趣的交互)
  5. 程序化植被。(是另一个插件)
    试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第4张图片

这次的目标是试用上面的 (1.)(2.) 功能,他们需要启用Landmass插件。

0. 准备阶段

1.启用Landmass插件:(否则无法使用插件中的地形蓝图笔刷)
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第5张图片
2.为了方便,创建一个地形材质,详见附录。

3.创建地形的时候选上Enable Edit Layers,表示启用地形编辑层的功能。否则地形蓝图笔刷也不能用。
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第6张图片

1. 试用:地形的分层编辑

“地形的分层编辑”的设计非常简单:就是想让编辑能够存储在不同的层上而不是混成一层,这样后续的维护会更方便,其想法和PhotoShop的分图层类似。

这里可以选择当前在编辑的层,或者对层做些操作:
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第7张图片
可以看到编辑的信息被存到了层上,隐藏一个层也就隐藏了这个层上编辑的信息:

需要指出的是,就像视频中说的,这些层都是编辑时的,即在运行时时还是只有一层,所以没有任何性能上的增加:
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第8张图片

2. 地形蓝图笔刷

2.1 创建蓝图笔刷

试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第9张图片
然后选择蓝图笔刷的蓝图资源是哪个:(这些蓝图在Landmass插件中)
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第10张图片
选择之后,点击地形,便创建了一个这种类型的蓝图笔刷Actor。左侧Edit Layer Blueprint Brushes中存储了这一层的蓝图笔刷,可以看到新创建的这个蓝图笔刷。
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第11张图片

2.2 编辑蓝图笔刷

随后便可以使用这个蓝图笔刷了。在没有任何调整的情况下,CustomBrush_Landmass这个笔刷提供了一个曲线控制器可以生成一个锥形的造型:

细节面板中可以编辑更详细的参数:
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第12张图片
调节它可以动态看到变化

2.3 运用蓝图笔刷编辑权重层

在编辑之前,确保要编辑的层是有LandscapeLayerInfoObject(地形层信息)的,如果没有的话,要加上:
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第13张图片
(由于这是我添加的第一个层,因此我需要清除这个层原本的信息:)
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第14张图片
随后,在蓝图笔刷中填入层的名字:
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第15张图片
也有一些参数可以调控:

蓝图笔刷的讨论

定制化

上一步所用的功能,实际是由CustomBrush_Landmass这个蓝图中定义的。虽然它有很多的参数,但实际使用在项目中一定无法满足所有编辑情况的,因此应该有需要创建新的蓝图笔刷的需求。
而默认的三个蓝图笔刷:
在这里插入图片描述
实际是Landmass插件中的,要想创建自己的蓝图笔刷,要继承LandscapeBlueprintBrush
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第16张图片
这是一个C++类,它并不在Landmass插件中,而是在引擎代码中:
\Engine\Source\Editor\LandscapeEditorUtilities\Public\LandscapeBlueprintBrush.h

和手动编辑的冲突:

如果是在同一层,手动编辑是无法与蓝图笔刷改变的部分叠加的:

但是在之上的层,可以叠加上去:

附录:创建地形的测试材质

由于用了“初学者内容包”的贴图,因此创建项目时要选“含初学者内容包”
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第17张图片
我挑选了“草”的贴图和“岩石”的贴图
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第18张图片
然后连了一个最简单的地形材质,使用Rock层来混合“草”和“岩石”:
试用UE4新的地形编辑功能:地形编辑层与Landmass中的地形蓝图笔刷_第19张图片

你可能感兴趣的:(UE4,UE4,虚幻引擎)