一个 地形场景中的景观。地形游戏对象会在您的场景中添加一个大的平面,您可以使用地形的检查器窗口创建详细的景观。 更多信息
参见 术语表 可能在其表面覆盖着草丛和其他小型物体(例如岩石)。Unity 使用纹理 四边形一个类似平面的基本对象,但其边长仅为一个单位,它仅使用 4 个顶点,并且表面位于局部坐标空间的 XY 平面。 更多信息
参见 术语表 或完整网格渲染这些对象,具体取决于您所需的 细节层次细节层次 (LOD) 技术是一种优化,当游戏对象与摄像机的距离增加时,它会减少 Unity 需要渲染的游戏对象三角形数量。 更多信息
参见 术语表 和性能。
实例化细节适用于所有 渲染管线一系列操作,获取场景内容并在屏幕上显示。Unity 允许您从预构建的渲染管线中选择,或编写您自己的渲染管线。 更多信息
参见 术语表,包括 高清渲染管线 (HDRP)。
地形细节以多种模式提供,每种模式在游戏开发过程中都有不同的用途。
模式 | 描述 |
---|---|
实例化网格 | Unity 建议您使用此模式,因为它最适合需要在地形上放置任意数量的任意网格的大多数场景。 要添加实例化网格,请选择添加细节网格并启用使用 GPU 实例化选项。 |
顶点光照网格 | 不使用 GPU 实例化进行渲染。相反,它将所有细节实例组合成一个网格,这会导致简单的着色和对您可以实现的实例数量的限制。 要添加顶点光照网格,请选择添加细节网格并将渲染模式设置为顶点光照。 |
草网格 | 与顶点列表网格的工作方式类似,但 Unity 将这些网格视为草,因此它们始终具有朝上的法线并在风中移动。 要添加草网格,请选择添加细节网格并将渲染模式设置为草。 |
草纹理 | 允许您直接从纹理创建草四边形网格,这些网格会在风中移动。您无需指定任何自定义网格,并且还有一个选项可以启用,使草四边形始终面向摄像机以实现公告板效果。 为此选项选择添加草纹理。 |
要启用草和细节绘制,请在地形 检查器一个 Unity 窗口,显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
参见 术语表 工具栏Unity 编辑器顶部的按钮和基本控件行,允许您以各种方式与编辑器交互(例如缩放、平移)。 更多信息
参见 术语表 上选择绘制细节按钮。
要从叠加层访问绘制细节
最初,地形没有可用的草或细节。在检查器中,单击编辑细节按钮以显示一个菜单,其中包含添加细节 网格Unity 的主要图形基元。网格构成了 3D 世界的大部分内容。Unity 支持三角形或四边形多边形网格。Nurbs、Nurms、细分曲面必须转换为多边形。 更多信息
参见 术语表 和添加草纹理选项。单击任一选项以调出一个窗口,允许您选择要添加到地形以进行绘制的资源。
使用细节 预制件一种资源类型,允许您存储具有组件和属性的完整游戏对象。预制件充当模板,您可以从中在场景中创建新的对象实例。 更多信息
参见 术语表 字段从您的项目中选择预制件。为了创建逼真的外观,随机因子会影响每个网格以确定大小和颜色。Unity 使用 Perlin 噪声算法生成此类随机因子。
最小宽度、最大宽度、最小高度和最大高度值指定网格随机生成的 X 和 Y 轴上的上限和下限缩放。
对齐到地面 (%) 值指定细节轴与地形法线对齐的程度。0 表示未对齐,100 表示对齐到法线。
位置抖动 (%) 控制细节分布从有序到随机的随机性。这仅在 质量设置 中关闭旧版分布时可用。
噪声种子设置设置随机数生成器种子。每个种子值代表一个唯一的生成。如果为两种类型的细节设置相同的种子,则生成的实例将变得相同。噪声扩展值指的是噪声模式在 X-Z 平面上的缩放,较高的值表示给定区域内更多的变化。
孔边距填充 (%) 设置控制细节对象与孔区域边缘的距离。有关更多信息,请参阅 DetailPrototype.holeEdgePadding。
细节密度值控制细节相对于其大小的密度。您可以在“覆盖范围”细节散射模式中启用此功能,该模式设置在 地形设置 中。
健康颜色和干燥颜色设置控制颜色变化。Unity 在健康颜色和干燥颜色之间执行线性插值,并根据网格的大小选择颜色。例如,系统认为尺寸较大的网格更健康。此类网格的线性插值结果更倾向于健康颜色色调。当您选择使用 GPU 实例化时,这些颜色设置会消失,因为它们对实例化网格没有影响。
受密度缩放影响复选框确定 地形设置 中设置的细节密度缩放设置是否会影响此细节。
您可以将渲染模式设置为顶点光照或草。
渲染模式 | 描述 |
---|---|
顶点光照 | 将细节网格渲染为场景中的实体、顶点光照 游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路径点等。游戏对象的函数由附加到它的组件定义。 更多信息 参见 术语表,它们不会随风移动。 |
草 | 在场景中渲染细节网格,具有与草纹理类似的简化照明,并且确实会在风中移动。 |
注意:要在使用顶点光照或草渲染模式的细节上应用纹理,请将纹理分配给MainTex材质属性(内置/URP 中基本颜色贴图的默认属性名称)。对于非实例化细节,不会考虑其他材质属性。
您可以指定是否要使用 GPU 实例化来渲染您的细节网格。使用 GPU 实例化,Unity 使用预制件上指定的材质和 着色器在 GPU 上运行的程序。 更多信息
参见 术语表 进行渲染。这使您可以在着色器中执行更多自定义并使用 Shader Graph。
Unity 仍然会将宽度和高度噪声应用于每个实例,但会禁用健康颜色/干燥颜色噪声。您可以在着色器中使用自己的颜色变化技术以及其他随机化。
在幕后,一些 Unity GPU 实例化 限制确实会影响渲染。例如
与 Unity 每帧动态构建实例化常量缓冲区的常规实例化不同,实例化细节具有持久常量缓冲区,当目标硬件允许时,可以提高 CPU 和 GPU 性能,但会适度增加 GPU 内存使用量。
如果选择使用 GPU 实例化,则渲染模式设置将变灰且不可用。
添加草纹理窗口
细节纹理是表示草的纹理。您可以从资源商店一个不断增长的免费和商业资源库,由 Unity 和社区成员创建。提供各种资源,从纹理、模型和动画到完整的项目示例、教程和编辑器扩展。 更多信息
参见 术语表下载纹理,或创建您自己的纹理。纹理是一个小图像,其中 alpha 值设置为零以表示空白区域。“草”是一个通用术语;纹理可能表示花朵或人造物体,例如带刺铁丝网卷。
最小宽度、最大宽度、最小高度、最大高度、噪声种子、噪声扩散、孔边缘填充(%)、对齐到地面(%)、位置抖动(%)、细节密度、受密度缩放影响、健康颜色和干燥颜色设置的工作方式与网格相同。上面的“添加细节网格”部分提供了更多详细信息。
启用公告板一个纹理化的 2D 对象,它会旋转以始终面向摄像机。 更多信息
参见 术语表选项时,草图像会旋转,使其始终面向摄像机一个组件,用于在场景中创建特定视点的图像。输出要么绘制到屏幕上,要么捕获为纹理。 更多信息
参见 术语表。当您想要显示一片密集的草地时,这很有用,因为草丛是二维的,从侧面看不到。但是,对于稀疏的草地,各个草丛的旋转可能会变得可见,这可能会产生奇怪的效果。
要移除细节,请选择要移除的细节,单击编辑细节按钮,然后选择移除。移除细节时,Unity 会清除表示您在其中散布该细节的 Terrain 区域的数据。