阿赵UE学习笔记——11、地形系统

阿赵UE学习笔记目录

  大家好,我是阿赵。

  继续学习虚幻引擎的用法,这次来学习一下虚幻引擎的地形系统的用法。

一、创建地形

  在选项模式里面,选择地形:

  进入到地形界面之后,需要先创建一个地形:

  留意看看创建地形时候的参数,这个很重要:

  把默认的参数改到最低,可以帮助理解这个格子的概念:

  这里指的是,每一块面片里面有7x7个小格子,然后总共有1x1块格子。

  然后调大一点参数:

  这个时候,变成了15x15,在每个小格子大小没有变化的情况下,一个大格子里面包含了15x15个小格子。所以每个大格子的面积也就变大了。

  如果保持7x7不变,下面变成了2x2,现在还是只有一个面片,一个面片里面就包含了2个7x7的小格子。

  最后修改一下,上面的参数都是最低的,然后把组件数量变成2x2,这个时候,看起来好像和刚才差不多,但意义变得不一样,因为现在变成了有4个面片,也就是4个组件,然后每个组件是7x7的小格子。看最下面的总组件数,现在也变成了4。

  现在可以新建试试:

  创建出来的地形,每一个面片都是可以单独选择的,刚才我选择了2x2组件,所以实际上是4个组件。

二、雕刻地形

  接下来要让地形产生变形,选择雕刻页签。

  下面可以选择笔刷的各种参数

  然后就可以在地形上面刷出高度了

三、控制地形范围

  由于为了刷出更大范围的地形,我刚才创建的时候,选择了很多个组件,所以现在有很多个面片在地形里面

  但很多时候,我们刷完地形之后,发现有些面片已经不需要使用,在实际的范围以外,这个时候,可以选择这些面片:

  选择删除:

  这个时候,地形就只剩下我需要的面片,不需要的就删除掉了:

  如果发现地形范围不够,也是可以添加的:

  选择添加,然后在地形外点击,就会创建出新的面片组件。

四、绘制地形纹理

  之前介绍过Blender混合材质的用法,但这个混合材质在地形上是不能使用的。

  然后看看地形本身的绘制功能,选择绘制页签,会发现什么都没得选择,把刷子放到地形上拖动,也没有任何变化。

  这是因为,地形刷纹理功能,是依赖于地形本身的材质的。

  接下来创建一个可以刷2层地形纹理的材质,在内容浏览器新建一个材质,命名为TerrainMat2Layer:

  双击打开材质,把2种不同的纹理贴图包括法线贴图拖到材质里面:

  这个时候,不要直接把贴图拖到最终输出节点,而是创建2个材质属性节点,右键搜索makeMaterialAttributes:

  创建了2个材质属性节点之后,分别把刚才的2套贴图连上去:

  接下来再创建一个LandscapeLayerBlend地形层混合节点:

  创建了这个节点之后,选择节点,在节点属性的图层里面,添加2个图层:

  两个图层分别命名为tex1和tex2

  这个时候,会发现混合节点多了2个输入接口,这时候可以把刚才2套贴图的材质属性输入到这两个接口:

  选择最终输出节点,在属性里面,把使用材质属性的选项勾选上:

  这个时候,会发现最终输出节点的那些属性输入接口全部部件了,只剩下一个材质属性的接口,把图层混合节点的输出,连接到这个接口:

  材质已经做好了,接下来就把这个材质创建一个材质实例:

  并且赋给地形:

  这个时候,会看到地形是一片漆黑的:

  选择绘制页签,找到最下面的层,会发现刚才在材质里面创建的2个layer,tex1和tex2在里面:

  不过这个时候还不能刷效果,要先给层加上权重数据:

  引擎会提示选择保存路径:

  保存好之后,会发现地形不再是一片漆黑了,而是有了第一层tex1里面的贴图纹理效果:

  然后选择第二个层,就可以在地图上面绘制纹理了。

  笔刷的大小,可以在绘制面板里面调节。调节笔刷大小的快捷键依然是中括号。

  从这个刷地形纹理的过程,可以感觉到,UE的地形纹理刷,似乎并没有Unity那么方便,Unity是不需要额外写Shader,直接拖几张贴图进去,就可以开始刷了。但从另外一个角度可以看出,实际上UE地形纹理的效果是可以更复杂多变,只要编写材质,就可以实现更多的效果。这一点,感觉是比Unity的地形系统要高级很多的。

相关推荐
91刘仁德16 小时前
RAG实战-Embedding模型(BGE)
笔记·embedding·rag
传奇开心果编程16 小时前
【Flutter入门练中学】第3课:滚动与列表
android·学习·flutter·ui·ios
李游Leo17 小时前
HarmonyOS 7 + ArkTS + Image Kit 学习笔记:图像超分处理链路与 PixelMap 数据流实践【鸿蒙心迹】
笔记·学习·harmonyos
驭渊的小故事17 小时前
牛客网算法刷题笔记:哈希表、贪心与动态规划实战
笔记·算法·散列表
李游Leo17 小时前
HarmonyOS 7 + ArkTS + NAPI 学习笔记:Native 模块桥接、CMake 构建与跨语言调用实践【鸿蒙心迹】
笔记·学习·harmonyos
边境悍匪18 小时前
蜗牛学苑 Java 智能体学习 Day49|贯穿项目 5 订单下单业务 思维导图复盘
java·开发语言·spring boot·学习·阿里云
别动我齐刘海18 小时前
ROS2 Jazzy + C++ 时间系统——Time / Clock / Duration
linux·c++·人工智能·学习·机器学习·机器人·自动驾驶
小范的技术工坊18 小时前
大模型学习操作文档(13个核心概念串讲)
人工智能·学习·算法·大模型
索端阳18 小时前
I.MX6ULL 裸机开发:LCD Framebuffer 与 RGB888 学习笔记
笔记·vscode·嵌入式硬件·学习
一个低调的青年18 小时前
电池健康状态估计(一)
经验分享·笔记·其他·算法·模型