03 2018 档案

摘要:引言 shader到底是干什么用的?shader的工作原理是什么? 其实当我们对这个问题还很懵懂的时候,就已经开始急不可耐的要四处搜寻有关shader的资料,恨不得立刻上手写一个出来。但看了一些资料甚至看了不少cg的语法之后,我们还是很迷茫,UNITY_MATRIX_MVP到底是个什么矩阵?它和v. 阅读全文
posted @ 2018-03-28 20:36 oayx 阅读(529) 评论(0) 推荐(0) 编辑
摘要:一.简介 今天来学习一下后处理中比较常用的一种效果,屏幕模糊效果。模糊效果,在图像处理中经常用到,Photoshop中也有类似的滤镜。我们在游戏中也会经常用到。因为屏幕模糊效果是一些高级后处理效果的基础,比如景深等效果都需要用屏幕模糊效果来实现,所以我们首先看一下屏幕模糊效果,然后通过屏幕模糊,进一 阅读全文
posted @ 2018-03-28 19:55 oayx 阅读(955) 评论(0) 推荐(0) 编辑
摘要:一.简介 上一篇文章学习了模糊的原理以及基本的模糊实现,对于清晰和模糊这个定义感觉还是比较说明问题,这里再贴出一下:“清晰的图片,各个像素之间会有明显的过渡,而如果各个像素之间的差距不是很大,那么图像就会模糊了”。鉴于这个定义,我们就可以通过代码来实现模糊的效果。上一篇Unity Shader-后处 阅读全文
posted @ 2018-03-28 19:53 oayx 阅读(3205) 评论(0) 推荐(0) 编辑
摘要:一.简介 今天来学习一下全屏Bloom效果,有时候也叫Glow效果,中文一般叫做“全屏泛光”,这是一种可以模拟出HDR的全屏后处理效果,但是实现原理与HDR相差很远,效果比HDR差一些,但是比HDR的性能要节省很多。这篇文章里我们只是实现了一版基于全屏颜色遮罩的Bloom处理,具体针对某个对象进行B 阅读全文
posted @ 2018-03-28 17:43 oayx 阅读(3036) 评论(0) 推荐(0) 编辑
摘要:在渲染阶段,引擎所做的工作是把所有场景中的对象按照一定的策略(顺序)进行渲染。最早的是画家算法,顾名思义,就是像画家画画一样,先画后面的物体,如果前面还有物体,那么就用前面的物体把物体覆盖掉,不过这种方式由于排序是针对物体来排序的,而物体之间也可能有重叠,所以效果并不好。所以目前更加常用的方式是z- 阅读全文
posted @ 2018-03-28 17:31 oayx 阅读(1395) 评论(1) 推荐(1) 编辑
摘要:霍夫曼编码(Huffman Coding)是一种编码方法,霍夫曼编码是可变字长编码(VLC)的一种。 霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码,这便使编码 阅读全文
posted @ 2018-03-28 10:35 oayx 阅读(1298) 评论(1) 推荐(0) 编辑
摘要:如今已经大获市场成功的《王者荣耀》一直是业内各方关注的对象,而我们也知道这款产品在成为国民级游戏之前,也遇到过一段鲜有人知的调优期。也就是在2015年8月18号正式不删档测试版本推出之后,被腾讯评级为不达六星之后的时间。 据了解,在8月之后的两个月间,《王者荣耀》技术团队对这个产品进行了非常深度的优 阅读全文
posted @ 2018-03-27 23:52 oayx 阅读(757) 评论(0) 推荐(0) 编辑
摘要:引言 帧同步的形式很泛,根据不同游戏,使用的技术范围又不一样,所以大家都在讲方法论,要全面覆盖可能需要较大的篇幅,所以,我简单描述下。 假定大家对帧同步和状态同步有一定的认识,理论上的问题,我就不作过多解释了。 大家都知道,帧同步的核心是一致性,通过一致性的算法,使得各端输入一致的情形下,输出也是一 阅读全文
posted @ 2018-03-27 23:27 oayx 阅读(4534) 评论(0) 推荐(0) 编辑
摘要:6、双端队列deque 所谓的deque是”double ended queue”的缩写,双端队列不论在尾部或头部插入元素,都十分迅速。而在中间插入元素则会比较费时,因为必须移动中间其他的元素。双端队列是一种随机访问的数据类型,提供了在序列两端快速插入和删除操作的功能,它可以在需要的时候改变自身大小 阅读全文
posted @ 2018-03-27 17:17 oayx 阅读(448) 评论(0) 推荐(0) 编辑
摘要:我们公司的一个 MMORPG 项目最近在内存方面碰到了红线,昨天开会讨论了一下。我提出了一个改进方案,写篇 blog 记录一下。 问题是这样的。在当下的手机及平板硬件设备条件下,操作系统留给应用的可用内存并不多,大约只有 500M 左右。 和 PC 环境不同,手机上是交换分区的机制来对应一些临时突发 阅读全文
posted @ 2018-03-27 09:46 oayx 阅读(1058) 评论(0) 推荐(0) 编辑
摘要:在对内存泄漏有一个基本印象之后,我们再来看一下在特定环境——Unity下的内存泄漏。大家都知道,游戏程序由代码和资源两部分组成,Unity下的内存泄漏也主要分为代码侧的泄漏和资源侧的泄漏,当然,资源侧的泄漏也是因为在代码中对资源的不合理引用引起的。 代码中的泄漏 – Mono内存泄漏 熟悉Unity 阅读全文
posted @ 2018-03-25 10:34 oayx 阅读(5334) 评论(0) 推荐(0) 编辑
摘要:什么是HDR? 谈论游戏画面时常说的HDR到底是什么呢?HDR,本身是High-Dynamic Range(高动态范围)的缩写,这本来是一个CG概念。HDR的含义,简单说,就是超越普通的光照的颜色和强度的光照。计算机在表示图象的时候是用8bit(256)级或16bit(65536)级来区分图象的亮度 阅读全文
posted @ 2018-03-24 18:15 oayx 阅读(1139) 评论(0) 推荐(0) 编辑
摘要:UGUI的原理则是,让开发者彻底模糊图集的概念,让开发者不要去关心自己的图集。做界面的时候只用小图,而在最终打包的时候unity才会把你的小图和并在一张大的图集里面。Editor->Project Settings 下面有sprite packer的模式。Disabled表示不启用它,Enabled 阅读全文
posted @ 2018-03-24 14:51 oayx 阅读(1608) 评论(0) 推荐(0) 编辑
摘要:词法定界:当一个函数内嵌套另一个函数的时候,内函数可以访问外部函数的局部变量,这种特征叫做词法定界 第一类值:lua当中函数是一个值,他可以存在变量中,可以作为函数参数,可以作为返回值 闭包:通过调用含有一个内部函数加上该外部函数持有的外部局部变量(upvalue)的外部函数(就是工厂)产生的一个实 阅读全文
posted @ 2018-03-24 10:23 oayx 阅读(551) 评论(0) 推荐(0) 编辑
摘要:Unity的协程使用起来比较方便,但是由于其封装和隐藏了太多细节,使其看起来比较神秘。比如协程是否是真正的异步执行?协程与线程到底是什么关系?本文将从语义角度来分析隐藏在协程背后的原理,并使用C++来实现一个简单的协程,以揭开协程的神秘面纱。(文内代码为截图,可点击放大查看。) 一、什么是协程 简单 阅读全文
posted @ 2018-03-24 10:17 oayx 阅读(320) 评论(0) 推荐(0) 编辑
摘要:“Unity3D导入3DMax制作的模型存在100倍缩放比例”,各Unity3D开发者基本都听过吧。 怎么保证3DMax中制作的1m导入Unity3D后还是1m? 3DMax单位设置 英文版 中文版 按如上单位设置后,每个格子是0.1m的大小。要制作一个1m的模型得占10个格子,如下为一个边长1m的 阅读全文
posted @ 2018-03-10 10:00 oayx 阅读(703) 评论(0) 推荐(0) 编辑
摘要:http://mp.weixin.qq.com/s/0v0EU79Q6rFafrh8ptlmhw 在Unite 2017 Shanghai案例分享专场,来自蓝港互动《闹闹天宫》项目组的主程序陈实为大家分享了MOBA游戏里的网络同步技术,总结了使用Unity开发MOBA类型游戏在网络同步上可能遇到的问 阅读全文
posted @ 2018-03-09 14:48 oayx 阅读(1053) 评论(0) 推荐(0) 编辑
摘要:音源组件(AudioSource) 音源是场景中在某个位置的发声装置,好像一个喇叭。它播放着音频片段 (Audio Clip)。 发出的声音将输出到声音监听器(audio listener),或者声音混淆器(audio mixer)。稍后再说混淆器,一般相机会默认自带一个AudioListener组 阅读全文
posted @ 2018-03-05 12:02 oayx 阅读(743) 评论(0) 推荐(0) 编辑