14 图像的优点在于它们通常最多嵌入4个通道(红色,绿色,蓝色和Alpha)。由于高度图只需要一维,因此您可以只使用红色通道来存储高度信息(您仍然需要256级高度),然后将其他通道用于其他目的(例如使用绿色通道来绘制道路) ,用于水/湿气的蓝色通道)等... 这样,您可以确保在构建地形时,应构建道路的区域将显示为平坦状态,而不是遵循高度梯度。 — XGouchet source 1 是否可以使用HDRI图像,所以可以使用浮点数来存储更精确的高度信息? — Quazi Irfan 1 HDRI图像不是文件格式而是概念,但是可以,您可以使用特定的文件格式来提高准确性。这主要取决于您的硬件/软件,但是有一个浮动的RG映像可以存储在32位或64位上。但是无论采用哪种格式,如果每个通道使用更多位,则始终可以将int值转换为浮点数,如下所示:f =(v / 256.0)其中f是浮点数,v是当前int值 — XGouchet 2011年 将地图的所有静态对象存储在(高度)地图上是个好主意吗?像植被,树叶,房屋?或其他对象将放置在其上的指针?还是存在其他方式? — Quazi Irfan 我不会存储确切的位置,但可能只存储密度信息,然后根据密度信息生成数据(植被,房屋等...)。但是最好的方法是手动放置这些对象,并使用二进制数据文件或xml描述文件保存它们 — XGouchet11年 1 @iamcreasy当然,您可以使用高度图使房屋接触地板,但是您需要描述房屋模型的外观(墙壁,门,内部的任何家具),无法用像素来描述。另外,jsut像素信息不会为您提供准确的方向,因此您的房屋将全部对齐(看起来不自然或“漂亮”)。 — XGouchet 2011年
1 我这样做的方法是将高度图(例如,我使用浮点数,例如513 * 513)和通常需要更大分辨率(我使用32位bmp,512x512)的splatmap(“控件纹理”)分开。 高度图将创建网格(地形,三角形)。 控制图跨越整个地形,其每个图层(RGBA)表示您应该在地形上看到的石头,污垢,道路等内容。 这样,您可以使用编辑器来a)创建地形并b)绘制地形(使用Rock,Dirt,Road等) 快速浏览'painting heightmap','heightmap splatmap'等内容,以获得更详尽的解释,或下载说Unity3D的内容,以检查它在“现实”中如何工作。 — 瓦尔蒙德 source