美文网首页Unity征服Unity3d首页投稿(暂停使用,暂停投稿)
Unity开发之路上的那些坑(一)2D Sprite占用的Bat

Unity开发之路上的那些坑(一)2D Sprite占用的Bat

作者: LiGoEX | 来源:发表于2016-09-26 16:59 被阅读1488次

    前言

    『Unity开发之路上的那些坑』这个系列将会记录我在Unity游戏开发上遇到的那些坑和解决办法。

    一、问题概述:相同的2D Sprite 却重复占用Batches


    应用场景

    我们的手游项目上要重建一个城市的面貌,其中不可缺的就是树木、路灯等装饰物,为了达到美观和省资源的目的,我们选择了使用2D Sprite代替3D模型的方法。

    看上去很像是3D的吧? 其实是障眼法

    本以为是节省资源的做法,最终却发现CPU占用率非常高。后来发现是因为Batches数量太多,上图的每一个树木2D Sprite都占用了一个Batch!按常理来说,多个相同的物体(静态)会被Unity优化为只占用一个Batch,然而2D Sprite却没有。明显是相同的东西却不能批处理实在奇怪。

    二、解决办法 :图集下的2D Sprite才能批处理

    1、点击你导入的图片文件,进入Inspector界面
    Inspector
    2、如上图所示将Sprite Mode改为Multiple,packing tag随便写,点击Apply应用。
    3、好了,现在你会发现这张图片无法拖进场景了(如果是在拖拽进场景后再设为Multiple的话场景中图片会消失)
    应用后
    4、接下来点击Inspector界面中的Sprite Editor
    Inspector界面
    5、Sprite Editor界面,然后点击左上角的Slice按钮
    Sprite Editor
    6、再点击Slice
    Sprite Editor
    7、会多了一个灰色的框
    Sprite Editor
    8、选择这个框,点击左上角的Trim,应用
    Sprite Editor
    9、然后就多了右边这个tree22_0,这个文件就是我们要拖到场景中的2D Sprite,无论场景中有多少个这个Sprite都只占用一个Batch。问题解决。
    project

    相关文章

      网友评论

      • 空谷清音秀:我点击了Trim怎么不会产生新的Sprite,但是我还能继续往场景里面脱,5.5.4f1,是版本后来改了吗?

      本文标题:Unity开发之路上的那些坑(一)2D Sprite占用的Bat

      本文链接:https://www.haomeiwen.com/subject/ekmqyttx.html