版本:Unity 6 (6000.0)
语言英语
  • C#

TerrainPaintUtility.CollectNormals

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交,但也确实阅读每一位用户建议的更改,并将在适用情形下进行更新。

关闭

提交失败

由于某些原因,无法提交您建议的更改。请在几分钟后再<a>重试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static TerrainTools.PaintContext CollectNormals(Terrain terrain, Rect boundsInTerrainSpace, int extraBorderPixels = 0, bool fillOutsideTerrain = true);

参数

terrain 地形图块引用。
boundsInTerrainSpace 收集法线的区域。
extraBorderPixels 所需额外边框像素数量。
fillOutsideTerrain 是否使用最近图块中的数据填充地形图块外部的空白区域。

返回值

PaintContext包含指定区域的组合法线映射数据的 PaintContext。

说明

帮助程序函数,用于设置 PaintContext 从一个或多个地形图块收集网格法线数据。

CollectNormals 识别出边界矩形extraBorderPixels内的所有法线映射像素。在相邻连接的地形图块上执行搜索。像素会收集到临时渲染纹理中并存储在 PaintContext.sourceRenderTexture 中。

重要:没有相应的函数可将修改后的法线映射数据写回到地形图块中,因为法线映射并未存储;它是从高度图计算出来的。

完成对 sourceRenderTexture 的使用后,必须调用 TerrainPaintUtility.ReleaseContextResources 以释放 RenderTexture 资源。

其他资源:PaintContext.GatherNormalsPaintContext