版本:Unity 6 (6000.0)
语言:English
风参考
使用高度图

草和其他细节

一个 地形场景中的景观。地形游戏对象会在您的场景中添加一个大的平面,您可以使用地形的检查器窗口创建详细的景观。 更多信息
参见 术语表
可能在其表面覆盖着草丛和其他小型物体(例如岩石)。Unity 使用纹理 四边形一个类似平面的基本对象,但其边长仅为一个单位,它仅使用 4 个顶点,并且表面位于局部坐标空间的 XY 平面。 更多信息
参见 术语表
或完整网格渲染这些对象,具体取决于您所需的 细节层次细节层次 (LOD) 技术是一种优化,当游戏对象与摄像机的距离增加时,它会减少 Unity 需要渲染的游戏对象三角形数量。 更多信息
参见 术语表
和性能。

实例化细节适用于所有 渲染管线一系列操作,获取场景内容并在屏幕上显示。Unity 允许您从预构建的渲染管线中选择,或编写您自己的渲染管线。 更多信息
参见 术语表
,包括 高清渲染管线 (HDRP)。

Terrain with grass
带有草的地形

地形细节以多种模式提供,每种模式在游戏开发过程中都有不同的用途。

模式 描述
实例化网格 Unity 建议您使用此模式,因为它最适合需要在地形上放置任意数量的任意网格的大多数场景。

要添加实例化网格,请选择添加细节网格并启用使用 GPU 实例化选项。
顶点光照网格 不使用 GPU 实例化进行渲染。相反,它将所有细节实例组合成一个网格,这会导致简单的着色和对您可以实现的实例数量的限制。

要添加顶点光照网格,请选择添加细节网格并将渲染模式设置为顶点光照
草网格 与顶点列表网格的工作方式类似,但 Unity 将这些网格视为草,因此它们始终具有朝上的法线并在风中移动。

要添加草网格,请选择添加细节网格并将渲染模式设置为
草纹理 允许您直接从纹理创建草四边形网格,这些网格会在风中移动。您无需指定任何自定义网格,并且还有一个选项可以启用,使草四边形始终面向摄像机以实现公告板效果。

为此选项选择添加草纹理

绘制细节

要启用草和细节绘制,请在地形 检查器一个 Unity 窗口,显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
参见 术语表
工具栏Unity 编辑器顶部的按钮和基本控件行,允许您以各种方式与编辑器交互(例如缩放、平移)。 更多信息
参见 术语表
上选择绘制细节按钮。

Paint Details in the Terrain Inspector
在地形检查器中绘制细节

要从叠加层访问绘制细节

  1. 地形工具叠加层中,选择植被模式 植被模式菜单. 植被模式工具显示在地形工具叠加层的末尾。
  2. 地形工具叠加层上的可用植被模式工具中,选择绘制细节 绘制细节

最初,地形没有可用的草或细节。在检查器中,单击编辑细节按钮以显示一个菜单,其中包含添加细节 网格Unity 的主要图形基元。网格构成了 3D 世界的大部分内容。Unity 支持三角形或四边形多边形网格。Nurbs、Nurms、细分曲面必须转换为多边形。 更多信息
参见 术语表
添加草纹理选项。单击任一选项以调出一个窗口,允许您选择要添加到地形以进行绘制的资源

添加细节网格

The Add Detail Mesh window
添加细节网格窗口

使用细节 预制件一种资源类型,允许您存储具有组件和属性的完整游戏对象。预制件充当模板,您可以从中在场景中创建新的对象实例。 更多信息
参见 术语表
字段从您的项目中选择预制件。为了创建逼真的外观,随机因子会影响每个网格以确定大小和颜色。Unity 使用 Perlin 噪声算法生成此类随机因子。

最小宽度最大宽度最小高度最大高度值指定网格随机生成的 X 和 Y 轴上的上限和下限缩放。

对齐到地面 (%) 值指定细节轴与地形法线对齐的程度。0 表示未对齐,100 表示对齐到法线。

位置抖动 (%) 控制细节分布从有序到随机的随机性。这仅在 质量设置 中关闭旧版分布时可用。

噪声种子设置设置随机数生成器种子。每个种子值代表一个唯一的生成。如果为两种类型的细节设置相同的种子,则生成的实例将变得相同。噪声扩展值指的是噪声模式在 X-Z 平面上的缩放,较高的值表示给定区域内更多的变化。

孔边距填充 (%) 设置控制细节对象与孔区域边缘的距离。有关更多信息,请参阅 DetailPrototype.holeEdgePadding

