版本:Unity 6 (6000.0)
语言:英语
着色器和环境遮挡文件夹
从网格创建树木和叶子

设计树

在树木编辑器中设计树木,创建其材质,并添加 碰撞体一个用于处理物体物理碰撞的不可见形状。碰撞体不必与物体的网格形状完全相同——粗略的近似通常更有效,并且在游戏过程中无法区分。 更多信息
术语表

如果您想使用导入的 网格Unity 的主要图形基元。网格构成 3D 世界的大部分。Unity 支持三角形或四边形多边形网格。NURBS、NURMS、细分曲面必须转换为多边形。 更多信息
术语表
,请参考 从网格创建树木和叶子

添加新树

要创建新的 资源,从主菜单中选择 游戏对象 > 3D 对象 >

此操作将在您的 场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特关卡。在每个场景中,您放置环境、障碍物和装饰品,本质上是分段设计和构建游戏。 更多信息
术语表
视图中添加一棵树。它还将在 项目 窗口的 Assets 文件夹中添加树 预制体一种资源类型,允许您存储包含组件和属性的游戏对象。预制体充当模板,您可以在场景中从该模板创建新的对象实例。 更多信息
术语表
(Tree.prefab) 和一个纹理文件夹 (Tree_Textures)。

将树放置在环境遮挡文件夹中

树木只能在名为 Ambient-Occlusion 的文件夹中才能正确渲染。

  1. 项目 窗口中,选择 Assets 文件夹。
  2. 选择 添加 (+) > 文件夹
  3. 将文件夹命名为 Ambient-Occlusion
  4. 将树预制体及其纹理文件夹移动到 Ambient-Occlusion 文件夹中。

添加树枝和叶子

第一根树枝充当树干——它从地面开始向上生长。此示例创建了一个树干,但您可以创建多个树干,例如用于一组芦苇(请参阅 树枝组参考 中的频率属性)。

A new tree, showing only the first branch, which functions as the tree trunk.
一棵新树,只显示第一根树枝,它充当树干。

可用的组操作

选择树木以在 检查器 窗口中查看它。树木层次结构 视图显示 根节点 和充当树干的树枝组。要了解更多信息,请参考 树木编辑器概念

使用 树木层次结构 视图控件来管理树枝和叶子组

  • 添加叶子组。您可以在树木 根节点动画层次结构中的一个变换,允许 Unity 在通用模型的动画剪辑之间建立一致性。它还使 Unity 能够在未“就地”创作的动画之间正确混合(即模型在动画期间移动其世界位置)。 更多信息
    术语表
    或任何树枝组中添加叶子组,但不能添加到另一个叶子组。叶子组始终比您添加它的树枝组高一个级别。
  • 添加树枝组。您可以在树木根节点或另一个树枝组中添加树枝组,但不能添加到叶子组。树枝组始终比您添加它的树枝组高一个级别。
  • 复制选定组。创建组的副本,具有相同的设置,并在同一级别。
  • 删除选定组。请注意,如果您删除具有子组的组,则子组也会被删除。
Four options for managing branches and leaves. From left to right: Add Leaf Group, Add Branch Group, Duplicate Selected Group, and Delete Selected Group.
用于管理树枝和叶子的四个选项。从左到右:添加叶子组、添加树枝组、复制选定组和删除选定组。

添加树枝

树枝按组进行管理。要向树干添加树枝,在 树木层次结构 视图中,选择现有的树枝组(树干)并单击 添加树枝组

一个新的树枝组只有一个树枝。要添加更多树枝,在 检查器 窗口 > 树木层次结构 视图中,选择新的树枝组并更改其 频率 设置。

A tree trunk with a single branch group.
一个具有单个树枝组的树干。

要向现有树枝添加更小的树枝,请选择您刚刚添加的树枝组(不是树干)并单击 添加树枝组。新的树枝组将添加到选定树枝组的上方一个级别。更改新组的频率以添加更多树枝。

