Unity中基于高度图的地形系统总结
一、高度图
什么是高度图?从狭义上来理解,高度图是一张带有灰阶的图片,图片中的每个像素具有不同的灰度值,这些灰度值代表了不同的高度:像素的灰度值越大,表示对应的高度越高;像素的灰度值越小,表示对应的高度越低。从编程的角度来理解,高度图是一个二维数组。因为从高度图映射到一个地形,需要创建一个与高度图大小相同的顶点网格,所谓大小相同指的是高度图中的每个像素对应顶点网格中的一个顶点。这个代表高度图的二维数组,其中的索引值用来定位不同的顶点,而对应的存储值则表示了顶点对应的高度,也就是像素的灰度值。如图1所示是一个顶点网格,X-Z维度分别对应了高度图的两个维度:
图1
二、Unity中的地形系统与高度图
高度图有一个重要的属性,就是它的像素分辨率。像素分辨率表示了高度图在长和宽两个方向上的像素数量。在Unity中,当我们选中一个地形对象时,选择Terrain->Set Resolution选项,就可以在其中设置该地形对