版本:Unity 6 (6000.0)
语言:英语
为树木添加碰撞
使用风区动画树木

在地形上添加树木

使用“绘制树木”工具将树木放置在地形场景中的地貌。地形游戏对象将在场景中添加一个大的平面,您可以使用地形的检查器窗口来创建详细的地貌。 更多信息
参见 词汇表
上并自定义它们的绘制。您可以使用画笔绘制树木或在整个地形图块上批量放置树木。

例如,可以使用免费的 Unity Terrain - HDRP 演示场景,该场景有六个 SpeedTree 模型。您也可以使用树木编辑器(用于内置渲染管线)创建树木。

“绘制树木”工具

访问树木绘制

  1. 层次结构窗口中,选择地形。
  2. 在地形的检查器一个 Unity 窗口,显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
    参见 词汇表
    窗口中,从地形工具栏Unity 编辑器顶部的按钮和基本控件行,允许您以多种方式与编辑器进行交互(例如,缩放、平移)。 更多信息
    参见 词汇表
    ,选择绘制树木

选择树木

要将树木添加到地形,请将树木原型添加到“绘制树木”工具

  1. 选择编辑树木>添加树木
  2. 选择一棵树。

添加树木窗口根据您添加的树木提供不同的选项

  • 弯曲系数:调整树木对场景中风的影响的响应能力。场景场景包含游戏的环境和菜单。将每个独特的场景文件视为一个独特的关卡。在每个场景中,您可以放置环境、障碍物和装饰,本质上是分块设计和构建您的游戏。 更多信息
    参见 词汇表
    SpeedTree 模型器中的树木没有弯曲系数;只有树木编辑器树木有。有关更多信息,请参考使用风区动画树木

  • NavMeshUnity 生成的网格,用于近似环境中可行走区域和障碍物,用于寻路和 AI 控制的导航。 更多信息
    参见 词汇表
    LOD细节级别(LOD)技术是一种优化,当游戏对象到相机的距离增加时,它会减少 Unity 需要渲染的游戏对象三角形数量。 更多信息
    参见 词汇表
    索引
    :SpeedTree 使用细节级别(LOD)组。Unity 编辑器管理组之间的转换,但如果您放置的树木永远不会靠近相机创建场景中特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。 更多信息
    参见 词汇表
    ,或者如果您需要限制树木的显示质量而无需编辑模型,则可以选择特定的LOD 组一个组件,用于管理游戏对象的细节级别(LOD)。 更多信息
    参见 词汇表
    。选项如下
    • 第一个:最高 LOD,用于靠近玩家的树木。
    • 最后一个:最低 LOD,用于远离玩家的树木。
    • 自定义:选择不同的级别。

    有关更多信息,请参考树木细节级别(LOD)

  • 投射阴影:适用于树木编辑器树木。这是不可编辑的;它列出了在树木的网格渲染器>灯光>投射阴影设置中选择的选项。

自定义树木以进行绘制

自定义树木放置和特征。除了画笔大小树木密度之外,这些设置适用于批量放置的树木和使用画笔绘制的树木。

属性 功能
画笔大小 每次笔触覆盖树木的区域大小。
树木密度 树木之间必须保持的距离。这限制了单次笔触添加的树木数量。请注意,限制按笔触而不是按区域计算,因此在同一区域重复笔触会创建更高的密度。还要注意,画笔越大,树木之间的距离越远,即使密度为 100 也是如此。
树木高度 树木高度随机化的范围。使用较宽的范围以获得不同的外观,使用较窄的范围以获得统一的外观。要指定值而不是范围,请禁用随机。可能的值是树木原始高度的0.012的比例。
锁定宽度与高度 默认情况下,树木的宽度会锁定到其高度,以便树木始终统一缩放。要指定宽度,请禁用锁定宽度与高度
树木宽度 树木宽度随机化的范围。使用较宽的范围以获得不同的外观,使用较窄的范围以获得统一的外观。要指定值而不是范围,请禁用随机。可能的值是树木原始宽度的0.012的比例。
随机树木旋转 如果您的树木有细节级别(LOD)组(例如,从 SpeedTree 导入的树木),请使用随机树木旋转设置来帮助营造随机的、自然生长的森林的印象。如果您想放置旋转固定的树木,请禁用此选项。
颜色变化 应用于树木的随机阴影量。这仅在着色器在 GPU 上运行的程序。 更多信息
参见 词汇表
读取_TreeInstanceColor属性时有效。所有使用树木编辑器创建的树木都读取_TreeInstanceColor属性,因为它们都使用内置着色器。某些 SpeedTree 树木可能不会读取它。
树木贡献全局照明 不可编辑;指示树木资源的灯光>贡献全局照明选项是否已启用。

批量放置树木

您可以通过单次操作将树木放置在整个地形图块上。有关在绘制之前自定义树木的信息,请参考自定义树木以进行绘制(上方)。

在整个地形图块上放置树木

  1. 选择如上所述的树木资源。请注意,批量放置使用树木列表中的所有树木,而不仅仅是突出显示的树木。
  2. 选择批量放置树木放置树木窗口将打开。
  3. 输入要放置的树木数量。
  4. 要保留现有的树木,请选中保留现有树木框。如果您不选中此框,Unity 将删除所有现有树木并用新树木替换它们。

您可以使用画笔工具添加或删除批量放置的树木。

使用画笔绘制树木

您可以使用画笔将树木绘制到地形上。

绘制树木

  1. 选择如上所述的树木。
  2. 有关画笔设置和自定义树木以进行绘制的信息,请参考自定义树木以进行绘制(上方)。
  3. 使用画笔在地形上绘制树木。
  4. 删除
    • 某个区域的所有树木:在绘制时按住Shift键。
    • 仅删除树木列表中选择的树木:在绘制时按住Ctrl键。

编辑树木

您可以在放置树木之前或笔触之间编辑树木的属性。例如,对于 SpeedTree 树木,您可以在绘制地形的不同部分时更改使用的 LOD 组。

编辑树木

  1. 树木列表中,选择要编辑的树木。
  2. 选择编辑树木>编辑树木编辑树木窗口将打开。它与添加树木窗口具有相同的选项。

更新导入的树木

如果您在单独的 3D 建模应用程序中更改了导入的树木,则需要在绘制工具中刷新树木以更新它在地形上的外观。

要更新树木,在地形图块的检查器窗口中,转到绘制树木>树木>刷新

注意:来自 SpeedTree 的树木使用自己的着色器来动画化风运动。Unity 编辑器仅将此着色器添加到 SpeedTree 以spmst8文件类型导出的树木。如果您使用其他 3D 建模软件编辑树木并将其以fbxobj文件形式导出,Unity 编辑器将为其分配内置着色器,并且风效将丢失。要保留风动画,请始终使用 SpeedTree 编辑和重新导出 SpeedTree 树木。

其他资源

为树木添加碰撞
使用风区动画树木