注意:频率并不总是最终的树枝数量。第一组中的树枝数量等于其频率,因为这些树枝都从一个树枝(树干)中生长出来。但是,在这个新组中,树枝从上一组中的所有树枝中生长出来,因此它们的频率被分配。为了创造自然的外观,生长并不均匀,这意味着分配并不均匀。因此,第二组中的最终树枝数量不是两个频率的简单乘积。

The tree has two branch groups, one growing from the trunk and one growing from the first branch group. The Tree Hierarchy view shows both branch groups, the trunk, and the root node.
这棵树有两个树枝组,一个从树干中生长,另一个从第一个树枝组中生长。树木层次结构视图显示了两个树枝组、树干和根节点。

新的树枝组的生长角度平行于地面。要更改角度,请选择树枝组并调整其 生长角度 设置。您还可以更改其 寻求阳光 设置,使树枝向上或向下弯曲。

有关更多树枝组设置以及了解羽状叶,请参考 树枝组参考

添加叶子

您可以在任何树枝组(包括树干)中添加叶子。您还可以向树木根节点添加叶子,这会产生散落在地面的叶子的效果。与树枝一样,叶子按组进行管理。

要向树枝组添加叶子,请选择树枝组并单击 添加叶子组

The tree has leaves growing from both branch groups, but not the trunk or root node. The Tree Hierarchy view shows one leaf group attached to each branch group.
这棵树的两个树枝组都长着叶子,但树干和根节点没有。树木层次结构视图显示了一个叶子组连接到每个树枝组。

叶子以不透明平面的形式添加。在添加材质之前,更改组设置,直到您满意叶子的外观。有关更多信息,请参考 叶子组参考

添加果实

您可以使用叶子组添加果实。有关更多信息,请参考 从网格创建树木和叶子

要创建重叠的果实和叶子,请在同一级别添加两个叶子组,并为它们赋予相同的频率和分布。

添加材质

树木有四种材质:用于叶子、羽状叶、树皮和折断树枝上可见的横截面。

创建材质

要创建材质

  1. 从主菜单中选择 资源 > 创建 > 材质

  2. 命名材质。

  3. 检查器一个 Unity 窗口,显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
    术语表
    窗口中,选择 着色器在 GPU 上运行的程序。 更多信息
    术语表
    下拉菜单,然后选择
    • 对于叶子:自然 > 树木创建者叶子
    • 对于树皮(树干和树枝):自然 > 树木创建者树皮

    树木编辑器树木和叶子必须使用这些着色器。您不能使用自己的着色器。

  4. 添加纹理。如果您还没有纹理,您可以依赖 主颜色 选择进行测试,或从 Unity Asset Store 下载资源。

    要了解有关纹理的更多信息,请参考 纹理渲染游戏对象、精灵或 UI 元素时使用的图像。纹理通常应用于网格的表面以赋予其视觉细节。 更多信息
    术语表

The Inspector window showing a new leaf material and its textures. The shader is Nature/Tree Creator Leaves.
检查器窗口显示了一个新的叶子材质及其纹理。着色器是 Nature/Tree Creator Leaves。

向树木添加材质

要向组添加材质,请选择 树木层次结构 视图中的组,并在其 几何体 部分中分配材质

  • 叶子只有一个材质。
  • 树枝有两个材质:树枝材质 用于树枝的树皮,断裂材质 用于折断树枝的横截面。
A close up of a tree showing the branch material and the break material.
树木的特写镜头显示了树枝材质和断裂材质。

变换单个树枝和叶子

游戏对象变换仅对整个树木起作用,并且在您选择树木根节点时可用。

要变换单个树枝和叶子,请使用树木创建者的控制点。

提示:要 变换 整棵树,请单击 树木根节点 按钮。

显示树枝或叶子控制点

当您在 树木层次结构 视图中选择树枝组时,Unity 编辑器将在 场景视图一个交互式视图,用于查看您正在创建的世界。您使用场景视图来选择和定位场景、角色、摄像机、灯光以及所有其他类型的游戏对象。 更多信息
术语表
中选择其树枝。场景视图中的树枝或叶子组包含控制点,您可以使用这些控制点来编辑树枝或叶子。以下示例显示了一棵树,其中选择了一根树枝。

