首页 > 编程知识 正文

ue4地形层怎么使用,ue4怎么绘制地形

时间:2023-05-04 03:56:16 阅读:276187 作者:560

注意:
本篇只是对Landmas地形蓝图笔刷进行了最低程度的试用,内容也较乱。
最近我重新看了下这方面的内容,在《学习制作UE的地形蓝图笔刷(Landmass)》有对相关知识进行了更系统的学习,包括如何制作地形蓝图笔刷。

目标

在最近虚幻引擎公众号推的一篇文章中有一个《在虚幻引擎中构建自然环境》的视频。它运用了引擎的一些新功能,快速、程序化地生成了一个场景:

内容包括下面几个方面:

地形蓝图笔刷

视频里展示了使用地形蓝图笔刷快速程序化生成山脉的高度与权重层。地形的分层编辑

视频里展示了地形编辑层功能,可以使编辑分层。运行时虚拟纹理
视频里使用运行时虚拟纹理用水面mesh计算出“潮湿”信息,改变地形与模型材质上的信息GrassType(这个功能是以前的老功能,只是和现有的新功能有更有趣的交互)
程序化植被。(是另一个插件)

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

0. 准备阶段

1.启用Landmass插件:(否则无法使用插件中的地形蓝图笔刷)

2.为了方便,创建一个地形材质,详见附录。

3.创建地形的时候选上Enable Edit Layers,表示启用地形编辑层的功能。否则地形蓝图笔刷也不能用。

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

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

这里可以选择当前在编辑的层,或者对层做些操作:

可以看到编辑的信息被存到了层上,隐藏一个层也就隐藏了这个层上编辑的信息:

需要指出的是,就像视频中说的,这些层都是编辑时的,即在运行时时还是只有一层,所以没有任何性能上的增加:

2. 地形蓝图笔刷 2.1 创建蓝图笔刷


然后选择蓝图笔刷的蓝图资源是哪个:(这些蓝图在Landmass插件中)

选择之后,点击地形,便创建了一个这种类型的蓝图笔刷Actor。左侧Edit Layer Blueprint Brushes中存储了这一层的蓝图笔刷,可以看到新创建的这个蓝图笔刷。

2.2 编辑蓝图笔刷

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

细节面板中可以编辑更详细的参数:

调节它可以动态看到变化

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

在编辑之前,确保要编辑的层是有LandscapeLayerInfoObject(地形层信息)的,如果没有的话,要加上:

(由于这是我添加的第一个层,因此我需要清除这个层原本的信息:)

随后,在蓝图笔刷中填入层的名字:

也有一些参数可以调控:

蓝图笔刷的讨论 定制化

上一步所用的功能,实际是由CustomBrush_Landmass这个蓝图中定义的。虽然它有很多的参数,但实际使用在项目中一定无法满足所有编辑情况的,因此应该有需要创建新的蓝图笔刷的需求。
而默认的三个蓝图笔刷:

实际是Landmass插件中的,要想创建自己的蓝图笔刷,要继承LandscapeBlueprintBrush:

这是一个C++类,它并不在Landmass插件中,而是在引擎代码中:
EngineSourceEditorLandscapeEditorUtilitiesPublicLandscapeBlueprintBrush.h

(关于如何制作地形蓝图笔刷,可以看《学习制作UE的地形蓝图笔刷(Landmass)》)

和手动编辑的冲突:

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

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

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

由于用了“初学者内容包”的贴图,因此创建项目时要选“含初学者内容包”

我挑选了“草”的贴图和“岩石”的贴图

然后连了一个最简单的地形材质,使用Rock层来混合“草”和“岩石”:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。