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

TerrainPaintUtility.BeginPaintTexture

建议修改

成功!

感谢您帮助我们提升 Unity 文档的质量。虽然我们无法采纳所有提交,但我们确实会阅读用户提出的每项修改建议,并在适用情况下进行更新。

关闭

提交失败

由于某种原因,您的修改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提升 Unity 文档的质量。

关闭

取消

声明

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

参数

terrain 参考地形块。
inputLayer 选择要绘制的 alphamap。
boundsInTerrainSpace 要编辑的地形空间区域。
extraBorderPixels 所需的额外边框像素数量。
fillOutsideTerrain 是否用最近的地形块中的数据填充地形块外部的空隙。

返回值

PaintContext 包含指定区域的组合 alphamap 数据的 PaintContext。

描述

帮助函数,用于设置一个 PaintContext,用于修改一个或多个地形块的 alphamap。

BeginPaintTexture 标识位于 extraBorderPixels 范围内的所有 alphamap 像素。搜索在相邻的连接地形块中执行。这些像素被收集到一个临时渲染纹理中,并存储在 PaintContext.sourceRenderTexture 中。

调用此函数后,您可以通过将新值写入 PaintContext.destinationRenderTexture 来修改 alphamap。然后,您可以通过调用 TerrainPaintUtility.EndPaintTexture 来完成修改,将修改后的数据复制回地形块。或者,您可以通过调用 TerrainPaintUtility.ReleaseContextResources 来取消修改,以释放渲染纹理资源。

其他资源:TerrainPaintUtility.EndPaintTexturePaintContext