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端别人说是好像默认的就挺好