您的位置:首页 > 移动开发 > Unity3D

解决SpeedTree模型导入Unity5.0及以上版本问题~

2016-11-08 18:30 555 查看
工具材料准备:

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):
【功能】:

Scalable wind
effects, including Wind Wizard 【1】ST中的风力效果可以直接导入在Unity中使用并且调节一些参数

Seamless LOD tuning

Create unlimited variations with one click

Branch seam blending

Sub-division surface modeling

Add collision primitives automatically or manually

Modeling with mesh forces (e.g. grow trees around or through 3D
meshes)

Sample broadleaf (desktop & mobile resolutions), conifer, palm, and mesh force example trees included

Much more! See our online Modeler documentation for complete details

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

第四步尝试:



第五:预览效果





【完美】。。。。。

做成笔刷



官方演示案例: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。如果你有自定义的公告板着色器,根据之前的说法,你可能需要修改你的着色器。
**************************************
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