- 博客(25)
- 收藏
- 关注
原创 DA项目技术小结
最近一直在忙的项目终于要在海外进行付费测试了,抽空小结一下用到的技术要点。项目是基于Unity Tilemap-Isometric的2D休闲养成游戏,场景装饰物是Sprite和Spine,角色则是3D的。1. 地图地表采用了类似《魔兽争霸》的地表纹理八方向自动拼接方式,产品可以直接通过画刷进行绘制而不用手动处理拐角问题。效果和算法参考了:https://www.cnblogs.com/si...
2020-04-04 23:35:00 805 1
原创 《部落冲突》英雄角色的渲染方式
部落冲突的建筑、地面和小兵都是2D的序列帧,英雄采用3D渲染到RenderTexture的方式,以便和2D的环境进行正常的遮挡关系。最终效果图:抓帧证明:...
2019-12-28 11:26:52 1354
原创 在Unity中复刻《海岛奇兵》海水渲染
周末花了一天时间在Unity中复刻了一下《海岛奇兵》海岛场景海水的渲染效果,先上目前复刻的效果图:总体上还原了海水深度、海面波光、海水流动、海岸泡沫的效果。复刻的思路其实就是拿Adreno Profiler、SnapDragon和Intel GPA进行抓帧,随后分析渲染用到的Shader、uniform参数。记录一些踩到的坑:AdrenoProfiler极容易报错,但是抓到的R...
2019-08-26 01:00:29 2369 1
原创 Unity序列化文件到底是如何关联MonoBehaviour的
我们知道Unity序列化文件的格式是YAML,在Inspector面板上可以拖拽的脚本、资源会被视为引用。以下YAML语句描述了一条对资源的引用:{fileID: -1155515603, guid: 7f2f46c0507666e498f75cc4d6f91a07, type: 3}打包后,GUID是一个32长度的string,Runtime进行处理时速度较慢,因此会被转换为int64...
2019-07-03 23:25:57 2404 2
原创 IL2Cpp简易加密方法
Mono作为backend的时代,破解总的来说还是容易的:修改libmono.so :从内存动态搜素dll特征值动态dump 混淆Dll:dnspy作者的de4net可以反混淆大部分混淆器 修改Dll的PE结构(腾讯MTP):可以用XPose抓取Dll主体配合一些工具修复PE头 动态解密Dll Method(网易易盾):这一招最狠,每次只能Dump一部分Method实现,除非分析解密的s...
2019-06-24 18:38:10 11668 3
原创 Unity中使用ProtoBuf-net的正确姿势
三个核心问题选用哪个版本?为什么不选择Google.ProtoBuf?能否支持IL2CPP的AOT?使用Dll还是使用源码?问题一:选用哪个版本?为什么不选择Google.ProtoBuf?选择最新版本,但是要手动编译源码。不使用Precomplie,主要原因是Precomplie目前只支持Windows系统,Mac出包机无法使用,打断了自动化流程。Protobuf-net...
2019-03-28 17:26:48 3782 1
原创 Unity 新型Android SDK打包三则
一. Android Studio3.3以上版本 如果SDK使用了Android 3.3版本,gradle版本可能要求升级为4.x版本,而Android Plugin版本会要求了3.x版本,示例:com.android.tools.build:gradle:3.2.1,而Unity2017.4.1f1内置的gradle插件版本仅为4.0.1,Android Plugin版本位2.3...
2019-02-24 16:23:04 1180
原创 尝试清理Prefab中冗余的内容
整理项目特效Prefab时发现Prefab特别大,一个包含几十个ParticleSystem的Prefab大小竟然达到了1MB(项目采用了ForceText模式),怀疑是ParticleSystem的序列化字段太多,于是创建一个空ParticleSystem生成Prefab,发现竟然有80KB那么大,和预想中的一样。用Sublime打开Prefab进行研究分析,发现ParticleSystem...
2018-08-05 20:18:16 1706
原创 浅谈Unity的资源管理系统
一. 外部资源的导入外部导入的资源主要有图片、模型(可能包含动画)、音频等。每种类型的文件都有很多种类型,如图片有png、psd、jpeg、tga等,当导入这些文件的时候Unity会将其处理问自己的数据格式YAML,保存在Library下面,同时在Assets下面在该资源文件的位置生成meta文件,记录其GUID和一些设置信息,如FBX文件的设置、图片导入后用户配置的Sprite的信息。含有子资源...
2018-04-13 01:32:32 2454 1
原创 彻底解决IL2CPP 开启Strip Engine Code选项后带来的崩溃问题
IL2CPP根据C#生成的Cpp代码行数巨大,达到百万行级别,进而引起iOS平台可执行文件超过60MB的问题。因此在适当的时候有必要对UnityEngine下的代码进行Strip。但是这样做容易带来如下的问题...
2018-01-26 01:22:48 13281 2
原创 Optimized GameObject时到底发生了什么
Optimize前后生成的prefab结点数量发生了明显的变化,容易让人误以为骨骼空结点只是展示看的,但是如果直接删除空结点就会发现蒙皮动画出现错误。所以问题就是, Optimize的时候发生了什么?Unity做了什么修改?
2018-01-11 14:35:19 1993
原创 Unity手游《梦间集》黑盒技术浅析
重庆完美世界前几天公测了一款女性向的《梦间集》武侠手游,据说画质和游戏性相当不错,战斗模式居然不是流行的卡牌和回合制,而是传统的SLG,这对喜欢玩三国志曹操传的我有很大的吸引力,下午下载玩了下,感觉蛮不错的,JP/CN双语音 + 二次元飘逸帅哥美女(当然是帅哥比较多)......
2017-07-30 00:57:12 2080 3
原创 ILSpy反编译Unity协程
问题分析直接用ILSpy或类似工具反编译出的C#脚本里协程和编写时明显不同:无参数协程示例:private IEnumerator startCt_result(){ ScGame.c__IteratorE c__IteratorE = new ScGame.c__IteratorE(); c__IteratorE.<>f__this = this; retu
2017-03-30 01:18:23 4252
原创 Unity Android平台下插件/SDK开发通用流程
本文主要面向对Android开发不甚了解的Unity开发者,介绍了基于最新的Android Studio的标准Android开发环境与项目结构的配置流程,在此基础上,开发者可以快速的进行SDK的接入与插件的开发。
2017-03-24 13:06:42 17145 23
原创 Unity Android平台接入支付宝SDK
最近帮一个群里的朋友接了一下支付宝的SDK,开发环境是Unity 5.4.x + Android Studio2.3版本,最终Android Studio输出的文件格式是aar而不是之前的jar,鉴于网上的文章大多数是基于Eclipse + jar包,所以记录一下基于Android Studio进行开发的过程,供大家参考。
2017-03-18 15:07:42 19725 24
原创 Unity Editor编辑器外观Shader修改
本文介绍了Unity的一个隐藏的特殊技巧,通过修改Unity编辑器相关的Shader来修改编辑器的外观。
2017-03-04 20:37:58 2809
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人