Experimental: this API is experimental and might be changed or removed in the future.

TerrainPaintUtility.CollectNormals

Switch to Manual
public static Experimental.TerrainAPI.PaintContext CollectNormals (Terrain terrain, Rect boundsInTerrainSpace, int extraBorderPixels);

Parameters

terrainReference Terrain tile.
boundsInTerrainSpaceThe region in terrain space from which to collect normals.
extraBorderPixelsNumber of extra border pixels required.

Returns

PaintContext PaintContext containing the combined normalmap data for the specified region.

Description

Helper function to set up a PaintContext that collects mesh normal data from one or more Terrain tiles.

CollectNormals identifies all of the normalmap pixels that are within extraBorderPixels of the bounds rectangle. The search is performed across adjacent connected Terrain tiles. The pixels are collected into a temporary render texture and stored in PaintContext.sourceRenderTexture.

Important: there is no corresponding function to write modified normalmap data back to the Terrain tiles, because the normalmap is not stored; it is calculated from the heightmap.

Once you are done using the sourceRenderTexture, you must call TerrainPaintUtility.ReleaseContextResources to release the RenderTexture resources.

See Also: PaintContext.GatherNormals and PaintContext.