我正在尝试找出在游戏中以编程方式表示地形的最佳方法。我一直在考虑使用高度图(或等距顶点的网格)来表示地形的表面,并使用Splatmap来实现平滑的纹理化。这对于完全平滑的地形是可行的,但是问题是如何表示悬崖和陡峭的悬崖面。
悬崖本身的呈现方式必须与其余地形不同。例如,他们将需要在悬崖的前面看到不同的(未拉伸的)纹理,但是如果我为此使用splatmap,就不可能在悬崖的纹理上拥有足够多的悬崖面与地面完全分开。
图片说了一千个字,所以...
有什么一般的方法可以存储和/或渲染悬崖以及其他地形高度差异?
4
您会注意到,很少有游戏真正具有真正的垂直悬崖,它们都至少从顶部到底部以一个网格的单位倾斜。可以使用splat贴图着色器完成渲染,该贴图贴图着色器考虑了该斜率并从侧墙纹理中拉出。将图片中的块作为几何体放在高度图的顶部,以赋予局部风味。
—
Patrick Hughes