- 博客(25)
- 资源 (1)
- 收藏
- 关注
原创 设计模式3.Template Method(模板方法)
源码地址 https://github.com/sadgeminids/TemplateMethodLearning 设计模式目的:模板方法,在父类中定义好算法步骤顺序,将算法中的某一具体部分延迟到子类中实现,使得可以在不改变算法的前提下,将体重特定的部分改变实现。 XML类图: 模式核心概述:从模式描述中就能知道,模板方法模式的类图很简单,仅涉及到父类和子类。...
2018-10-02 22:41:17
453
原创 设计模式2.Adapter模式
源码地址 https://github.com/sadgeminids/AdapterLearning 设计模式目的:适配类,使得类可以作用于需要另一个类型或者接口的场景。用通俗一点的话描述就是:你有一个A,但是某个地方需要使用B,Adapter可以帮助你把A包装成B。举个生活中的类似场景:假如你手机是IOS的,你去朋友家,他只有安卓充电线;这个时候就需要一个转换头,将安卓的接...
2018-09-20 13:41:54
222
原创 设计模式1. Iterator模式
源码地址https://github.com/sadgeminids/IteratorLearning 设计模式目的:为一个集合类提供遍历元素的功能,并且不暴露过多类的内部细节给使用者,尽量降低类编写者和使用者的耦合。用通俗一点的话描述就是:想要对A遍历,A会给你一个B,然后B会告诉你怎么去遍历A。 UML图(扒自 图解设计模式):模式核心概述:1.接口Aggr...
2018-09-14 23:45:02
304
原创 Attribute实用详解
老实讲,Attribute又是一个很早以前就接触到的东西,但当时看了很多网上讲解仍是一知半解。用了Unity后,看到很多诸如MenuItem、ContextMenuItem的特性,还是没有太过在意。直到之前项目写编辑器,以及最近项目在运行时代码中大量使用Attribute,又细细研究了一番,发觉这玩意儿作用挺大的,值得好好研究。介于网上有很多讲解文章,这里就不在详述Attribute到底是个什...
2018-09-06 23:55:16
1127
原创 三十而立
今年已经三十了。古语云三十而立,这个人生关键点早就让我开始更细致地去思考未来。况且现在宝宝马上满周岁,家庭的职责也让我肩上的执着更重,不再是几年前那种随性而为,想如何就如何的潇洒状态。上周刚入职了一个国内顶尖的团队。这段时间通过研究代码,接触团队成员感觉到自己还是有很多不足。回想之前,从毕业到现在,工作已经8年了,在开发这条路上,也算颇为曲折。有过怀疑,有过沮丧,有过好奇,有过开心,唯...
2018-08-22 00:50:43
3222
原创 StopAllCoroutines二三事
序刚学习Unity的时候,总会不时看到文章说合理使用协程(Coroutine)能更好实现一些功能。今天不说怎么使用协程,相信网上已经有非常多的资料了,重点分析的目标是当初从未上心的一个函数StopAllCoroutines。1.函数意义第一眼看到函数名的时候,很有迷惑性。Stop All?!乖乖,这个函数有点霸道啊,直接就停掉所有的协程,这岂不是会停掉一些我不想停掉的协程呢?算了,这种...
2018-08-22 00:25:51
5983
1
原创 Unity5.0 AssetBundle 学习心得
首先,发下参考链接,阿赵的博客,写得很好: 再详细的介绍一下Unity5的AssetBundle 以及 Unity5的AssetBundle的一点使用心得 阿赵文中写过: “先来说说最多人关心的问题,Unity自己处理依赖关系。 实际上来说,所有需要打包成AssetBundle的资源,你是要先赋予它一个assetBundleName的,在它
2016-05-04 20:39:30
3335
原创 Unity3d导出Xcode各种问题总结
最近两天,在尝试导出Unity项目到Xcode,遇到了很多问题,这里把尝试解决的方式发出来,如果有不对的,欢迎大家指正。这篇博客首发在游戏蛮牛,原谅我懒得重新上图来。导出ios遇见的各种问题1.could not find developer disk image这个问题是Xcode不支持某个ios版本,查看你要调试的真机或者模拟器ios的版本,再到/Appli
2016-03-12 14:14:47
8362
原创 Unity3D系列2:Input.GetButtonDown没有正确响应
缘起 之前在游戏主城中做了个很简单的功能,点击某些建筑会有高亮效果。最近突然发现不好使了,偶尔会响应一次,但效果也缺失了一半。 最开始以为是建筑的包围盒出问题了,一想也不对,如果是这个原因,应该一直不出效果而不是偶尔正常。写了点日志,发现Input.GetButtonDown居然没有正常响应,瞬间就不淡定了。镜花水月 最近也没有更新Unity版本,问题必然还在自身。纠结了很久,查看调用
2015-10-22 11:52:29
10845
7
原创 Unity3D系列1 : foreach对于性能到底有没有影响
0x00 序言本文无意比较for和foreach谁效率更高,不会设计到for和foreach取值之类的等等。单纯探讨foreach会不会影响unity3d效率。事情开端是这样的,之前在看unity优化的时候,遇见了这么一句:尽量不要使用foreach,而是使用for。foreach其实会涉及到迭代器的使用,而据传说每一次循环所产生的迭代器会带来24 Bytes的垃圾。那么循环10次就是240Byte
2015-08-13 10:33:27
6796
1
转载 游戏中的战争迷雾
转载链接:http://blog.youkuaiyun.com/xoyojank/article/details/12259161说到战争迷雾(Fog of War, FOW), 其实还是非常普遍的一项技术, 在RPG, RTS等游戏中得到了广泛的应用 但是关于这方面的资料非常少, 经常会有人问怎么做, 所以就有了写这篇文章的想法从应用上来说, 有两种:
2015-02-09 19:00:24
1008
转载 切线空间计算
去年做normalmap的时候下载了一个crytek的ppt《Triangle mesh tangent space calculation》。链接地址:http://www.crytek.com/cryengine/presentations/triangle-mesh-tangent-space-calculation由于很多细节ppt上没有标注,直接看代码的时候很多地方都不清楚原理,
2015-01-29 17:23:13
1454
转载 写给笨人的法线贴图原理
我算个笨人吧.笨人以前弄懂一些东西后,讲给笨人听往往更有效.看之前请自行具备图形学关于光照的基础知识. >> world/object space normal map 我们先讲基于世界或模型坐标的法线贴图(world/object space normal map).不常用,但是基础. 首先,请无视你之前google到的所谓通过Photoshop生成法线贴图类似文
2015-01-29 15:58:48
854
转载 深入理解Direct3D9
感觉很有帮助的文章,值得仔细学习。深入理解D3D9对图形程序员来说意义重大,我把以前的一些学习笔记都汇总起来,希望对朋友们有些所帮助,因为是零散笔记,思路很杂,还请包涵。其实只要你能完美理解D3DLOCK、D3DUSAGE、D3DPOOL、LOST DEVICE、QUERY、Present()、BeginScene()、EndScene()等概念,就算是理解D3D9了,
2015-01-26 12:32:37
627
原创 新的一年,新目标
粗略看完了《深入理解计算机系统》,《程序员的自我修养—链接、装载与库》。多多少少学到了很多东西,而且都是偏底层的。要说马上对编码能力有多大提高不见得,但是写代码时开始思考一些更深层次的东西。对于一些问题也有了更本质的了解。 总是想一下就学会所有东西,摊子铺得太过巨大,同时看得书太多了,交杂在一起导致对于每个东西都没有思考太细。 还是应该一步步来,定好目标,稳
2015-01-05 10:44:09
579
转载 [3D基础]投影矩阵的推导
原文链接:http://www.cnblogs.com/effulgent/archive/2008/01/24/1051991.html 转眼我做游戏行业已经八个月了,游戏行业入门门槛低,所以还算学习得比较轻松,总结了当初自己迷惑的几个知识点,本来想写出来给初学者解惑,无赖我是一个懒散的人,一直拖到现在,终于决心白纸黑字的搬到Blog上来,希望大家喜欢。 投影
2014-12-29 12:13:04
698
转载 渲染到纹理(Render To Texture, RTT)详解
渲染到纹理(Render To Texture, RTT)详解RTT是现在很多特效里面都会用到的一项很基本的技术,实现起来很简单,也很重要。但是让人不解的是网上搜索了半天只找到很少的文章说这个事儿,不知道是因为太简单还是因为这项技术已经出现很长时间了。总之我是在摸索这个东西的时候绕了不少弯子。现在把具体的实现方法写下来。 什么是纹理 熟悉DX的兄弟们都知道什么叫
2014-10-30 13:55:34
2576
原创 <DX9随笔>一.顶点色 光照 纹理
看完Frank D. Luna 所著的《Introduction to 3D Game Programming
2014-09-01 11:42:23
1957
原创 使用DXT5纹理作为normalmap提高精度的方法
我们知道游戏中对于3D物体表面细节的表现最重要的还是靠贴图来实现的,那么越是高分辨率越是真彩色的贴图自然表现力也是越强,但是同时带来的问题是所需占用的内存会成倍的上升,而节省内存这一点在目前的游戏中还是非常非常重要的。 所以各个平台上都在使用纹理压缩的技术,让纹理贴图在内存占用和显示效果能达到一个尽可能的平衡。在DirectX中,使用一种叫做DXT的纹理压缩技术,目前这种技术被大部分显卡所支持
2014-08-26 22:52:31
2394
1
原创 [HLSL]关于shader中normalize失效的一个问题
前段时间在公司写光照的时候,遇见个很神奇的BUG跟大家分享下。 我们在使用normalmap的时候,需要将float3的normal压缩成float2的数据,下面是大致代码:float2 encode(float3 normal){ float2 norm = normalize(normal.xy); return norm;}float4 normal(i
2013-12-14 16:05:39
2371
原创 【3D游戏引擎系列】一、渲染流程和坐标转换
一、概述在3D游戏中,真实游戏场景会经过一系列的变化,最终会以2D图片的形式在屏幕中向我们展示出来。这一整个过程就是通常所说的“绘制流水线”,大多数时候称之为“管线”。所谓“固定管线”是指数据进入硬件(GPU)后,使用的是DirectX或者OpenGL内置指令,我们无法去干涉整个流程。而“可编程管线”是指这里面某些环节是我们可控的,我们可以使用GPU指令编写更丰富的内容,达到更好的效果
2013-08-03 11:35:06
1931
原创 "vector iterators incompatible"及一些感想
首先要感谢下这个前辈:http://www.2cto.com/kf/201110/108902.html,是他的帖子给了我方向。 先上一段代码:#include #include class Base{public: std::vector vec; int a;};int main(){ Base base; memset(&
2013-07-20 13:20:17
9006
6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人