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

TerrainData

UnityEngine 中的类

/

继承自:Object

/

实现于:UnityEngine.TerrainModule

建议修改

成功!

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

关闭

提交失败

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

关闭

取消

描述

TerrainData 类存储高度图、细节网格位置、树实例和地形纹理 Alpha 贴图。

The Terrain 组件链接到地形数据并渲染它。

静态属性

AlphamapTextureName地形 Alpha 贴图纹理的名称。
HolesTextureName地形孔洞纹理的名称。

属性

alphamapHeightAlpha 贴图的高度。 (只读)
alphamapLayersAlpha 贴图层的数量。
alphamapResolutionAlpha 贴图在纹理中宽度或高度的大小。
alphamapTextureCount返回 Alpha 贴图纹理的数量。
alphamapTextures地形使用的 Alpha 贴图纹理。Terrain Inspector 使用它进行撤销操作。
alphamapWidthAlpha 贴图的宽度。
baseMapResolution用于渲染地形上远距离补丁的底图分辨率。
boundsTerrainData 对象的局部包围盒。
detailHeight存储在 TerrainData 中的细节数据的分辨率。
detailPatchCount地形图块边缘的补丁数量。平方后形成一个补丁网格。
detailPrototypes包含地形具有的细节纹理/网格。
detailResolutionTerrainData 的细节分辨率。
detailResolutionPerPatch每个补丁的细节分辨率。较大的值将减少细节对象使用的批次数量。
detailScatterMode其他资源: DetailScatterMode
detailWidth存储在 TerrainData 中的细节数据的分辨率。
enableHolesTextureCompression启用地形孔洞纹理压缩。
heightmapResolution高度图在纹理中宽度或高度的大小。
heightmapScale返回一个 Vector3,其中 x 和 z 分量是每个高度图样本的大小(即两个相邻高度图样本之间的空间),而 y 分量是整个地形的在世界空间中的高度范围。
heightmapTexture返回高度图纹理。
holesResolution返回地形孔洞数据和纹理的分辨率。
holesTexture返回地形孔洞纹理。
maxDetailScatterPerRes地形数据细节图中每个样本的最大值。
size地形的总大小(世界单位)。
terrainLayers检索当前地形使用的地形层。
treeInstanceCount返回树实例的数量。
treeInstances包含当前放置在地形上的树木。
treePrototypes检查器中可用的树原型列表。
wavingGrassAmount地形中摇曳草的数量。
wavingGrassSpeed摇曳草的速度。
wavingGrassStrength地形中摇曳草的强度。
wavingGrassTint地形拥有的摇曳草的颜色。

公共方法

