交互媒体设计教案Unity3D游戏开发征服Unity3d

Unity3D自带功能:树物体(Tree)

2017-07-29  本文已影响557人  shimmery

通过菜单GameObject > 3D Object > Tree可以为当前场景创建一个Tree (树),同时还会把相应的Tree asset资源存放在项目文件夹中。

unity_tree_01.png

Tree是标准的Fractal(分形)结构,按“第一层主干上长出数根枝干,然后枝干上又各自长出数根细枝,……最后细枝上长出多片树叶”这样一层层搭建而来。Maya中的笔刷树也是用的这种构成方法,但Unity3D相对来说更简化了一些。

TreeStructureDiagram.png

树编辑器及节点

Unity3D提供一个简单的树编辑器,让我们可以从主干开始创建一颗完整的树。这个树编辑器很像Xfrog(Maya中集成了一个简化版的Xfrog插件)。

一颗比较完整的树的结构至少要如下图所示,有多个层级,最下方是1个树节点,然后接一层枝节点当树干,然后再接1~2层枝节点当树枝,最后接一层叶节点来生成树叶。

unity_tree_00.png

编辑器中间的结构图示代表了不同层级的节点,Unity3D的Tree只有3个不同类型的节点:树节点(Tree)、枝节点(Branch)、叶节点(Leaf)。每个节点上的数字代表该节点中总共有多少根“树枝”或者多少片“树叶”。

选择一个枝节点,我们可以通过右下角的图标为它创建一个下级枝节点或者叶节点,或者复制/删除任意枝节点或叶节点,叶节点之下不能创建别的节点。

树节点只能有一个,不可删除。


树节点(Tree)

树节点是最底部的节点,用来控制整棵树的参数设置

unity_tree_02.png

枝节点(Branch)

枝节点是创建枝干的节点,枝干是一根可以扭曲的长圆锥体,通常会贴上树皮的贴图,用来作为树干或者主要分叉树枝。

unity_tree_03.png Flare相关参数获得的根部效果 Weld相关参数获得的过渡效果 Break属性获得的断口效果

我们可以手动对branch进行调整:

注意:手动调整之后,很多参数就不可用了,编辑器中的节点图示上也会多出一个笔形符号做为提示。


叶节点

叶节点是创建叶片的节点,叶片是一个Quad面片,通常会贴上树叶贴图,但一般不会用奢侈到用单个面片做1片树叶,常见的用法是单个面片上贴上一枝带若干叶片的细小树枝的贴图,来模拟枝繁叶茂的样子。

unity_tree_04.png

我们可以手动对leaf进行调整,leaf没有中轴线,所以只能移动或者旋转:

注意:手动调整之后,很多参数就不可用了,编辑器中的节点图示上也会多出一个笔形符号做为提示。

关于风场和动力学解算:

要产生树被风吹动的效果,需要创建一个Wind Zone(风区),我们可以点击Create Wind Zone按钮创建,或者从菜单栏创建。

树物体的“主干”、“枝条”、“叶片”三种不同的结构部分面对风场的动力学表现是不同的:


大家可以下载一些Asset Store里提供的免费的Tree资源,看看别人是怎么设置的:


上一篇下一篇

猜你喜欢

热点阅读