- 博客(13)
- 收藏
- 关注
转载 ETC1资源详解
本来以为,ETC1作为Android 设备的OpenGL标准,开源且最常用的的一种压缩纹理格式,总会有人去翻译一下khronos的文档,读一下代码,给大家作个普及的,不料就是搜不到。没办法,尽管英文不好,还是硬啃了下文档,把 ETC1压缩纹理的实现原理弄清楚了。https://www.khronos.org/registry/gles/extensions/OES/OES_compressed_ETC1_RGB8_texture.txt至于什么是压缩纹理,如何使用,可以参考:http://blog.cs
2021-11-10 13:48:56
461
原创 Lua 面向对象之——多重继承
local function search(k,plist) --获取父类中的值 for i=1 ,#plist do local v = plist[i][k] if v then return v end endendfunction createClass(...) --创建继承关系 local c = {} --新类 local parents= {...} --父类列表...
2021-02-01 15:24:21
351
转载 Unity内存管理
转自:https://www.cnblogs.com/zsb517/p/5724908.htmlUnity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大。 Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时 动态加载,可以指定路径和...
2020-05-02 10:03:05
499
原创 UGUI优化:批次合并源码分析及工具
1.概述本文档对Unity GUI 批次合并(Batching)源码(基于Unity 4.6版本源码)进行研究,总结UGUI Batching的规则,并提供UI优化建议,以及UI层级显示辅助工具使用说明。2.UGUI Batching规则分析UGUI以Canvas为单位进行批次生成和渲染,Canvas可以嵌套包含Canvas。Batching的生成和合并在canva...
2020-05-02 08:54:30
510
原创 设计模式——状态模式
状态模式状态模式是对有限状态机的一种简化 有限状态机学习链接(http://blog.youkuaiyun.com/scl_unity3d/article/details/78785334)在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 State
2017-12-17 10:33:21
899
原创 设计模式——单例模式(最常用)
单例模式:单利模式是最长用的设计模式:在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。显然单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。public
2017-12-16 12:39:13
874
原创 设计模式——享元模式
享元模式:该模式是比较简单的模式 其作用是把某一单元(比如怪物的熟悉啊,装备的属性)等拥有共同的信息的东西共享给需要使用的人 也就是 多人共享一个属性(这里的属性必须是不可变的属性 比如:名字,最大生命等)这样,在敌人比较多的时候(或者其他属性相同的对象)就可以节省出来很多内存。所以在游戏内存优化的时候还是有必要使用的。下面我们看下该模式的设计图:这样 所有敌人都 持有敌人
2017-12-16 11:34:26
1398
原创 有限状态机的构造和详细解析
有限状态机:关于有限状态机的定义是状态机在状态发生改变的时候 下一状态不仅和当前状态有关 还输入(在下面我们将的里面就是当前状态里的判断要转换的方法里面所执行的判断)有关。在游戏中 有限状态机的应用很广泛,不仅实用于所有的角色,怪物中,甚至UI,场景都可以使用有限状态机来进行管理;有限状态机的设计核心:有限制状态机设计的时候最核心的原则就是 单一职责原则 和里氏替换原则【不
2017-12-12 19:47:14
2719
原创 浅谈游戏中的位置判断——点乘+叉乘
首先我们先看下什么是点乘和叉乘点乘,也叫向量的内积、数量积。顾名思义,求下来的结果是一个数。向量a·向量b=|a||b|cos由于|a|和|b|都是正数,所以结果的正负是由于cos这部分决定的 由上图可以看出当角度在0-π/2之间时cos正值 在π/2-π之间是正值;所以由此我们可以根据这个结果判断物体之间的相对位置当像个向量的点乘结果为正的时
2017-12-11 22:04:19
2928
2
原创 浅谈对象池技术在游戏中的应用
说到做游戏,游戏的优化就至关重要,今天所说的就是关于游戏优化的一种方式——对象池技术。对象池技术的主要应用于游戏中反复利用的游戏资源(比如:子弹,技能特效,怪物等等)对象池的具体思想:将使用过的资源(会反复利用的)存储到池子中,下次需要的时候直接去池子中取出来。第一步:构建对象池using System.Collections;using System.Colle
2017-12-10 11:18:17
2202
原创 快速排序 从理解到掌握
首先我们先来看下快速排序算法的原理:【1】从数组中取得一个“标志数字”(没有要求,可以随便取,一般取第一个);定义两个位置变量 “i” ,“j” ;“i” 左边找大于等于“标志数字”的数 ,“i”从右边找小于等于“标志数字”的数;找到后两者交换位置【2】直到以该数字为标志, 实现该数字的左边都是小于等于该数字的数,右边都是大于等于该数字的数【3】然后对该标志位左边和右边的部分
2017-12-09 11:25:32
1006
原创 关于A*寻路在Unity3D里面的简单应用
这是A Star寻路算法在Unity中的一个简单的小应用 运行注意: 在运行测试的时候 请将Cube的Scale设置成(0.9,0.9,0.9) 在运行的时候 行列尽量设置的小点 不要超过35 (我设置40*40(1600个盒子)已经报出内存缓存不够的错误)
2017-12-07 17:30:58
1185
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人