- 博客(17)
- 资源 (12)
- 收藏
- 关注
转载 Unity Shader-死亡溶解效果
游戏里面角色死亡的时候,有很多方式可以表现人物死亡效果。最简单粗暴的,播放完死亡动画直接删除或者直接Y轴逐渐降低,沉到地下;比较好的死亡效果就是今天要研究的这种效果-死亡溶解。个人印象比较深刻的就是《生化危机6》里面的克里斯篇,里面的功夫丧尸挂掉之后都是会有一个类似的死亡溶解效果。不过《生化危机6》这种3A大作的效果肯定不仅仅是一个shader能做出来的,还配合了粒子做出了消散以及着火的效果。...
2018-07-28 18:21:40 819
转载 游戏里的帧同步机制
游戏同步机制在多人对战的游戏中,游戏的每一方客户端需要保持每一个时刻大家的数据是一致的,常见的同步方式分为帧同步和状态同步,帧同步服务器不需要知道游戏逻辑,只是将客户端的操作进行转发,然后客户端自己计算逻辑,状态同步是服务器计算游戏逻辑,并将角色状态返回给客户端,客户端直接使用服务器返回的状态即可。常见的RTS,Moba一般是帧同步,mmorpg一般是状态同步。帧同步的概念总所周知,游...
2018-07-28 10:33:09 2978
转载 Unity热更新之资源的上传与下载
资源的上传打包结束后,我们通过比较打包前和打包后AssetBundle的MD5值是否有变化来判断一个AssetBundle是否需要被更新,如果该AssetBundle的MD5值发生了改变,则我们将这个AssetBundle拷贝到我们的待更新文件夹中。更新文件夹的命名应该为当前的大版本号+资源版本号,这样下载的时候才能找到正确的路径,更新文件夹目录结构如下:UpdateFiles |-...
2018-07-28 10:32:15 1328
转载 Unity热更新之AssetBundle的加载与卸载
unity3d想要从一个AssetBundle里Load出资源,必须将该AssetBundle及该AssetBundle依赖到的其他AssetBundle都先加载到内存中,然后才能从该AssetBundle中Load资源。我们怎么知道一个AssetBundle依赖到了哪些其他的AssetBundle呢,这就需要提一下unity的打包机制。Unity3d调用打包函数BuildPipeline.Bui...
2018-07-28 10:30:05 957
转载 Unity热更新之AssetBundle打包篇
unity3d在5.0之后打包Assetbundle变得比之前简单多了,最简单的办法就是把所有资源都标记Assetbundle的Flag,然后直接调用unity3d的打包Assetbundle即可,详情可参见官方文档。通过标记打包方式的优缺点这种打包方式的优点在于简单,缺点在于不好管理需要需要打包的资源。举例来说就是你必须把所有需要打包的资源都标记上Assetbundle的Flag,(包括...
2018-07-28 10:27:33 1564
转载 游戏大版本更新和热更新
游戏上线后,遇见bug或者需要更新内容(包括资源,玩法,数值调整,游戏脚本等)的时候,一般有2种做法。第一种,发个新包,然后让玩家下载新的版本;第二种,在游戏内更新,游戏启动时去下载需要更新的资源。第一种我们一般称为游戏大版本更新,第二种称为热更新。一般来说,不能通过小版本更新解决的问题,才会用到大版本更新,例如,不可热更的游戏代码。而热更新是建立在每次大版本更新的基础上进行的更新,因此,这2...
2018-07-28 10:26:43 1608 2
转载 【Unity Shader】加载时机和预编译
一、Shader与Shader Variants着色器(Shader)是在GPU上执行的小程序,通常情况下,我们自己写的一个着色器文件(xxx.shader)对应一个着色器变体,对应一个GPU程序。但如果着色器中引入了关键字(Keyword)或者可变的RenderSetup等技术,那么一个着色器文件就可能对应N个着色器变体,对应N个GPU程序。怎样理解这里面的对应关系呢?可以这样简单的认为...
2018-07-19 12:29:15 1702
转载 游戏大版本更新和热更新
游戏上线后,遇见bug或者需要更新内容(包括资源,玩法,数值调整,游戏脚本等)的时候,一般有2种做法。第一种,发个新包,然后让玩家下载新的版本;第二种,在游戏内更新,游戏启动时去下载需要更新的资源。第一种我们一般称为游戏大版本更新,第二种称为热更新。一般来说,不能通过小版本更新解决的问题,才会用到大版本更新,例如,不可热更的游戏代码。而热更新是建立在每次大版本更新的基础上进行的更新,因此,这2...
2018-07-19 11:42:04 3602
转载 改善Unity编辑器对Lua文件的支持
当前版本的Unity(截至Unity5.5.x)中TextAsset类不支持后缀为lua的文件,将lua文件导入到项目中后,其会被识别为类型为DefaultAsset的文件,即不被Unity原生支持。此外在编辑器模式下也无法直接创建lua文件,需要在文件夹中手动进行创建。经过一番探索,简单实现了在编辑器中创建lua文件和预览lua文件的功能。 一.在编辑器下创建Lua文件打开Unit...
2018-07-17 16:51:22 796
转载 unity3d 接入安卓支付宝SDK
操作步骤性这东西,时间长了就难免忘记,以防日后要接的时候再次爬坑目标:导出支付宝插件包(arr包)给UNITY调用主要三大坑: A坑 Android Studio的安装和配置 提示少这少那,但又下载不了 B坑 导出Jar包时总是下载不了需要的文件 C坑 写完了代码 没有企业资质如何测试A坑...
2018-07-14 15:17:22 1539 1
原创 开始Android,Android studio 中部分文件目录的含义与作用
Android studio 中部分文件目录的含义与作用javaMainActivity.java主视图res 资源文件的配置文件layout 布局文件AndroidManifest.xml 核心配置文件只一个程序的配置入口,当我们把project发布到模拟器上执行的时候,模拟器首先会通过该文件读取整个应用的一些信息。=============================分割线=======...
2018-07-14 10:55:21 5354
转载 Unity Shader-非主流纹理采样研究(流光,溶解,隐身效果)
流光效果首先来看一下流光效果。流光效果是一个非常常见的效果,不仅仅是游戏,一些广告之类的也都会有这种效果。流光的原理还是比较简单的:首先就是需要一张流光图,这张流光图的大部分都是黑色,然后有一条亮线,然后我们在采样的时候,最终输出叠加上这张图的采样值,并根据时间调整采样的UV就可以有流光的效果啦。下面是一个比较简单的流光效果实现://流光效果//by:puppet_master//2017.7.2...
2018-07-08 10:56:15 652
转载 Unity手游开发札记——我们是如何使用Lua来开发大型游戏的?(上)
0. 照旧的碎碎念转眼间已经三月了,2月份的博客因为过年的懒惰和开年之后的忙碌而没有写……第二个月就打破了去年总结时对于2018年的愿望,真是羞耻呢……年后在准备新的测试版本,断断续续做了一些优化,更多的精力放在团队的绩效评估、沟通这样偏管理的事物上,说实话技术上可以聊的东西不多。近期看到UWA群里和问答上聊Lua的使用之类的话题比较多,也在看ET这套完全基于C#进行游戏开发的框架中提到——“在发...
2018-07-06 18:03:50 1597
转载 Unity手游开发札记——我们是如何使用Lua来开发大型游戏的?(下)
上一部分的文章聊了一下我对于使用Lua的一些观点,但是核心的内容还是在说如何弥补Lua语言在开发中的不足。一些朋友表示对于观点不敢苟同,我也希望不赞同的朋友可以多讨论,毕竟我也是屁股决定脑袋,在用多这门语言的时候总是觉得很多东西是习惯和顺手的。从心态上说我也是很开放的,比如自己会去关注ET这样纯C#的框架,想看看他们是如何做的,比用Lua好在哪里。本来第二部分的开始计划是想先聊聊如何划分Lua和C...
2018-07-06 18:01:43 935
转载 用好Lua+Unity,让性能飞起来——Lua与C#交互篇
转载自:http://www.cnblogs.com/zwywilliam/p/5999924.htmlhttp://www.cnblogs.com/zwywilliam/p/5999980.html用好lua+unity,让性能飞起来——lua与c#交互篇前言在看了uwa之前发布的《Unity项目常见Lua解决方案性能比较》,决定动手写一篇关于lua+unity方案的性能优化文。整合lua是目前...
2018-07-05 10:36:24 17438
转载 【NGUI源码剖析】NGUI如何优化drawcall数量
引言 接上一篇文章对UIPanel的分析。定量的分析哪些因素会影响NGUI drawcall的增减。 SortWidgets FillAllDrawCalls的部分代码 if (mSortWidgets) SortWidgets(); // 对widgets进行排序 for (int i = 0; i < widgets.Count; ++i) ...
2018-07-02 10:09:15 148
转载 【NGUI源码剖析】NGUI的drawcall
前言 在使用unity3d开发实际的项目中,性能优化一直是一项不得不考虑的重点,而其中UI的优化又是绕不过去的坎,很多看似简单的UI为何会占用大量的cpu开销?本文以NGUI这套UI的解决方案为例,从源码出发,分析影响性能的原因,看清问题的本质,对症下药。NGUI的drawcall 在Unity中,每次引擎准备数据并通知GPU的过程称为一次Draw Call。这一过程是逐个物体进行的,对于每个物体...
2018-07-02 10:08:13 158
Unity5.x打包场景AssetBundle和加载场景
2018-08-18
NGUI 3.7.2
2015-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人