自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 LearnOpenGL系列之一: vs2017 环境搭建

文档:LearnOpenGL CN1. 下载github工程:https://github.com/JoeyDeVries/LearnOpenGL2. 安装CMake:CMake 3. 解压下载的工程压缩包,打开安装后的CMake (cmake-gui) , 工程是使用CMake跨平台编译成 对应工程的,流程如下: 进去配置如下: ...

2021-09-23 20:07:40 290

原创 Bundle加密防止AssetStudio获取资源

做过Unity bundle资源的同学都知道AssetStudio可以轻易的的破解bundle获取到项目里的原始资源,为了防止自己的项目资源被人使用AssetStudio轻易的获取到,上网研究了下可行的Bundle加密方案,总结有以下两种方式:1.使用位的异或运算bundle的字节码去加解密,普及下为什么位的异或运算可以实现加解密,因为1 ^ 0 = 1;0 ^ 0 = 0;所以x ^ 0 = x 可实现数据的保持, 位运算中的异或运算满足交换律,所以B ^ A ^ A = B ^ 0 = B,所以在b

2021-06-06 17:37:38 2053

原创 热更框架xasset bug

本着学习的心态去看前辈Unity资源更新的开源框架,最近在看在github上有1.3k star的项目xasset,确实精简,对于踩过的坑比如循环依赖,资源冗余,引用计数内存管理都处理了,而且有特色的一点是支持Virtual File System(虚拟文件系统)可以防止资源被AS之类的工具提取,对于资源更新新手来说基本可以开箱即用。但是在看更新下载这块代码的时候,发现了一个比较严重的bug,下载管理这块逻辑代码不够严谨会造成下载目标资源出错,在这记录下希望有正在使用xasset框架的人有帮助,相关的bug

2021-03-26 15:09:13 635

原创 Unity 优化包体大小

总结项目优化中两个对包体大小优化比较大的点:动画文件 模型默认材质球一. 动画文件:对于3d项目模型的动作文件占资源大小还是有蛮大的一部分,所以想在不影响美术要求的情况下能不能对动作文件进行优化,在UWA上还真的发现有前辈已经总结了优化的方法(链接就是),总结来说就是两点:1.压缩浮点数精度 2.去除scale曲线。对比前后.anim文件效果如下:对于.anim原始文件的大小还是...

2020-10-10 22:43:18 3431

原创 Unity升级2017支持Google Android64位

为了推动安卓系统运行效率更高的64位,谷歌商店要求开发者2019年8月开始新应用必须提交64位的版本,而已经上架的Unity 5.6或更早版本引擎制作的游戏除外,他们可以只提供32位版本直到2021年8月,到时间点后需提供应用的64位版本。本身项目也在走海外市场,现在项目用的Unity版本是5.6的,所以最近把项目Untiy版本升级,把一些遇到的问题在这里记录下供参考。首先先了解什么是安卓6...

2020-10-10 22:18:18 1715

原创 Android targetSdkVersion使用28遇到的一些问题

最近出安卓包的时候把targetSdkVersion 从26升级到28,出现了用www访问地址的时候出现了报错:java.io.IOException: Cleartext HTTP traffic to xxx not permitted 。原因是Google为保证用户数据和设备的安全,从Android 6.0开始默认使用加密连接Https,非加密连接Http的请求默认将被阻止。解...

2020-10-10 22:18:02 1237

原创 Unity热更新系列之六 Apk打包资源不压缩以及反编译重新打包压缩问题

我们都知道直接用Unity打Apk包的时候会把StreamingAssets目录下的资源拷贝到assets目录下进行打包,资源是不会被压缩的,但是如果我们是导出AS工程出包的话,我们会发现进游戏会明显的卡顿,排查后发现原因就是用AS打包时放在assets目录下bundle文件被压缩了,那AS工程是需要哪里设置,为什么Untiy直接打包就不会有问题呢?首先我们从Unity不同出包方式编辑器设置不...

2020-10-10 22:16:56 2049

原创 Unity编辑器智能辅助工具 钉钉机器人

Unity在打bundle资源和出包的时候总是最烦人的,因为不知道进度条到底什么时候走完,所以得过会就去看下那坑爹的进度条,多次之后总算被耗到没耐心了,能不能发挥下程序员的能力解决下这烦人的问题呢,希望在Unity编辑器下当我们比如打完bundle或出包完时我们能第一时间收到消息,这样就不会在那漫长的等待过程中被消耗耐心。结合钉钉的机器人,我们就能解决这个问题,具体开发文档可以前往钉钉官方查看...