细节密度值控制细节相对于其大小的密度。您可以在“覆盖范围”细节散射模式中启用此功能,该模式设置在 地形设置 中。

健康颜色干燥颜色设置控制颜色变化。Unity 在健康颜色和干燥颜色之间执行线性插值,并根据网格的大小选择颜色。例如,系统认为尺寸较大的网格更健康。此类网格的线性插值结果更倾向于健康颜色色调。当您选择使用 GPU 实例化时,这些颜色设置会消失,因为它们对实例化网格没有影响。

受密度缩放影响复选框确定 地形设置 中设置的细节密度缩放设置是否会影响此细节。

您可以将渲染模式设置为顶点光照

渲染模式 描述
顶点光照 将细节网格渲染为场景中的实体、顶点光照 游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路径点等。游戏对象的函数由附加到它的组件定义。 更多信息
参见 术语表
,它们不会随风移动。
在场景中渲染细节网格,具有与草纹理类似的简化照明,并且确实会在风中移动。

注意:要在使用顶点光照或草渲染模式的细节上应用纹理,请将纹理分配给MainTex材质属性(内置/URP 中基本颜色贴图的默认属性名称)。对于非实例化细节,不会考虑其他材质属性。

使用 GPU 实例化

您可以指定是否要使用 GPU 实例化来渲染您的细节网格。使用 GPU 实例化,Unity 使用预制件上指定的材质和 着色器在 GPU 上运行的程序。 更多信息
参见 术语表
进行渲染。这使您可以在着色器中执行更多自定义并使用 Shader Graph

Unity 仍然会将宽度和高度噪声应用于每个实例,但会禁用健康颜色/干燥颜色噪声。您可以在着色器中使用自己的颜色变化技术以及其他随机化。

在幕后,一些 Unity GPU 实例化 限制确实会影响渲染。例如

  • 您的目标平台需要支持 GPU 实例化。
  • 您的着色器必须支持 GPU 实例化。(大多数着色器都支持它。)
  • 对象以 1,023 个或更少的批次渲染。
  • 实例化 光探针光探针存储有关光线如何穿过场景中空间的信息。布置在给定空间内的光探针集合可以改善该空间内移动物体和静态 LOD 场景的照明。 更多信息
    参见 术语表
    照明或 光照贴图预渲染的纹理,其中包含光源对场景中静态对象的影响。光照贴图叠加在场景几何体上以创建照明的效果。 更多信息
    参见 术语表
    照明不受支持。

与 Unity 每帧动态构建实例化常量缓冲区的常规实例化不同,实例化细节具有持久常量缓冲区,当目标硬件允许时,可以提高 CPU 和 GPU 性能,但会适度增加 GPU 内存使用量。

如果选择使用 GPU 实例化,则渲染模式设置将变灰且不可用。

添加草纹理

The Add Grass Texture window
添加草纹理窗口

添加草纹理窗口

细节纹理是表示草的纹理。您可以从资源商店一个不断增长的免费和商业资源库,由 Unity 和社区成员创建。提供各种资源,从纹理、模型和动画到完整的项目示例、教程和编辑器扩展。 更多信息
参见 术语表
下载纹理,或创建您自己的纹理。纹理是一个小图像,其中 alpha 值设置为零以表示空白区域。“草”是一个通用术语;纹理可能表示花朵或人造物体,例如带刺铁丝网卷。

最小宽度最大宽度最小高度最大高度噪声种子噪声扩散孔边缘填充(%)对齐到地面(%)位置抖动(%)细节密度受密度缩放影响健康颜色干燥颜色设置的工作方式与网格相同。上面的“添加细节网格”部分提供了更多详细信息。

启用公告板一个纹理化的 2D 对象,它会旋转以始终面向摄像机。 更多信息
参见 术语表
选项时,草图像会旋转,使其始终面向摄像机一个组件,用于在场景中创建特定视点的图像。输出要么绘制到屏幕上,要么捕获为纹理。 更多信息
参见 术语表
。当您想要显示一片密集的草地时,这很有用,因为草丛是二维的,从侧面看不到。但是,对于稀疏的草地,各个草丛的旋转可能会变得可见,这可能会产生奇怪的效果。

移除细节

要移除细节,请选择要移除的细节,单击编辑细节按钮,然后选择移除。移除细节时,Unity 会清除表示您在其中散布该细节的 Terrain 区域的数据。


  • 2022 年 7 月 20 日 页面修订
  • 添加了有关细节密度和分布的信息。
风参考
使用高度图