自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 Lua 源码学习笔记

1.全局环境_GLua将所有的全局变量保存在一个常规的table中,这个table被称为全局环境,并且将这个table保存在一个全局变量_G中,也就是说在脚本中可以用_G获取这个全局table,并且_G._G 和 _G是等价的,在默认情况,Lua在全局环境_G中添加了标准库比如math、函数比如pairs、print等2.局部环境_ENV编译器在编译所有代码段(chunk)前,在外层创建局部变量_ENV; 编译器将所有自由名称var(无local的变量)翻译为_ENV.var; 通常,_G和_

2021-04-16 16:12:21 469

原创 Unity3D SQLiteDB与LiteDB两种存储方式的性能对比

自言自语:项目太赶,忙于搬砖,好久没来更新了。回顾了一下以前写的/转载的文章,现在再来看,有了更深更透彻的理解了,才发现自己又进步了,继续加油!先上测试结果,单位为ms,因为没有苹果机,这里只测试了PC端与安卓: //SQLite插入测试 for (int i = 0; i < 500; i++) { userRecord.SetRecord("key_" + i,"value_" + i); }

2020-10-10 10:59:25 5448

原创 Lua查找表元素过程(元表、__index方法是如何工作的)

Lua的表本质其实是个类似HashMap的东西,其元素是很多的Key-Value对,如果尝试访问了一个表中并不存在的元素时,就会触发Lua的一套查找机制,也是凭借这个机制来模拟了类似“继承”的行为举例说明:tempTable = {}print(tempTable.memberA) --这里试图打印tempTable并不存在的成员memberA执行结果:nil输出为nil的原因...

2020-04-30 17:39:09 977

转载 什么是Shell?

Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此...

2020-04-18 11:54:42 1162

原创 对Unity3D 静态批处理和动态批处理的理解

Draw Call就是CPU调用图像编程接口,像OpenGL或者 DirectX。简单来说,Draw Call就是由CPU发起的一个命令,添加到一个命令缓冲区,当GPU完成了上一次的渲染任务之后,会从命令缓冲区的命令队列中再取出一个并执行。CPU和GPU并行工作的原理为了CPU和GPU可以并行工作,就需要一个命令缓冲区(Command Buffer)命令缓冲区包含了一个命令队列,由CPU向...

2019-11-25 17:24:58 740

转载 Lua弱表Weak table

转载 Lua弱表Weak table ...

2019-09-28 14:53:47 856

转载 Unity游戏的GC优化

原文:https://unity3d.com/cn/learn/tutorials/topics/performance-optimization/optimizing-garbage-collection-unity-games 引言游戏运行时使用内存来存储数据,当这些数据不再被使用时,存储这些数据的内存被释放以便于之后这些内存可以被复用。垃圾(Garbage )是存储无用数据的内存的术语,...

2019-06-15 12:01:08 377

原创 Lua学习笔记

1.第一类值:lua当中函数是一个值,他可以存在变量中,可以作为函数参数,可以作为返回值2.闭包:通过调用含有一个内部函数加上该外部函数持有的外部局部变量(upvalue)的外部函数(就是工厂)产生的一个实例函数,闭包组成:外部函数+外部函数创建的upvalue+内部函数(闭包函数)3.pairs与ipair的区别:pairs会遍历table的所有键值对;ipairs就是固定地从key值1...

2019-06-15 11:49:21 357 1

转载 对Unity3D C#热更新方案ILRuntime的学习

Unity实现c#热更新方案探究(一) 转载请标明出处:http://www.cnblogs.com/zblade/最近研究了一下如何在unity中实现c#的热更新,对于整个DLL热更新的过程和方案有一个初步的了解,这儿就写下来,便于后续的深入调查和方案选择。一、C# DLL的动态加载和卸载既然要热更新,那么就是动态的加载c#的DLL,所以...

2019-04-11 16:47:22 3864 1

原创 学习笔记——基于Unity3D的Lua热更新

记录最近在学习Lua热更新的过程中遇到的一些坑笔者这里使用的是Slua,关于Lua文件的打包下载和读取,不论是什么Lua框架,应该都是通用的Unity3D加载.lua/.txt文件在Slua官方给出的Demo中,加载的lua文件是.txt后缀,而大多数编辑器只能打开.lua文件,所以需要让Unity3D能够加载.lua文件是必要的一步,否则开发过程中就需要频繁的修改后缀名,非常麻烦,S...

2019-03-28 20:03:24 2050

原创 Unity3D中GPS定位信息及经纬度转换方法

