其他分享
首页 > 其他分享> > Building Worlds In Unreal 学习笔记——15-18 高度图地形专题&地形自动材质专题

Building Worlds In Unreal 学习笔记——15-18 高度图地形专题&地形自动材质专题

作者:互联网

Building Worlds In Unreal 学习笔记——15-18 高度图地形专题&地形自动材质专题

本系列学习资料来源,Ben Cloward的油管空间,B站的搬运翻译

Lec15 使用真实世界高程 Using Real-World Heightmap Data in Unreal

此前我们都是手工雕刻地形,其实也可以使用地球上的数据构造地形
但是并没有一键导入的方案,期间需要经历一些过程:拿到数据源,格式化,导入UE。

在本节学习三个简单的小工具,在虚幻中获取真实世界的高程

不过在这之前,先看看UE需要什么样格式的Height Map

1 UE4所需的Height Map格式

可以在虚幻官方文档中找到
创建和使用自定义高度图和图层
地形技术指南

清楚格式以后,我们要做的是在世界地图上找一个小于8平方公里的土地,然后获取那块土地的高度图,导入UE

2 工具1——用谷歌地球寻找位置

百度查一查就能下载到
在这里插入图片描述
我们可以利用它快速找到想要找到的地点,比如这个亚利桑那州大峡谷国家公园

我们可以通过谷歌地球很快找到自己想要的位置,粗略的浏览地貌的样子

可惜谷歌地球不能下载高度数据,所以它也只是用来找位置用

为了下载高度图,我们使用接下来这个工具

3 工具2——Terrain.party下载高度图

terrain.party是一个网站,复制到搜索框即可进入

然而这网站似乎时不时抽风,谷歌查了下似乎是个普遍的的情况

看Ben佬之后的视频也没有真的用到这个网站
本节似乎只是个引入,下节会真正导入细节的高度图,那就先这样算了……

Lec16 使用高分辨率的高度图 High Resolution Heightmap Data

之前Terrain.party下载的高度图分辨率比较低,一个像素8m,不太适合UE里

我们还是需要一个像素1m的分辨率的高度图

1 opentopography获取高分辨率的高度图

opentopography这个网站可以免费下载世界上地理位置的高度图
在这里插入图片描述
有红蓝绿的不同数据,红色的数据是免费的,所以我们找红色的区域

下载参数像这样

2 TerreSculptor处理高度图格式

这里下载TerreSculptor来处理之前下的高度图

3 导入UE

右上角File→New→NewLevel→TimeOfDay
在这里插入图片描述
导入,看着很平滑
在这里插入图片描述
把ZScale设置高一点
在这里插入图片描述
在这里插入图片描述

Lec17 地形坡面混合材质 Landscape Slope Blending Material

Ben佬最开始为了地形更加精致,把地形Resize一下
(然而破笔记本内存不够Resize的过程带不动!!!跳过了)
在这里插入图片描述
但是查看本节视频的评论,似乎ben佬也转换回8K大小的地图,并且也关闭细分了,那无所谓了
在这里插入图片描述
lod设置一下
在这里插入图片描述

1 Bridge下载贴图/SD处理格式

去Bridge里下了两个材质,一个是岩石一个是雪,编号是tdloaf1r​和ukticbcdy​

继续该系列前几节用SD进行的贴图处理

2 基础材质

导入进UE时,要注意NOH图要选择BC7压缩和不勾选SRGB

然后为雪和岩石创建材质函数(这个材质函数的写法是前面小场景课的结果,可以回顾看看Lec04和Lec05)
参数可以注意是质数,减少重复

3 斜度自动材质

3.1 基础版

首先简单的用法线的Z通道来判断个范围加个锐化
在这里插入图片描述
在这里插入图片描述
但是我们看到这个顶点法线的Z的渐变过于平滑了,本来应该是雪和岩石穿插在一起
在这里插入图片描述

3.2 像素法线边缘混合

下面处理一下平滑的边缘

3.3 自定义边缘混合

自定义混合我们写一个材质函数

然后回到我们的材质
在这里插入图片描述
积雪和岩石混合的比较好了
在这里插入图片描述
我们看到混合的这个功能其实mask和顶点,相当多的连线是重复的,所以做一个材质函数更美观

然后回到我们的材质,加上之前Lec06做的位移
在这里插入图片描述
在这里插入图片描述

Lec18 高级地形自动材质 Advanced Landscape Auto Material

本节要使用高度混合以及角度混合实现一个高级的自动材质。

1 下载贴图处理/基本材质函数

去本节的油管简介里可以获得贴图在Brdige里的编号(这次多了ujldajxdy​和pjwky20​)。

下载各自的六种纹理,合并CR和NOH图,NOH记得BC7编码取消SRGB,这些都是惯用操作就一笔带过了(可以在之前的场景教程里看看怎么处理CR和NOH的贴图)。

2 在材质中混合角度与高度

创建好后,我们要开始改我们的shader了
角度混合——对于草地Grass,希望它在地形平坦的地方出现,对于岩石Rock则出现在陡峭的地方
高度混合——对于草地Grass和泥土Dirt,希望它在地势低洼的地方出现,对于石头Stone,岩石Rock则出现在地势高的地方

2.1 创建高度mask

在这里要学习一个新节点
在这里插入图片描述
它把min到max范围的X平滑到0-1的范围
在这里插入图片描述
我们拿到世界位置的高度,给它在最低点和最高点插值(可以放个空物体进去看看高度)
可以尝试一下连到颜色看看,确实给地形打上了一层mask
在这里插入图片描述
在这里插入图片描述
再来看看这个mask单独应用纹理的效果(把参数改的接近了一点,为了凸显效果)
在这里插入图片描述

在这里插入图片描述

2.2 高度Mask叠加过渡

是混合了,但是过渡很光滑,所以我们要用到纹理本身的高度,这里用到一个叠加节点
在这里插入图片描述
我们将叠加之后的Height,连到颜色上看看效果
在这里插入图片描述
过渡虽然依旧平滑了点,但是有岩石自己的height在了
在这里插入图片描述
我们可以进一步加大它的对比度,使用这个节点在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
效果不错,将它应用到纹理上
在这里插入图片描述
还可以
在这里插入图片描述

2.3 高度与角度的结合

高度和角度可以结合起来

3 总结

总的节点图长这样,然后逐个给出分布图,材质函数的话见之前的过程展示
在这里插入图片描述

Lec19 在自动材质上绘制材质 Painting On A Landscape Auto Material

虽然用了自动材质,但是如果还是想画一画一些特殊的地方呢
这就要加上绘制的功能

使用LayerBlend
在这里插入图片描述
然后高度通过LandScapeSample,层层采样lerp
在这里插入图片描述

注意右边的加号,添加一下layer
在这里插入图片描述
下面就可以画画了(不过我不想画)

之前的场景课我们是手动做的,之后我们可以学习程序化布置植被草地和植被。

标签:Building,法线,专题,高度,混合,地形,材质,我们,下载
来源: https://blog.csdn.net/weixin_43803133/article/details/115440031