ComputeDetailCoverage此函数计算并返回给定其索引的细节原型的覆盖率(多少个实例适合一个平方单位)。
ComputeDetailInstanceTransforms此函数计算并返回指定补丁和指定原型的细节对象变换数组。您可以使用此函数检索 Unity 引擎用于细节渲染的完全相同的变换数据。
CopyActiveRenderTextureToHeightmap将活动 RenderTexture 的指定部分复制到地形高度图纹理。
CopyActiveRenderTextureToTexture将活动 RenderTexture 的指定部分复制到地形纹理。
DirtyHeightmapRegion将高度图的指定部分标记为脏。
DirtyTextureRegion将地形纹理的指定部分标记为脏。
GetAlphamaps返回给定宽度和高度的 x、y 位置处的 Alpha 贴图。
GetAlphamapTexture返回指定索引处的 Alpha 贴图纹理。
GetClampedDetailPatches返回一组细节补丁,每个补丁由 X-Z 坐标标识。补丁中的细节对象被限制为最大数量。
GetDetailLayer返回特定位置中细节对象密度的二维数组(即此层的细节对象数量)。
GetHeight获取地形在特定点 x、y 处的世界空间高度,不添加地形的 world position y。
GetHeights获取高度图样本数组。
GetHoles获取地形孔洞样本数组。
GetInterpolatedHeight获取点 x、y 处的插值高度。x 和 y 坐标被限制在 [0, 1] 范围内。
GetInterpolatedHeights使用归一化的 x、y 坐标获取地形高度值数组。
GetInterpolatedNormal获取给定位置处的插值法线。
GetMaximumHeightError返回每个可渲染地形补丁的细分最大高度误差值的数组。返回的数组可以修改并传递给 OverrideMaximumHeightError。
GetPatchMinMaxHeights返回地形中所有可渲染补丁的最小最大高度值数组。返回的数组可以修改,然后传递给 OverrideMinMaxPatchHeights。
GetSteepness获取地形在点 (x,y) 处的梯度。梯度的值始终为正。
GetSupportedLayers返回该区域中所有支持的细节层索引数组。
GetTreeInstance获取指定索引处的树实例。它用作 treeInstances[index] 的更快版本,因为此函数不会创建整个 treeInstances 数组。
IsHole获取点 x、y 处是否为孔洞。
OverrideMaximumHeightError使用用户提供的 values 覆盖最大细分高度误差。请注意,覆盖的值在改变地形分辨率时会被重置,在通过脚本绘制或改变地形高度图时保持不变。
OverrideMinMaxPatchHeights覆盖每个可渲染地形补丁的最小和最大补丁高度。请注意,覆盖的值在改变地形分辨率时会被重置,在通过脚本绘制或改变地形高度图时保持不变。
RefreshPrototypes重新加载 TerrainData 对象中所有可用原型的值(即,细节网格资产)。
RemoveDetailPrototype删除指定索引处的细节原型。
SetAlphamaps分配给定地图区域中的所有 splat 值。
SetBaseMapDirty将地形数据标记为脏,以触发对地形底图纹理的更新。
SetDetailLayer设置细节层密度图。
SetDetailResolution设置细节图的分辨率。
SetDetailScatterMode设置 DetailScatterMode。
SetHeights设置高度图样本数组。
SetHeightsDelayLOD设置高度图样本数组。
SetHoles设置地形孔洞样本数组。
SetHolesDelayLOD设置地形孔洞样本数组。
SetTerrainLayersRegisterUndo此函数设置 terrainLayers 属性,此外,还会将操作注册到编辑器的撤销堆栈。
SetTreeInstance使用指定索引处的新参数设置树实例。但是,您无法更改 TreeInstance.prototypeIndex 和 TreeInstance.position。如果您更改它们,该方法将抛出 ArgumentException。
SetTreeInstances设置树实例数组,并选择将树捕捉到地形高度图的表面上。
SyncHeightmap执行先前对 CopyActiveRenderTextureToHeightmap 和 DirtyHeightmapRegion 的调用所排队的同步,这使得用于细分的高度数据和 LOD 数据保持最新。
SyncTexture执行先前对 CopyActiveRenderTextureToTexture 和 DirtyTextureRegion 的调用所排队的同步,这使得地形纹理的 CPU 数据保持最新。

继承的成员

属性

hideFlags对象是否应该隐藏、与场景一起保存或用户可以修改?
name对象的名称。

公共方法

GetInstanceID获取对象的实例 ID。
ToString返回对象的名称。

静态方法

Destroy删除一个游戏对象、组件或资源。
DestroyImmediate立即销毁对象 obj。强烈建议您使用 Destroy 代替。
DontDestroyOnLoad加载新场景时不要销毁目标对象。
FindAnyObjectByType检索任何已加载的类型为 type 的活动对象。
FindFirstObjectByType检索类型为 type 的第一个已加载的活动对象。
FindObjectsByType检索类型为 type 的所有已加载对象的列表。
Instantiate克隆对象 original 并返回克隆。
InstantiateAsync捕获原始对象(必须与某些游戏对象相关)的快照,并返回 AsyncInstantiateOperation。

运算符

bool对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,查看它们是否引用同一个对象。