Unity图片优化

Unity大部分素材都来源于贴图,优化好贴图基本上性能可以提升很多。(4K视频除外)

打图集

官方有自带的打图集,不过并不是很好用,TexturePacker插件功能强大,可以使用这个进行优化
我们用这个大佬的4.8.1破解版
https://gitee.com/healthyZ/HealthyResource/tree/master/%E5%9B%BE%E9%9B%86%E6%89%93%E5%8C%85%E5%B7%A5%E5%85%B7/4.8.1

image.png

这两个
下载完毕后
安装
image.png

这个安装很简单
找到安装目录替换exe
image.png

image.png

打开


image.png

会报错一次 然后再开一次不报错了
点击打开就破解完毕了


image.png

进入有个框提示更新,点X不然白破解了
然后点击Unity图标,是导出是Unity格式

这个导入Unity,自己在来点贴图素材来练习


image.png

然后打开exe 整个需要打一张图集的贴图拖进来

image.png

这个是Unity打完后的格式
image.png

然后参数官方文档有详细的
https://www.codeandweb.com/texturepacker/documentation/texture-settings
这个是图片格式
image.png

下面是算法 ,这两个是多边形算法 也就调整一下图集最大1024 其他都默认
image.png

然后直接选择打出图集路径


image.png
image.png

左下角可以根据参数看我们打成的大小


image.png

这个勾上可以看就是我们算法所计算的范围


image.png

多边形裁剪透明区域
image.png

点击导出
image.png

因为我们之前导入的package 他会自动帮我们分割


image.png
/**
 *Copyright(C) 2019 by #COMPANY#
 *All rights reserved.
 *FileName:     #SCRIPTFULLNAME#
 *Author:       #AUTHOR#
 *Version:      #VERSION#
 *UnityVersion:#UNITYVERSION#
 *Date:         #DATE#
 *Description:   
 *History:
*/
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Test : MonoBehaviour
{
    public Image image;
    // Use this for initialization
    void Start()
    {
        var sps = LoadAssets("Texture/Atlas/Packages/PackageAtlas");
        image.sprite = sps["10LVstaff"];
    }

    Dictionary<string, Sprite> LoadAssets(string path)
    {
        Sprite[] sprites = Resources.LoadAll<Sprite>(path);
        //官方推荐
        Dictionary<string, Sprite> sps = new Dictionary<string, Sprite>();
        foreach (var item in sprites)
        {
            sps.Add(item.name, item);
        }
        return sps;
    }
    //这个是AB包加载官方给出的伪代码
    //AssetBundle bundle = AssetBundle.LoadFromFile("Assets/AssetBundles/MyBundle");
    //if (bundle != null)
    //{
    //    Sprite[] sprites = bundle.LoadAssetWithSubAssets("MySpriteSheet");
    //    ...
    //}
}

这样就是不能每次都加载一张大的图集,加载完当缓存以后用到用字典取出,用空间换时间
然后就加载出来了


image.png

也可以封装的跟resource.load一样 就是每次加载判断下图集是否加载了加载了就不加载直接取这样
不打包一张25K 一共12张 3000K


image.png

打完好像变多了,因为下面透明部分过多吧
image.png

打开TexturePacker点击详细参数
image.png

这个93这一行是多边形复杂程度,值越高线越少


image.png

这个模式选其他两个都可以
image.png

这边是压缩率相比之前不打图集
image.png

人后就是一张小图了
image.png

直接小了一大截 不过记住不要覆盖要把之前的图集删掉重新导入,不然不会帮你自动分割
image.png

设置图片格式

也就是点击图片的这个面板


image.png

点击这个可以选择压缩格式


image.png

这个是别人测试手机端最好的格式
image.png

然而PC端别人说是好像默认的就挺好

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容