【发布时间】:2016-01-20 09:45:00
【问题描述】:
【问题讨论】:
-
这样的着色器可能不太复杂,您可以将垂直法线的颜色和水平法线的颜色传递给它,并在它们之间进行插值。 Here 你会找到 sufaceshaders 的文档。使用输入参数
worldNormal应该可以得到角度。 -
@AntiHeadshot 非常感谢!我认为这是我需要的
【问题讨论】:
worldNormal 应该可以得到角度。
地形数据包含......好吧,地形数据。 可以在这里找到地形数据的确切内容: http://docs.unity3d.com/ScriptReference/TerrainData.html
您需要进行一些编码。 地形数据可以通过以下方式访问:
TerrainData terrainData = Terrain.activeTerrain.terrainData;
这是一个可能有用的帖子: http://answers.unity3d.com/questions/12835/how-to-automatically-apply-different-textures-on-t.html
该帖子中给出的代码创建了一个 3D 数组,在其中存储您的 splatmap 数据,然后使用地形数据和一些逻辑(基于该特定地形块的高程)来“飞溅”纹理以提供更逼真的外观。
这是一个使用 splatmap 的随机地形示例(来自 google): http://www.cygengames.com/images/terrainBeautyShot09_720.png
【讨论】: