【问题标题】:Unity TerrainData not compatible with absolute elevations?Unity TerrainData 与绝对海拔不兼容?
【发布时间】:2012-07-11 01:57:57
【问题描述】:

Unity TerrainData 结构是否可以采用绝对海拔?我有一个生成绝对海拔的地形生成器,但它们很大。振幅最高的 perlin 八度音阶决定了整个地图的高度,振幅为 2500,波长为 10000。为了让我的地图正确平铺并在高度之间无缝过渡,我需要能够使用这个绝对高度系统。我会缩小生成器的输出以适应有限的空间(0 到 1 之间),并拉伸 TerrainData 的 y 比例,但它会失去太多的精度。

我能做什么?有没有办法可以使用可能相差多达 2500 米的海拔? 可能很重要的一件事是,单个 Terrain 对象的空间永远不会有那么大的变化,但是跨越许多 Terrain 对象,玩家可以穿越那种高度。

【问题讨论】:

  • 统一标签适用于 Microsoft Unity。不要滥用它。
  • 对此感到抱歉。自己解决了问题...

标签: unity3d terrain perlin-noise


【解决方案1】:

我已经测试了改变不同的变量,我得出了以下结论......

高度图分辨率并不意味着数据的精度(我问过的一些人认为它决定了可能的高度值的数量)。它表示每行和每列的样本数。这与大小一起决定了样本之间的距离,以及地形的多边形有多大。我的印象是没有办法提高精度,尽管我现在知道如何增加地形对象的高度。相反,由于我在同一个地形对象中永远不会有 2500 米的高差,因此我的生成器生成的每一块地形我都将放入一个地形对象,该对象的定位和大小可以包含该正方形中的所有数据。还必须转换数据以使其适合,但除此之外,我认为这种方法没有任何缺点。

重要提示:分辨率必须为 2^n + 1,其中 n 为任意数字。如果您提供不同的分辨率值,则将选择下一个允许的值(始终是您选择的下一个)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-22
    • 2017-12-02
    • 2015-08-18
    • 2017-03-20
    • 2021-04-19
    • 2018-01-13
    • 2015-08-22
    • 2015-02-13
    相关资源
    最近更新 更多