unity 地形Terrain(Terrain组件)简记
文章目录
创建Terrain(地形)
3D Object—>Terrain


Terrain有三个基础组件,Transoform,Terrain,Terrain Collider。
Terrain组件主要用于创造并绘制地形形状纹理等。
Terrain Collider主要用于创建地形碰撞器,处理地形与角色或其他物体之间的碰撞检测。
Terrain组件:

| 工具模式类型 | |
|---|---|
| 创建相邻地图 | |
| 绘制地形 | |
| 绘制树 | |
| 绘制细节(绘制草) | |
| 地形设置 |
从左往右依次对应图标

地形设置

我们可以通过修改地形设置中的网格分辨率(Mesh Resolutions)中地形宽度(Terrain Width),地形长度(Terrain Length),地形高度(Terrain Height)来改变地形的大小及高度范围。

这里设置的地形高度的意思是我们地形高度的范围在【0-600】,我们创建的地形所在高度默认为0.

创建相邻地图

该模式下可以添加相邻地图面积。

点击周围地区块即可创建地形

当不勾选使用邻居填充高度贴图的时候,点击周围区块会直接创建一个完全平面地形。
邻居填充高度贴图(Fill HeightMap using neighbors)


当选择使用邻居贴图时,
填充高度贴图地址模式(Fill HeightMap Address Mode)

钳制(Clamp),镜像(Mirror):

对应官方文档解释
钳制状态下,会在边缘的部分,将边缘的高度作为邻居区块的高度,依远离交汇边缘的距离下降。


镜像状态下,会以两区块的交汇边缘作为对称轴对称,依远离交汇边缘的距离下降。

绘制地形

| 地形工具 |
|---|
| smooth Height(平滑高度) |
| Paint Holes(绘制孔洞) |
| Paint Texture(绘制纹理) |
| Set Height(设置高度) |
| Raise or Lower Terrain(增高或降低地形) |
| Stamp Terrain(盖印地形) |
画笔大小为笔刷的范围,不透明度为笔刷的力度。
Set Height(设置高度)
设置地形的高度,该高度一般会介于地形设置里的地形高度。

这里的空间分为局部和世界,当选择局部时会一个滑块,最大最小值即地形设置里设置的高度范围。

展开瓦片(Flatten Tile) 和 全部展开(Flatten All) 的作用都是使整个地形同时向上移到上面的设定的高度,只不过展开瓦片只展开当前区块的地形,全部展开会将四周相邻的区块地形也移至对应高度。
将每个区块的地形展开瓦片高度分别为0,50,100操作后,

在最左边的区块里使用笔刷设置某部分地形的高度位置。
Raise or Lower Terrain(增高或降低地形)

快速方便的在地形高度范围之间改变地形。
但初始地形一般都为0,所以使用该笔刷时如果没有设置过地形的高度就无法挖湖。
因此我们需要先设置地形的高度>0,然后就可以挖坑了。
例如,
地形高度范围在0-100的,地形高度在50的地形中挖湖。


smooth Height(平滑高度)

模糊方向为1就是向上平滑,为0就是双向平滑,为-1就是向下平滑。


平滑高度的作用就是将尖尖的小八的头发撸圆润。
Paint Holes(绘制孔洞)
挖洞

Paint Texture(绘制纹理)
“给地上色”。



绘制树

先添加树的预制体



绘制细节(绘制草)

绘制草也差不多,但是草还有一种是一片一片的没有网格模型。

上面的细节网格是有模型的草,下面的草纹理是一片。

左侧为草纹理,右侧为细节网格(草模型)。使用草纹理的性能会更好些。
草纹理会始终面向摄像头而转动。


浙公网安备 33010602011771号