工具材料准备:
1.第一个工具:
官方SpeedTree For Unity插件 http://store.speedtree.com/product/speedtree-modeler-for-unity/ 19美元一个月。或者你寻找破解
【SpeedTree的每个版本】
SpeedTree有多个版本笔者了解的是:
第一个版本就是SpeedTree-Modeler Ciname这个是ST的普通版本,只负责做树不承诺支持任何平台,可以导出FBX来实现模型通用问题。但是材质是不通用的。容易产生很多问题。
第二个版本是SpeedTree -Modeler For Unity5.0的版本,这个是专门支持Unity开发的
官方给出发的功能解释;
SpeedTree® for Games, the vegetation software making AAA games great since 2003, has come to Unity 5! In response to strong customer interest, IDV is offering a version of the SpeedTree Modeler for Unity 5. Featuring our unique, award-winning combination of procedural plus hand-modeling approach, SpeedTree is a design package powerful enough to meet virtually any vegetation modeling requirement, from architectural backgrounds to Academy Award®-winning visual effects. Feature highlights (hyperlinks go to relevant SpeedTree docs pages):
【功能】:
Mac OS version available now!
关于LOD的介绍;http://docs.speedtree.com/doku.php?id=lod
第二个工具:.Unity5.0以上版本的软件
一开始我用SpeedTree Modeler Cinema.exe也就是普通版制作的一个植物,但是不支持Unity,在Unity中不能直接使用,需要从SpeedTree中导出FBX才可以,很笨的方法,容易出现材质贴图难题,现在可以用SpeedTree Modeler Unity v7.1.4版本,那么SpeedTree的Spm工程文件可以直接在Unity5+中当成Prefabs中使用。
举个个人制作例子:
第一步:用speedtree-modeler-for-unity
第二步;
一定注意的是 Unity版的ST可以打开普通版的ST,但是普通版的ST打不开Unity版的ST
第三步:在SpeedTree for unity版本中打开之后,可以另存一个工程文件,这时候ST会帮你创建适用于Unity的图集Altas,以及打包材质Shader,很棒的~
同一个工程文件在两个软件中效果对比:(不进行任何材质编辑的情况下)
可以看出来,树的效果从SpeedTree中完美转移,差别并不大。而且事实上我只是简单的把SpeedTree工程文件夹直接拷贝在Unity的Asset/Resources下而已,没有编辑什么材质 Shader,但是如果发现材质没有使用贴图的Alpha通道的透明度,那么可能是你在St里面就
没有设置好相应的植物节点,比如叶子,在ST中你没有创建Leaf节点来哦表现叶子,而是用网格放在基础节点上,基础节点使用的材质
在Unity中Geometry Type只会识别为网格,而如果你是st中的Leaf节点上使用网格和贴图以及材质,Unity会把对应Leaf的材质,转换材质的时候Geometry Type会设置成leaf,区别在于什么呢,在于:Frond、Branch、Leaf节点、和几何类型可以识别带有Alpha通道的贴图,但是其他选项就不支持。所以Speedtree模型导入Unity发现不带透明通道了,第一是你没有用Speedtree Modeler for Unity5.0来实现导入Unity
第二就是:在ST中创建的植物,相应的部分没有创建相应的节点。
如果在ST中,节点都设置好了那么导入Unity后材质的几何网格类型也会自动设置而且材质的名字也给好了
第四步尝试:测试在st中加好的风力效果
第五:预览效果
【完美】。。。。。
做成笔刷
官方演示案例:https://www.youtube.com/watch?v=fk1jOk7IxOA
以下是另一篇文章引用:http://blog.csdn.net/u010930289/article/details/50757477
SpeedTree资源(用SpeedTree建模器的Unity版本保存的.SPM文件)被Unity如其它资源一样识别以及导入。保证纹理在项目文件夹中能访问到,每个LOD的材质将被自动地生成。当你选择.SPM资源导入时有导入选项,让你调整生成的游戏对象和材质。材质在重新导入时不会被再次生成,除非你点击了Generate Materials或者Apply&Generate Materials按钮,那么所有对材质的定制将会被保持。
SpeedTree导入器最后生成一个带有LODGroup组件的预物体。这个预物体可以在场景中如一个普通的预物体实例那样被实例化,或者作为一个地形上的树木原型被选中及大规模地绘制。另外,地形接受任何带有一个LODGroup组件的游戏对象作为一个树木原型,并在网格尺寸或被使用的材质数量(相比于TreeCreator树木)上不进行限制。但注意到SpeedTree树木通常使用3到4个不同的材质,这导致了在每一帧中一定数量的绘制调用产生,所以,在对于绘制调用数量敏感的平台上,你应当尝试避免对LOD树大量使用。
如何创建可以产生并接收实时投影的SpeedTree公告板
为了让公告板正确地计算投影,在阴影产生对象通过的期间,公告板被旋转面向光照方向(或者在点光源的情形下的光源位置)而非面向摄像机。
为了开启这些选项,对一个.spm资源的检视器中选择Billboard LOD级别,在Billboard Options中勾选Cast Shadows或者Receive Shadows,并且点击Apply Prefab。
要改变实例化了的SpeedTree游戏对象的公告板阴影选项,在层次窗口中选择_Billboard对象,然后在Billboard Renderer的检视器中调整这些选项,正如你在普通的Mesh Renderer中所进行的那样。
在地形上绘制的树木,将从预物体中继承公告板阴影选项。
你可以使用BillboardRenderer.shadowCastingMode和BillboardRenderer.receiveShadows在运行时来改变这些选项。
须知:如其它任何渲染器一样,在使用延迟渲染时,接收阴影选项没有效果;公告板将总是以延迟方式接收阴影。
在5.3中的性能提升
在5.3中公告板批处理性能被提升了。多核被用于处理动态的公告板批处理代码。
批处理逻辑被简化。现在一个批处理绘制一类公告板,因为在现实世界情形下,公告板很难共享同一个批处理。具体改变请参考SpeedTreeBillboard.shader。如果你有自定义的公告板着色器,根据之前的说法,你可能需要修改你的着色器。
**************************************
来自 <http://write.blog.csdn.net/postedit/53085283?ticket=ST-276439-cKO6fcAL6FhYLcfn7PQA-passport.csdn.net>