《转载》在unity中复杂的材质球是怎么制作
1是直接在max等工具里联结好,贴上同一材质再导进来,这方法固然好却不灵活,而且通常不实用,因为项目里大量同一材质的东西都是unity系统的树啊花花草草啊石头等。
2、就是在unity里再联结,这个要怎么做呢,其实也挺简单的,经常看Island Demo项目的人应该很早就注意到里面的石头这些都是连在一起的,原因就在这里,他提供了现成就脚本实现联结。
先到Island Demo的Assets/Script下找到CombineChildren.cs和MeshCombineUtility.cs两个脚本复制到自己的项目文件(我们要用的只是前者,但他会调用后者,没有后者unity会报错,所以把后者扔到项目里不管就好。
然后把你项目里那些用同一Materials的东西扔到一个空物体里面去,再把CombineChildren.cs贴到那个空物体上,
下面,我们来看看这个神奇的脚本帮我们做了什么工作,运行游戏之前,Island Demo就是按上述方法做了个_RocksCombined的东西,上面只贴着这个脚本,他里面全是岛上个一块块小石头,用的是同一个Materials运行游戏后,神奇的事情发生了。
这个_RocksCombined上面出现了一个Combined Mesh,并带有他里面石头的Material,他里面的小石头的MeshRenderer的钩都自动去掉了,即被disable了。
这就是这个脚本自动帮我们做的优化方法,实现了对同材质物体的联结,从而降低了系统开销。
源自:http://xiaowu877088934.lofter.com/post/1d3f0a94_74f782d
http://26633599.blog.hexun.com/100402401_d.html
http://www.xici.net/d218152277.htm
http://www.siluyouxi.com/game/code/u3d/286.html
2、就是在unity里再联结,这个要怎么做呢,其实也挺简单的,经常看Island Demo项目的人应该很早就注意到里面的石头这些都是连在一起的,原因就在这里,他提供了现成就脚本实现联结。
先到Island Demo的Assets/Script下找到CombineChildren.cs和MeshCombineUtility.cs两个脚本复制到自己的项目文件(我们要用的只是前者,但他会调用后者,没有后者unity会报错,所以把后者扔到项目里不管就好。
然后把你项目里那些用同一Materials的东西扔到一个空物体里面去,再把CombineChildren.cs贴到那个空物体上,
下面,我们来看看这个神奇的脚本帮我们做了什么工作,运行游戏之前,Island Demo就是按上述方法做了个_RocksCombined的东西,上面只贴着这个脚本,他里面全是岛上个一块块小石头,用的是同一个Materials运行游戏后,神奇的事情发生了。
这个_RocksCombined上面出现了一个Combined Mesh,并带有他里面石头的Material,他里面的小石头的MeshRenderer的钩都自动去掉了,即被disable了。
这就是这个脚本自动帮我们做的优化方法,实现了对同材质物体的联结,从而降低了系统开销。
源自:http://xiaowu877088934.lofter.com/post/1d3f0a94_74f782d
http://26633599.blog.hexun.com/100402401_d.html
http://www.xici.net/d218152277.htm
http://www.siluyouxi.com/game/code/u3d/286.html
还没人转发这篇日记