【Unity】4.5 树木建立器

分类:Unity、C#、VS2015 编辑器

建立日期:2016-04-11 工具

1、简介

在地形编辑器一节中,已经告诉了你如何使用已经建立好的树来造成大片树林。这一节告诉你在 Unity 5.3.4中如何利用【树木建立器】一步一步地建立一棵树: 性能

image

当你学会了建立树的基本操做后,你就能够根据本身的须要建立任意形状的树了:3d

image

2、导入Unity自带的Environment组件

若是你原来没有导入Unity自带的Environment组件,须要导入它: orm

image

办法是:鼠标右击工程视图下的Assets文件夹,选择Environment,在弹出的窗口中,单击【All】按钮,而后单击【Inport】按钮。 blog

此时,在Standard Assets文件夹下就会看到导入的资源:游戏

image

依次单击Environment/SpeedTree文件夹下的各个子文件夹,观察子文件夹中的文件,以便对其结构有一个大概的了解。 资源

image

另外,除了树组件(SpeedTree)之外,Environment下还包含地形组件(TerrainAssets)以及水组件(Water)。 get

导入Environment之后,就能够直接使用这些组件了。 it

3、建立第一棵树

一、建立场景

先添加一个Demo06文件夹,而后在该文件夹下建立一个名为Demo06Scene的场景:

image

双击打开该场景。

二、添加一棵新树

要在刚建立的场景中建立一个新的树 (Tree) 资源,须要先鼠标右击层次视图(Hierarchy),选择【3D Object】->【Tree】:

image

此时在工程视图 (Project View) 中建立了一个文件名为Tree的预制体文件,将该文件拖放到Demo06文件夹中:

image

拖放后,在Demo06文件夹下就能够看到这个文件,将其换名为Demo06Tree01以方便识别是哪一个例子建立的:

image

换名后,在当前打开的场景中,便可看到实例化的Demo06Tree01树(若是看到的不是这样,将其旋转缩放一下就看到了):

image

如今这棵新树还很简单,只有一个树干,接下来咱们为它添加树枝、树叶。

三、观察树木建立器的大体结构

选中这棵树,先在检视器 (Inspector) ) 中看一下树木建立器的大体结构(红色框):

image

检视器中提供了塑造和雕刻你所建立的树的全部工具和属性。

在【Tree】选项卡下,可看到呈现节点的树木层级视图 (Tree Hierarchy) :树根 (Tree Root) 节点和一个单一的树枝组 (Branch Group) 节点(称为树干)。

为了方便介绍,之后将树木建立器中右下角的4个小按钮(小红色框内)从左到右分别命名为【按钮1】、【按钮2】、【按钮3】、【按钮4】:

【按钮1(Add Leaf)】:添加树叶。向当前选择的组节点添加一个树叶组节点。

【按钮2(Add Branch)】:添加树枝。向当前选择的组节点添加一个树枝组节点。

【按钮3(Copy Node)】:复制节点。复制当前选择的组。

【按钮4(Delete Node)】:删除节点。删除层次视图 (Hierarchy) 中当前选择的组或场景视图 (Scene View) 中的一个节点或一个样条线点。

除了这4个按钮外,还有:

【树木状态(Tree Stats)】:树木的状态信息(在4个小按钮的上方),此状态告诉你树木具备多少顶点、多少三角形和多少种材质。

【外部重载(External Reload)】:也叫刷新,即再次计算整棵树(该按钮在4个小按钮的左边)。在树叶网格已改变的状况下,可以使用此按钮。

四、添加树枝(Adding Branches)

在【Tree】选项卡中,单击【按钮2(Add Branch)】添加一个树枝:

image

选中刚添加的树枝,利用4个按钮下方的【移动树枝】、【旋转树枝】、【自定义树枝】按钮,以及【按钮4(Delete Node)】,经过鼠标拖放小方块在场景中改变该树枝的形状:

image

单击主树干,而后单击【按钮2(Add Branch)】,按照上面介绍的相同的办法,再添加另外一个树枝:

image

在树干上建立了树枝后,还能够进一步选择次级树枝组 (Branch Group) 并再次单击【按钮2(Add Branch)】在新建立的树枝上添加更小的树枝。微调这个组的值,可继续建立更多链接至次级树枝的树枝。

如今,这棵简单的树的树枝结构已经完成,若是游戏场景不是发生在冬天,那么还须要在树枝上添加树叶(Leaf)。

五、添加树叶

添加树叶和添加树枝的操做基本上是同样的。基本步骤是:先选中某个树枝节点,而后单击【按钮1(Add Leaf)】按钮便可。

image

若是想进行很是细致地塑造,也能够再在最小的树枝上添加另外一个树叶组。

下图是分别在树干和2个树枝上各添加一个树叶后的场景:

image

如今,树叶仅仅被渲染成不透明的平面。这是由于在为它们添加材质以前,咱们须要先调整树叶的值(大小、位置、旋转等)。调整合适之后,就能够为其添加材质了。

六、添加材质

为了使树看起来更加逼真,还须要在树枝和树叶上应用材质 (Material)。

(1)建立树枝材质

鼠标右击Demo06文件夹,选择【建立 (Create)】 -> 【材质 (Material)】 ,在该文件夹下建立一种新材质,并将其重命名为Demo06Bark01,意思是Demo06文件夹下建立的第1个树皮(Bark)材质。

image

在着色器 (Shader) 下拉菜单中,选择【天然 (Nature)】 -> 【树木建立器树皮 (Tree Creator Bark)】:

image

将【基础(Base)】属性和【光泽 (Gloss)】属性都选择【BroadleafBark】纹理:

image

法线贴图 (Normalmap) 属性使用【BroadleafBark_Normal】纹理:

image

这样在Demo06文件夹下就获得了建立的树枝材质(Demo06Bark01.mat文件):

image

选择某个树枝,将建立的树枝材质应用到该树枝:

image

依次选择其余树枝,直到所有应用材质为止。

(2)建立树叶材质

按照与建立树枝材质一样的步骤,再建立一个文件名为Demo06Leaf01.mat的材质。

在着色器 (Shader) 下拉菜单中,选择【天然 (Nature)】 -> 【树木建立器树叶 (Tree Creator Leaves)】:

image

指定纹理:

image

这就获得了树叶材质:

image

选择某个树叶,将材质应用到该树叶:

image

对全部树叶都作一样的处理,直到全部树叶应用完毕。

如今再来看看添加材质后的这棵树(每一个树枝上都有一个树叶):

image

选中某个树叶,观察【Frequency】属性的值,可看出此时该值默认为1:

接下来将【Frequency】属性的值调整为42,即获得下面的效果:

image

对另外两个树枝执行一样的操做,就获得了咱们但愿的树:

image

说明:建立树是一个反复试验的过程,总的原则是通常不要建立太多的树叶/树枝,由于太多的话会影响渲染的性能。

七、添加角色控制器

最后再添加一个第1人称角色控制器,以便旋转、拉伸、移动场景:

image

按【播放】按钮预览运行效果。

相关文章
相关标签/搜索