Unity3D官方给开发者提供了定位相关的API,可以在官方文档搜索LocationLocationService1.isEnabledByUser   -- 用户设置里的定位服务是否启用2.lastData   -- 最近一次测量的地理位置  3.status   -- 定位服务的状态(Stopped服务停止,Initializing正在初始化,Running正在运行,Failed用户...

2019-01-15 15:34:32 4231

原创 Unity3D 无限滚动列表

在游戏开发的过程中,会经常用到无限滚动列表做一些界面的展示,像排行榜,房间列表,好友列表,装备列表等等,GitHub有个非常好用的无限滚动列表,这个滚动列表是基于UGUI的,所以需要创建一个UGUI的ScrollRect,再把这个组件挂上去,移除原本的ScrollRect,根据提示赋值,虽然作者没做过多介绍,但是源码可以看得到,清晰明了,大概看下也就会用了,可以根据自己的需求作一些修改。这...

2019-01-09 14:48:28 12044 4

转载 C#多线程

C#多线程 一、基本概念1、进程首先打开任务管理器,查看当前运行的进程:从任务管理器里面可以看到当前所有正在运行的进程。那么究竟什么是进程呢?进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。线程是操作系统分配处...

2019-01-08 09:39:56 238 1

原创 学习笔记——Unity3D UGUI优化方法总结

客户端做任何的性能优化首先想到的都是规范美术资源,前期不给美术资源定制一定的规范,后期做优化性能会非常的被动。对于 UI 资源的规范,主要是考虑的内存优化。1. UI 图集大小控制在1024*1024以内(内存优化);2.同一个界面出现的 UI 资源尽量放到一个图集,重复利用的公用资源放common(DrawCall 优化);3.能用九宫格的尽量用九宫格来减小原图大小(内存优化);...

2018-12-17 15:13:09 462

原创 学习笔记——Unity3D内存优化(贴图优化)

要学会如何优化Unity3D的贴图,首先要了解Unity3D图片上的各项设置大概是干嘛的,修改之后会导致什么样的变化。另外,贴图资源在Unity3D中占用的内存大小不等于文件本身的大小,而是与贴图资源的设置有关,不论你放入的是PNG,PSD还是TGA,它们都会被自动转换成Unity自己的Texture2D格式。我在游戏开发中常用的图片格式就是jpg和png,jpg 格式是有损压缩 文件小 不支持透...

2018-11-28 23:20:57 9140 2

原创 学习笔记——Unity3D与C#基础总结

1.Draw Call本身的含义就是CPU调用图像编程接口,像OpenGL或者 DirectX。简单来说,Draw Call就是由CPU发起的一个命令,添加到一个命令缓冲区,当GPU完成了上一次的渲染任务之后,会从命令缓冲区的命令队列中再取出一个并执行。CPU每次调用Draw Call之前需要向GPU发送很多内容,包括状态,数据,命令等等。而GPU的渲染能力是很强的,渲染200个网格和2000个网...

2018-11-22 15:09:58 8305

转载 Unity3D UGUI优化方法( RaycastTarget )

在游戏开发过程中笔者发现,UGUI创建的所有UI组件都会带有一个RaycastTarget的属性并且默认勾选。几番百度,原来UGUI会遍历屏幕中所有勾选了RaycastTarget属性的UI,接着就会发射线,并且排序找到玩家最先触发的那个UI,在抛出事件给逻辑层去响应。所以很多不需要响应事件的Text,Image组件是不需要勾选RaycastTarget的。开发过程中也应当减少这些不必要的消耗,笔...

2018-11-09 14:46:47 2031 1

原创 Unity3D的2D帧动画控制工具编写

前些日子公司让笔者写了一个帧动画控制工具,主要是用来控制聊天表情这些2D动画的,原本想偷懒在网上直接考了一份代码,没想到运行之后发现当帧率为负的时候还有bug,最后在他基础上做了改动,优化了一下并把bug修复了。原文链接 https://blog.csdn.net/serenahaven/article/details/79273114把每一帧的图片按顺序拖进数组中,设置好参数每个...

2018-11-07 14:02:09 1056 1

原创 Unity3D连接本地SQLite进行数据的增删查改

早就在琢磨Unity3D连接SQLite这个东西,网上的相关资料很少,而且不完整,各种坑需要填。工作之余,抽出一点时间写下这篇博客,让其他童鞋少走一点弯路。首先,就是准备相关的DLL文件,这些是必不可少的,笔者已经为你准备好了,很多其他博客上的那些DLL文件都是有问题或者是缺失的。  https://pan.baidu.com/s/1TiUDy7Dz5tkFwT04YWbaAQ     提...

2018-10-25 19:49:13 2625

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除