Version: 2017.3

Terrain

class in UnityEngine

/

继承自:Behaviour

切换到手册

描述

Terrain 组件负责渲染地形。

静态变量

activeTerrain激活的地形。这是一个便捷函数,用于获取场景中的主要地形。
activeTerrains场景中激活的地形。

变量

bakeLightProbesForTrees指定是否应为地形上的树烘焙内部光照探针数组。只能在 Editor 中使用。
basemapDistance超出底图距离的高度贴图斑块将使用预先计算的低分辨率底图。
castShadows地形是否应投射阴影?
collectDetailPatches回收内存中的细节斑块。
detailObjectDensity细节对象的密度。
detailObjectDistance如果不超出该距离,则显示细节对象。
drawHeightmap指定是否应绘制地形高度贴图。
drawTreesAndFoliage指定是否应绘制地形树和细节。
editorRenderFlags控制应渲染地形的哪个部分。
freeUnusedRenderingResources如果在若干帧内未使用某些用于地形的每摄像机渲染资源,是否应将它们释放掉。
heightmapMaximumLOD让您能够从本质上降低用于渲染的高度贴图的分辨率。
heightmapPixelError切换细节级别时,最坏情况下地形将弹出多少个像素(近似值)。
legacyShininess地形的光泽度值。
legacySpecular地形的镜面反射颜色。
lightmapIndex应用到该地形的烘焙光照贴图的索引。
lightmapScaleOffset用于烘焙光照贴图的 UV 缩放和偏移。
materialTemplate用于渲染地形的自定义材质。
materialType用于渲染地形的材质类型。可以是内置类型之一,也可以是自定义类型。请参阅 MaterialType。
patchBoundsMultiplier设置地形包围盒缩放。
realtimeLightmapIndex应用到该地形的实时光照贴图的索引。
realtimeLightmapScaleOffset用于实时光照贴图的 UV 缩放和偏移。
reflectionProbeUsage如何在地形上使用反射探针。请参阅 ReflectionProbeUsage。
terrainData存储高度贴图、地形纹理、细节网格和树的地形数据。
treeBillboardDistance到摄像机的距离(如果超过该距离,则仅将树渲染为公告牌)。
treeCrossFadeLength使用树来从公告牌方向过渡到网格方向的总距离增量。
treeDistance渲染树木的最大距离。
treeLODBiasMultiplier用于渲染细节级别树(即 SpeedTree 树)的当前细节级别偏差的乘数。
treeMaximumFullLODCount以完整细节级别渲染的树的最大数量。

公共函数

AddTreeInstance向地形添加树实例。
ApplyDelayedHeightmapModification使用 TerrainData.SetHeightsDelayLOD 做出更改后,更新地形的细节级别和植被信息。
Flush刷新在地形中完成的任何更改,以使其生效。
GetClosestReflectionProbes将其 AABB 与地形的 AABB 相交的反射探针填充到列表中。此外,还将提供其权重。权重表示探针对地形的影响程度,在多个反射探针之间发生混合时使用。
GetPosition获取地形的位置。
GetSplatMaterialPropertyBlock通过复制到 dest MaterialPropertyBlock 对象来获取之前设置的泼溅材质属性。
SampleHeight在相对于地形空间的给定位置(以世界空间定义)进行高度采样。
SetNeighbors允许您设置相邻地形之间的连接。
SetSplatMaterialPropertyBlock在使用泼溅材质渲染地形高度贴图时设置其他材质属性。

静态函数

CreateTerrainGameObject从 TerrainData 创建包含碰撞体的地形。

继承的成员

变量

enabled启用的 Behaviour 可更新,禁用的 Behaviour 不可更新。
isActiveAndEnabled已调用启用的 Behaviour。
gameObject此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。
hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。

公共函数

BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTag此游戏对象是否使用 tag 进行了标记?
GetComponent如果游戏对象附加了类型为 type 的组件,则将其返回,否则返回 null。
GetComponentInChildren使用深度首次搜索返回 GameObject 或其任何子项中类型为 type 的组件。
GetComponentInParent返回 GameObject 或其任何父项中类型为 type 的组件。
GetComponents返回 GameObject 中类型为 type 的所有组件。
GetComponentsInChildren返回 GameObject 或其任何子项中类型为 type 的所有组件。
GetComponentsInParent返回 GameObject 或其任何父项中类型为 type 的所有组件。
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
GetInstanceID返回对象的实例 ID。
ToString返回 GameObject 的名称。

静态函数

Destroy删除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad加载新场景时,不自动销毁对象 /target/。
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfType返回所有类型为 type 的已加载的激活对象的列表。
Instantiate克隆 original 对象并返回克隆对象。

运算符

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