2 逝水追风

尚未进行身份认证

一名初级Unity程序员

等级
TA的排名 7w+

在Unity中复刻《海岛奇兵》海水渲染

周末花了一天时间在Unity中复刻了一下《海岛奇兵》海岛场景海水的渲染效果,先上目前复刻的效果图:总体上还原了海水深度、海面波光、海水流动、海岸泡沫的效果。复刻的思路其实就是拿AdrenoProfiler、SnapDragon和IntelGPA进行抓帧,随后分析渲染用到的Shader、uniform参数。记录一些踩到的坑:AdrenoProfiler极容易报错,但是抓到的R...

2019-08-26 01:00:29

Unity序列化文件到底是如何关联MonoBehaviour的

我们知道Unity序列化文件的格式是YAML,在Inspector面板上可以拖拽的脚本、资源会被视为引用。以下YAML语句描述了一条对资源的引用:{fileID:-1155515603,guid:7f2f46c0507666e498f75cc4d6f91a07,type:3}打包后,GUID是一个32长度的string,Runtime进行处理时速度较慢,因此会被转换为int64...

2019-07-03 23:25:57

IL2Cpp简易加密方法

Mono作为backend的时代,破解总的来说还是容易的:修改libmono.so:从内存动态搜素dll特征值动态dump 混淆Dll:dnspy作者的de4net可以反混淆大部分混淆器 修改Dll的PE结构(腾讯MTP):可以用XPose抓取Dll主体配合一些工具修复PE头 动态解密DllMethod(网易易盾):这一招最狠,每次只能Dump一部分Method实现,除非分析解密的s...

2019-06-24 18:38:10

IL2Cpp深坑之ThreadPool

继上篇IL2Cpp深坑之WeakReference之后,新坑出炉!

2019-04-05 12:09:43

Unity中使用ProtoBuf-net的正确姿势

三个核心问题选用哪个版本?为什么不选择Google.ProtoBuf?能否支持IL2CPP的AOT?使用Dll还是使用源码?问题一:选用哪个版本?为什么不选择Google.ProtoBuf?选择最新版本,但是要手动编译源码。不使用Precomplie,主要原因是Precomplie目前只支持Windows系统,Mac出包机无法使用,打断了自动化流程。Protobuf-net...

2019-03-28 17:26:48

Unity 新型Android SDK打包三则

一.AndroidStudio3.3以上版本    如果SDK使用了Android3.3版本,gradle版本可能要求升级为4.x版本,而AndroidPlugin版本会要求了3.x版本,示例:com.android.tools.build:gradle:3.2.1,而Unity2017.4.1f1内置的gradle插件版本仅为4.0.1,AndroidPlugin版本位2.3...

2019-02-24 16:23:04

尝试清理Prefab中冗余的内容

整理项目特效Prefab时发现Prefab特别大,一个包含几十个ParticleSystem的Prefab大小竟然达到了1MB(项目采用了ForceText模式),怀疑是ParticleSystem的序列化字段太多,于是创建一个空ParticleSystem生成Prefab,发现竟然有80KB那么大,和预想中的一样。用Sublime打开Prefab进行研究分析,发现ParticleSystem...

2018-08-05 20:18:16

浅谈Unity的资源管理系统

一.外部资源的导入外部导入的资源主要有图片、模型(可能包含动画)、音频等。每种类型的文件都有很多种类型,如图片有png、psd、jpeg、tga等,当导入这些文件的时候Unity会将其处理问自己的数据格式YAML,保存在Library下面,同时在Assets下面在该资源文件的位置生成meta文件,记录其GUID和一些设置信息,如FBX文件的设置、图片导入后用户配置的Sprite的信息。含有子资源...

2018-04-13 01:32:32

彻底解决IL2CPP 开启Strip Engine Code选项后带来的崩溃问题

IL2CPP根据C#生成的Cpp代码行数巨大,达到百万行级别,进而引起iOS平台可执行文件超过60MB的问题。因此在适当的时候有必要对UnityEngine下的代码进行Strip。但是这样做容易带来如下的问题...

2018-01-26 01:22:48

Optimized GameObject时到底发生了什么

Optimize前后生成的prefab结点数量发生了明显的变化,容易让人误以为骨骼空结点只是展示看的,但是如果直接删除空结点就会发现蒙皮动画出现错误。所以问题就是,Optimize的时候发生了什么?Unity做了什么修改?

2018-01-11 14:35:19

Windows下加速SourceTree的方法

优化Windows下SourceTree的卡顿问题。

2017-09-18 22:38:24

【恶搞】如何在Unity正确的使用try-catch

教你如何在Unity中正确的使用try-catch:)

2017-08-18 00:48:05

Unity手游《梦间集》黑盒技术浅析

重庆完美世界前几天公测了一款女性向的《梦间集》武侠手游,据说画质和游戏性相当不错,战斗模式居然不是流行的卡牌和回合制,而是传统的SLG,这对喜欢玩三国志曹操传的我有很大的吸引力,下午下载玩了下,感觉蛮不错的,JP/CN双语音+二次元飘逸帅哥美女(当然是帅哥比较多)......

2017-07-30 00:57:12

使用Vulkan封装一个2D小引擎

简单介绍了一下毕业设计做的基于Vulkan的2D小游戏引擎。

2017-06-07 20:37:24

Vulkan学习小结——框架搭建

Vulkan初步框架的建立,尝试绘制了一个三角形。

2017-05-11 16:50:43

暗黑战神换装系统的实现

一篇对使用Unity开发的手游暗黑战神换装系统的分析。

2017-04-30 13:26:33

ILSpy反编译Unity协程

问题分析直接用ILSpy或类似工具反编译出的C#脚本里协程和编写时明显不同:无参数协程示例:privateIEnumeratorstartCt_result(){ScGame.c__IteratorEc__IteratorE=newScGame.c__IteratorE();c__IteratorE.<>f__this=this;retu

2017-03-30 01:18:23

Unity Android平台下插件/SDK开发通用流程

本文主要面向对Android开发不甚了解的Unity开发者,介绍了基于最新的AndroidStudio的标准Android开发环境与项目结构的配置流程,在此基础上,开发者可以快速的进行SDK的接入与插件的开发。

2017-03-24 13:06:42

Unity Android平台接入支付宝SDK

最近帮一个群里的朋友接了一下支付宝的SDK,开发环境是Unity5.4.x+AndroidStudio2.3版本,最终AndroidStudio输出的文件格式是aar而不是之前的jar,鉴于网上的文章大多数是基于Eclipse+jar包,所以记录一下基于AndroidStudio进行开发的过程,供大家参考。

2017-03-18 15:07:42

改善Unity编辑器对Lua文件的支持

本文介绍了如何在Unity编辑器下实现创建lua和预览lua文件内容的功能。

2017-03-10 18:44:22

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。