【问题标题】:Unity how to paint a mesh in different colors with gradientUnity如何用渐变绘制不同颜色的网格
【发布时间】:2016-01-20 09:45:00
【问题描述】:

我想生成如下图所示的低多边形地形。 我已经完成了网格生成器。但我无法想象如何在该网格上应用颜色。例如,高角度点为棕色,平点为浅色。以及如何在颜色之间制作渐变。有人可以帮助我建议我应该学习什么吗?

【问题讨论】:

  • 这样的着色器可能不太复杂,您可以将垂直法线的颜色和水平法线的颜色传递给它,并在它们之间进行插值。 Here 你会找到 sufaceshaders 的文档。使用输入参数worldNormal 应该可以得到角度。
  • @AntiHeadshot 非常感谢!我认为这是我需要的

标签: unity3d 3d shader


【解决方案1】:

地形数据包含......好吧,地形数据。 可以在这里找到地形数据的确切内容: 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多