A single tree branch, the trunk, showing multiple control points along its length.
一根树枝(树干),在其长度上显示多个控制点。

控制选项可从 树木层次结构 视图下方的 工具栏Unity 编辑器顶部的按钮和基本控件行,允许您以各种方式与编辑器交互(例如缩放、平移)。 更多信息
术语表
获得。

The toolbar showing the three branch control options. From left to right: Move, Rotate, and Free Hand
工具栏显示三个分支控制选项。从左到右:移动、旋转和手绘

变换分支

分支的控制点穿过每个分支的中心线。您可以点击并拖动任何控制点来移动分支。

对于一个分支,控制选项是

  • 移动分支:移动分支上的一个点。分支的其余部分保持原位,因此分支围绕控制点弯曲。
  • 旋转分支:围绕控制点旋转分支。移动仅从控制点上方分支的一部分开始。
  • 手绘:将分支绘制为样条曲线。从最高控制点点击并拖动以添加分支的一部分。点击较低的控制点以将分支修剪到该点。
One of the control points on the tree trunk is to the side of the center line, creating a curving trunk
树干上的一个控制点位于中心线的侧面,形成弯曲的树干

变换叶子

对于叶子,控制选项是

  • 移动叶子:将叶子向上或向下移动到分支上。您不能将叶子移动到另一个分支上。
  • 旋转叶子:点击叶子中心的点并拖动它以围绕其轴线旋转叶子。

对程序属性的影响

一些分支和叶子属性是程序化的,这意味着树编辑器会生成它们。当您编辑分支或叶子时,树编辑器将禁用程序化属性。

要恢复程序化属性,请点击转换为程序化组。这将删除您手动进行的任何编辑。

添加碰撞器

碰撞器定义物体的形状。它们计算物理碰撞当物理引擎检测到两个 GameObjects 的碰撞器发生接触或重叠时,就会发生碰撞,前提是至少有一个物体具有 Rigidbody 组件并且处于运动状态。 更多信息
请参阅 词汇表
,例如,角色无法穿过树。树木使用胶囊碰撞器胶囊形状的碰撞器组件,用于处理诸如桶和角色肢体之类的 GameObjects 的碰撞。 更多信息
请参阅 词汇表
组件。

要了解有关树碰撞器的更多信息,请参阅为树添加碰撞.

添加风

风区动画树木的运动。

要添加一个风区一个 GameObject,它为您的地形添加风的效果。例如,风区内的树木将以逼真的动画方式弯曲,风本身将以脉冲方式移动,从而在树木之间产生自然的运动模式。 更多信息
请参阅 词汇表
GameObjectUnity 场景中的基本对象,它可以代表角色、道具、场景、相机、航路点等。GameObject 的功能由附加到它的组件定义。 更多信息
请参阅 词汇表
,在树的检查器窗口中,点击创建风区。您可以从任何分支或叶子组中执行此操作,但不能从树根节点中执行此操作。

风区默认设置会产生柔和的微风,您可以将其用于树木,无需更改它。如果您想创建更强烈的风效果,请参阅使用风区动画树木.

隐藏树

现在,树已准备好以组的形式绘制到地形场景中的景观。Terrain GameObject 将一个大的平面添加到您的场景中,您可以使用 Terrain 的检查器窗口来创建详细的景观。 更多信息
请参阅 词汇表
上。最好使树 GameObject 处于不可见状态,这样您就不会意外地移动它或更改其设置。

层次结构窗口中选择树 GameObject,然后在检查器窗口中,禁用 GameObject 名称旁边的可见性复选框。

将树添加到地形

使用绘制树木工具将您的树木的丛添加到地形。有关更多信息,请参阅将树木添加到地形.

其他资源

着色器和环境遮挡文件夹
从网格创建树木和叶子