包含此页的版本:
不含此页的版本:
一个地形场景中的地形。地形游戏对象向场景添加一个大型平面,您可以使用地形的“检查器”窗口创建详细的地形。更多信息
请参阅术语表其表面可能有草丛和其他小物体(例如岩石)覆盖。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 编辑器顶部的一排按钮和基本控件,允许您以各种方式(例如缩放、翻译)与编辑器进行交互。更多信息
请参阅术语表.
要从叠加层访问“绘制细节”:
) 。植被模式(Foliage Mode) 工具显示在 地形工具(Terrain Tools) 叠加层的末尾。
。最初,地形没有可用的草地或细节。在 检查器(Inspector) 中,点击 编辑细节(Edit Details) 按钮,显示一个菜单,其中包含添加详细信息网格Unity 的主要图形基元。网格构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 表面必须转换为多边形。更多信息
请参阅术语表和 添加草纹理(Add Grass Texture) 选项。单击任一选项可弹出一个窗口,让你选择 资产(Assets) 添加到地形进行绘制。
使用细节预制件:一种资产类型,允许您存储包含组件和属性的游戏对象。预制件充当模板,你可以从中在场景中创建新的对象实例。更多信息
请参阅术语表字段以从项目中选择一个预制件。为了创建真实的外观,随机因素会影响每个网格以确定大小和颜色。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 Color 和 Dry 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 实例化,Unity 使用材质和着色器在 GPU 上运行的程序。更多信息
请参阅术语表在预制件上指定以进行渲染。这使您可以在着色器中执行更多自定义并使用着色器图表。
Unity 仍会将 Width 和 Height 噪点应用于每个实例,但禁用 Healthy Color/Dry Color 噪点。您可以在着色器中使用自己的颜色变化技术以及其他随机化。
在幕后,一些 Unity GPU 实例化限制确实会影响渲染。 例如:
与常规实例化不同,Unity 每帧动态构建实例化常量缓冲区,实例化细节具有持久的常量缓冲区,以便在目标硬件允许时获得更好的 CPU 和 GPU 性能,但代价是适度增加 GPU 内存使用量。
如果选择 使用 GPU 实例化,则 渲染模式(Render Mode) 设置将变灰且不可用。
添加草纹理(Add Grass Texture)窗口
细节纹理(Detail Texture) 是表示草地的纹理。你可以从Asset Store 由 Unity 和社区成员创建的不断增长的免费和商业资产库。提供各种各样的资产,从纹理、模型和动画到整个项目示例、教程和编辑器扩展。更多信息
请参阅术语表,或创建您自己的纹理。纹理是一个小图像,空白区域的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 会清除表示您散布该细节的地形区域的数据。