Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d Unity如何使用渐变绘制不同颜色的网格_Unity3d_3d_Shader - Fatal编程技术网

Unity3d Unity如何使用渐变绘制不同颜色的网格

Unity3d Unity如何使用渐变绘制不同颜色的网格,unity3d,3d,shader,Unity3d,3d,Shader,我想生成低多边形地形,如下图所示。 我已经做了网格生成器。但我无法想象如何在网格上应用颜色。例如,在高角度点上为棕色,在平面点上为浅色。以及如何在颜色之间进行渐变。有人能给我一些建议吗?我应该学什么 地形数据保存。。。嗯,地形的数据。 可以在此处找到地形数据的确切内容: 你需要做一些编码。 可以通过以下方式访问地形数据: TerrainData terrainData = Terrain.activeTerrain.terrainData; 下面是一篇可能有用的帖子: 这篇文章中给

我想生成低多边形地形,如下图所示。 我已经做了网格生成器。但我无法想象如何在网格上应用颜色。例如,在高角度点上为棕色,在平面点上为浅色。以及如何在颜色之间进行渐变。有人能给我一些建议吗?我应该学什么


地形数据保存。。。嗯,地形的数据。 可以在此处找到地形数据的确切内容:

你需要做一些编码。 可以通过以下方式访问地形数据:

    TerrainData terrainData = Terrain.activeTerrain.terrainData;
下面是一篇可能有用的帖子:

这篇文章中给出的代码创建了一个3D数组,在其中存储喷溅地图数据,然后使用地形数据和一些逻辑(基于特定地形块的高程)来“喷溅”纹理,以提供更逼真的外观

下面是一个使用splatmap的随机地形示例(来自google):

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