2020-10-10 22:16:35 295

原创 python 爬虫禅道任务自动推送到钉钉

项目管理软件在团队项目开发中是必不可少的,像钉钉自带的星任务,还有禅道等。今天要说的是关于我们项目管理中使用的禅道,因为有时候同事在禅道上面创建了任务,但是被指派的同事并没有实时去刷新禅道,所以被指派的同事经常要过一段时间才真正得知任务,所以想能不能把禅道的一些比如创建任务,解决任务的操作实时同步通知到外部,这样就可以提高团队的办公效率。百度了下禅道确实可以添加机器人,具体操作可以参考该文章确实可...

2020-10-10 22:16:14 1394 1

原创 Unity热更新系列之 大版本更新应用覆盖安装问题

应用版本迭代有时候我们不得不进行大版本升级,让玩家下载最新的包进行覆盖安装掉原来的包,覆盖安装这个动作是操作系统处理的,所以我们要遵循系统规则才能以正确的姿势覆盖掉之前的应用包,这里面有些需要注意的点安卓的覆盖安装涉及到签名以及 versionCode 和 versionName,要正常覆盖安装需要满足以下条件:a.签名一致,即.keystore文件要用同一个。b.versionCode值要比...

2020-10-10 22:15:57 1595

原创 Unity热更新系列之四: 分包工具

为什么要做小包跟分包,因为玩家对包体的大小还是有敏感的,渠道商拿更小的Apk包去做推广时玩家下载的可能性就更高,对于推广成本来说就更低了,通常是要求包体大小在150M以内。做分包的思路还是比较简单的,把玩家前期用到资源提取出来打包的时候放进包体里,而其它剩余部分则放在我们的资源服务器上。那我们就可以写个工具把玩家游戏时用到的bundle资源按时间轴的顺序记录下来,这个代码实现还是比较简单的...

2020-10-10 22:15:19 1658

原创 Unity热更新系列之三: 资源下载更新

资源更新其实可以细分为两种,一种就是小版本迭代之间差异包的资源更新;另外一种比较特殊是分包下载更新,分包是国内安卓市场为了节约推广成本,更有效的推广而形成的一种策略,通常把Apk做成150M以内的小包拿去推广,然后游戏运行时再去下载剩余的资源,即 整包 = 小包 + 分包;这种策略有点类似Google Play使用的Obb方式,Google Play因为限制了上传包体的大小100M,所以需要把应用...

2020-10-10 22:14:58 1371

原创 Unity热更新系列之一: bundle打包和打包策略

资源对于手游来说其重要性是不言而喻的,bundle的打包策略最终影响的是资源的加载以及内存,所以要根据项目的实际情况去平衡你的bundle的粒度和大小。对于粒度,因为项目起初用的是Unity5.3.8的版本,官方工程师的说法是每个Assetbundle文件在Load的时候都会产生 0.5MB的内存来序列化bundle文件,直到Unload掉,后面用高版本5.6.6发现并没有这样的内存开销。对于bu...

2020-10-10 22:14:06 3420 2

原创 Unity热更新系列之二: 资源加载与管理

在设计资源的加载与管理前我们要清楚我们的功能需求以满足实际开发中可能遇到的问题:1.资源必须满足可热更新,所以需要动态更新的资源是不能放在Resources目录下,Resources目录下的资源是内部动态加载用的,打包时系统会自动搜索其目录下资源的依赖资源一同压缩打进包里。正式资源都是通过bundle方式,在StreamingAssets目录下生成好的bundle资源在打包时会被原原本本打进...

2020-10-10 22:12:29 593

原创 Unity之AndroidStudio接入信鸽推送问题

最近接入冰鸟SDK上韩国安卓市场,对方要求接入推送功能,经过评估最终还是选择大厂腾讯的信鸽推送,根据官方SDK接入文档还是很快捷方便的,就是在配置海外通道的时候出现了些问题记录下。gradle:5.1.1compileSdkVersion:28 targetSdkVersion:28 工程gradle配置如下:a)在项目级的build.gradle文件中的dependenc...

2019-07-11 18:39:05 457

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除