Version: 6000.3
语言: 中文
风参考
使用高度图

草和其他细节

一个地形场景中的地形。地形游戏对象向场景添加一个大型平面,您可以使用地形的“检查器”窗口创建详细的地形。更多信息
请参阅术语表
其表面可能有草丛和其他小物体(例如岩石)覆盖。Unity 使用纹理四边形类似于平面但其边只有一个单位长的原始对象,它只使用 4 个顶点,并且表面定向在局部坐标空间的 XY 平面上。更多信息
请参阅术语表
或完整网格,具体取决于细节级别细节级别 (LOD) 技术是一种优化,可减少当游戏对象与相机的距离增加时,Unity 必须为游戏对象渲染的三角形数量。更多信息
请参阅术语表
以及您需要的性能。

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

有草的地形
有草的地形

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

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

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

要添加顶点光照网格体,请选择 添加细节网格体(Add Detail Mesh) 并将 渲染模式(Render Mode) 设置为 顶点光照(Vertex Lit)。
草网格 工作原理类似于顶点列表网格,但 Unity 将这些网格视为草,因此它们始终具有朝上的法线并在风中移动。

要添加草网格体,请选择 添加细节网格体(Add Detail Mesh) 并将 渲染模式(Render Mode) 设置为 草(Grass)
草纹理 允许你直接从纹理创建草四边形网格体,这些网格体在风中移动。你不需要指定任何自定义网格体,还可以启用一个选项,使草地四边形始终面向摄像机,以获得广告牌效果。

为此选项选择 添加草纹理(Add Grass Texture) 。

油漆细节

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

地形检查器中的绘制细节
地形检查器中的绘制细节

要从叠加层访问“绘制细节”

  1. 地形工具(Terrain Tools) 叠加层中,选择 植被模式(Foliage Mode植被模式菜单) 。植被模式(Foliage Mode) 工具显示在 地形工具(Terrain Tools) 叠加层的末尾。
  2. 地形工具(Terrain Tools) 叠加层上的可用植被模式工具中,选择 绘制细节(Paint Details) 油漆细节

最初,地形没有可用的草地或细节。在 检查器(Inspector) 中,点击 编辑细节(Edit Details) 按钮,显示一个菜单,其中包含添加详细信息网格Unity 的主要图形基元。网格构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 表面必须转换为多边形。更多信息
请参阅术语表
添加草纹理(Add Grass Texture) 选项。单击任一选项可弹出一个窗口,让你选择 资产(Assets) 添加到地形进行绘制。

添加细节网格体(Add Detail Mesh)

添加细节网格体(Add Detail Mesh) 窗口
添加细节网格体(Add Detail Mesh) 窗口

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

最小宽度(Min Width)、最大宽度(Max Width)、最小高度(Min Height)和最大高度(Max Height)值指定随机生成网格体的X轴和Y轴上的上下缩放。

地面对齐(%)(Align to Ground) 值指定细节轴与地形法线对齐的程度。0 与法线对齐,100 与法线对齐。

位置抖动 (%) 控制细节分布从有序到随机的随机性。仅当在“质量”设置中关闭旧分布时,此功能才可用。

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

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

细节密度(Detail Density) 值控制细节相对于其大小的密度。你可以在地形设置(Terrain Settings) 中设置的“覆盖范围”细节散射模式中启用此功能。

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

密度比例影响(Affected by Density Scale) 复选框确定在地形设置(Terrain Settings) 中设置的 细节密度比例(Detail Density Scale) 设置是否影响此细节。

你可以将 渲染模式(Render Mode) 设置为 顶点光照(Vertex Lit)草(Grass) 。

渲染模式(Render Mode) 描述
顶点光照(Vertex Lit 将细节网格渲染为实体、顶点光照游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
,不会在风中移动。
使用类似于草纹理的简化光照渲染场景中的细节网格体,并且会随风移动。

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

使用GPU实例化

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

Unity 仍会将 Width 和 Height 噪点应用于每个实例,但禁用 Healthy Color/Dry Color 噪点。您可以在着色器中使用自己的颜色变化技术以及其他随机化。

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

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

与常规实例化不同,Unity 每帧动态构建实例化常量缓冲区,实例化细节具有持久的常量缓冲区,以便在目标硬件允许时获得更好的 CPU 和 GPU 性能,但代价是适度增加 GPU 内存使用量。

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

添加草纹理

添加草纹理(Add Grass Texture)窗口
添加草纹理(Add Grass Texture)窗口

添加草纹理(Add Grass Texture)窗口

细节纹理(Detail Texture) 是表示草地的纹理。你可以从Asset StoreUnity 和社区成员创建的不断增长的免费和商业资产库。提供各种各样的资产,从纹理、模型和动画到整个项目示例、教程和编辑器扩展。更多信息
请参阅术语表
,或创建您自己的纹理。纹理是一个小图像,空白区域的alpha设置为零。请注意,“草”是一个通用术语;纹理可以表示花朵或人造物体,例如铁丝网线圈。

最小宽度(Min Width)、最大宽度(Max Width)、最小高度(Min Height)、最大高度(Max Height)、噪点种子(Noise Seed)、噪点扩散(Noise Spread)、孔边填充(Hole Edge Padding (%))、对齐地面(%)位置抖动(%)细节密度(Detail Density)、受密度比例影响(Affected by Density Scale)、健康颜色(Healthy Color)和干色(Dry Color)设置的工作方式与网格体相同。上面的 添加细节网格体(Add Detail Mesh) 部分提供了更多详细信息。

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

删除详细信息

要删除详细信息,请选择要删除的详细信息,单击“编辑详细信息”按钮,然后选择“删除”。删除细节时,Unity 会清除表示您散布该细节的地形区域的数据。


  • 2022–07–20 页面已修改
  • 添加了有关细节密度和分布的信息。
风参考
使用高度图