- 博客(19)
- 资源 (37)
- 收藏
- 关注
转载 UGUI 查找按钮名称
昨天在做项目的时候,按钮是符合条件才会出现的,所以我需要在点击按钮时获得这个按钮究竟是哪一个,在询问了N多人之后,还是百度告诉了我这个答案。string name = EventSystem.current.currentSelectedGameObject.GetComponent<Button>().name;string name = EventSystem.curr...
2019-12-13 10:55:22 401
原创 Lua协程、GC垃圾回收机制以及如何调用C/C++函数
Lua 协程(coroutine)线程和协同程序区别与联系相同之处:Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。不同之处:一个多线程程序可以同时运行几个线程(并发执行、抢占),而协程却需要彼此协作地运行,并非真正的多线程,即一个多协程程序在同一时间只能运行一个协程,并且正在执行的...
2019-12-11 18:38:45 1102
原创 Lua如何实现面向对象?
Lua table(表)table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组、字典等。table(表)的构造构造器是创建和初始化表的表达式。表是Lua特有的功能强大的东西。最简单的构造函数是{},用来创建一个空表。可以直接初始化数组:-- 初始化表mytable = {}-- 指定值mytable[1]= "Lua"-- 移除引用mytab...
2019-12-11 15:54:36 446
转载 XLua运行时热更新原理与实现
前言感谢提供思路两个博客主以下是博客地址:https://gameinstitute.qq.com/community/detail/120538https://www.jianshu.com/p/7b8ae23ecd81基本知识(热更新原理)我们在require一个Lua文件的时候是将Lua文件加载到package.loaded[modelname]中。当我们加载模块的时候,会先...
2019-12-11 11:21:40 1351
原创 Unity 关于帧同步的一些问题
1:帧同步如何解决不同步的问题?可靠稳定的帧同步基础算法 消除浮点数带来的精度误差 控制好随机数参考:Unity帧同步游戏极简框架及实例(附客户端服务器源码)2:帧同步怎么做到流畅的战斗?首先,定义一下流畅的战斗,流畅的战斗并不是代表着游戏的帧数一定要多高多高,而是说游戏的帧数在某一个帧数范围内小规模的变动,例如稳定在30帧这样。对于单机游戏来说,如果要保证稳定在30帧,每一...
2019-12-10 14:50:58 703
原创 Unity 基于帧同步的网络优化方案
帧同步含义游戏客户端接受来自网络的多个客户端的操作,如果这些操作在各个客户端是一样的,那么多个客户端的显示也就一样了,这就带来了“同步”的效果。所以在这种情况下,各个客户端的运算要绝对一致,不能依赖诸如本地时间、本地随机数等等“输入”,而要一切以网络来的操作数据为主。一般来说,大多数的游戏客户端引擎,都会定时调用一个接口函数,这个函数由用户填写内容,用来修改和控制游戏中各种需要显示的内容。...
2019-12-09 19:40:40 857
转载 Unity帧同步游戏极简框架及实例(附客户端服务器源码)
阅前提示:此框架为有帧同步需求的游戏做一个简单的示例,实现了一个精简的框架,本文着重讲解帧同步游戏开发过程中需要注意的各种要点,伴随框架自带了一个小的塔防sample作为演示.哪些游戏需要使用帧同步如果游戏中有如下需求,那这个游戏的开发框架应该使用帧同步:多人实时对战游戏 游戏中需要战斗回放功能 游戏中需要加速功能 需要服务器同步逻辑校验防止作弊LockStep框架就是为了上...
2019-12-09 16:14:20 2314
转载 Moba类游戏中如何处理网络延迟与卡顿
《王者荣耀》技术测试版本出台的时候,延迟非常大,而且还是卡顿,现在看一下帧同步里面比较特别的地方。帧同步有点像在看电影,它传统的帧同步需要有buffer,每个玩家输入会转发给所有客户端,互相会有编号,按顺序输入帧。比如我现在已经收到第N帧,只有当我收到第N+1帧的时候,第N这一帧我才可以执行。服务器会按照一定的频率,不同的给大家同步帧编号,包括这一帧的输入带给客户端,如果带一帧给你的数据你...
2019-12-08 15:12:00 1769
原创 Moba类游戏中如何实现断线重连功能
网络游戏-断线重连1、背景移动网络信号波动频繁,给移动游戏开发者带来诸多困扰,处理不好会造成较差的用户体验以及重复扣道具等严重问题2、网络连接方式通常游戏客户端都是通过创建socket与服务器取得连接,但也会根据使用场景划分成两种连接方式:TCP连接和HTTP连接。1) TCP连接即我们常说的长连接。这种连接方式下socket连接一旦建立,通信双方即可相互发送数据,直到一方终止...
2019-12-08 14:30:59 1361 2
原创 Unity 网络游戏同步方式
对于联网游戏来讲,同步的方式主要分为两种,状态同步、帧同步。1、状态同步:顾名思义,是指的将其他玩家的状态行为同步的方式,一般情况下AI逻辑,技能逻辑,战斗计算都由服务器运算,只是将运算的结果同步给客户端,客户端只需要接受服务器传过来的状态变化,然后更新自己本地的动作状态、Buff状态,位置等就可以了,但是为了给玩家好的体验,减少同步的数据量,客户端也会做很多的本地运算,减少服务器同步的频率以...
2019-12-06 18:18:00 1290
翻译 Unity中事件函数的执行顺序【超详细,图+文】
在Unity脚本中,有一些事件函数会在脚本执行时按预定顺序执行。 该执行顺序如下所述:编辑Reset:Reset是用来初始化脚本属性的,在第一次脚本附在对象上的时候和按下Reset按钮的时候会被执行。第一次场景加载Awake:Awake方法总是在Start方法执行之前和在一个prefab初始化后被调用。(如果一个gameobject处于inactive的状态,则Awake不会被调用,...
2019-12-06 15:14:40 412
原创 TCP与UDP的区别(常见面试题)
相同点UDP协议和TCP协议都是传输层协议。TCP(Transmission Control Protocol,传输控制协议)提供的是面向连接,可靠的字节流服务。即客户和服务器交换数据前,必须现在双方之间建立一个TCP连接,之后才能传输数据。并且提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。UDP(User Data Protocol,用户数据报协议...
2019-12-05 20:28:50 1252
原创 C#中的Lambda表达式和表达式树
Lambda—— 表达式"Lambda表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化了开发中需要编写的代码量。它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型,支持带有可绑定到委托或表达式树的输入参数的内联表达式。所有Lambda表达式都使用Lambda运算符=>,该运算符读作"goes to"。Lambda运算符的左边是输入参数(如果有),...
2019-12-04 17:22:11 730
原创 C#中委托和事件的区别
委托提供与C++中“函数指针”相同的功能,用于传递和调用函数的引用,是观察者模式的一种实现。事件是用委托实现的,是对委托的额外封装,其本质上是一种特殊的委托。事件是基于委托的,为委托提供了一个发布/订阅机制。可以说事件是一种特殊的委托,他的调用和委托是一样的。事件的作用封装订阅: 事件将委托的订阅操作进行封装,仅允许 += 和 -= 操作,避免程序员在开发时因误用 = 使得委托链断...
2019-12-04 14:41:05 485
原创 windows环境下lib和dll的区别和联系详细
c++中共有两种库:1、LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。(这种方式更灵活,写的程序体积小,但是需要.exe和dll同时发布)2、LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。(这种方式不是很灵活,因为li...
2019-12-03 17:40:26 509
转载 A* 寻路算法
A* 寻路算法概述虽然掌握了A*算法的人认为它容易,但是对于初学者来说,A*算法还是很复杂的。搜索区域(The Search Area)我们假设某人要从A点移动到B点,但是这两点之间被一堵墙隔开。如图1,绿色是A,红色是B,中间蓝色是墙。你应该注意到了,我们把要搜寻的区域划分成了正方形的格子。这是寻路的第一步,简化搜索区域,就像我们这里做的一样。...
2019-12-03 17:34:55 462
原创 Unity有限状态机、层次状态机和行为树的联系及区别
一:有限状态机有限状态机(英语:finite-state machine,缩写:FSM)又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。有限状态机算是Unity开发中一个比较重要的技巧了。在游戏中,我们可能会遇到各种各样的状态,这里我以一个人物为例,我们可能要经常判断人物的生命状态或者人物的运动状态,然后做相应的操作。简单的有限状态机...
2019-12-02 20:29:18 2196 2
转载 Unity骨骼动画优化
一:骨骼动画的原理用Unity做游戏经常会用到3D角色,也就会用到骨骼动画。骨骼动画对性能的影响其实非常大的,在说这个问题之前,先来说说骨骼动画的原理。我之前做过多种骨骼动画,包括写过2D的骨骼动画系统(类似于现在比较流行的龙骨系统),也在flash的stage3D里面写过3D的骨骼模型动画。骨骼动画的原理实际上都是一样的:首先你需要有一个模型,2D或者3D的,这些模型是由顶点组成...
2019-12-02 17:18:10 1690 1
原创 Unity 动画压缩及其优化
一:为什么要做动画优化动画文件在游戏包体和内存中占的比例仅次于贴图,优化好动画文件,就优化了一小半游戏内存。拿我们正在开发的游戏举例,优化后的包体和内存比优化前减少了一百多兆,大概优化掉了五分之一的内存。二:优化思路2.1:Unity引擎对导入的AnimationClip提供三种压缩格式,Off、Keyframe Reduction和Optimal。其中,Off表示不采...
2019-12-02 00:57:31 2512
Simple LOD v1.6.unitypackage
2018-04-17
VS调试利器autoexp.dat
2017-07-05
Visual assist x trial key破解补丁
2017-06-24
Visual Assist X 2114
2017-05-18
Avatar换装系统
2017-03-21
Fast Shadow Receiver
2017-03-07
Build Report Tool 自述文件
2017-03-01
Unity资源热更新之AssetBundle
2016-12-07
Unity3D-XML与JSON导出还原场景
2016-10-26
Unpause.zip
2019-05-17
Unity Shader - Sprite Shader之简单抠图
2018-05-30
Unity Shader - 后处理:高斯模糊
2018-05-25
Unity Shader-后处理:简单均值模糊
2018-05-23
Unity Shader - 后处理:简单的颜色调整(亮度,饱和度,对比度)
2018-05-23
Unity Shader - 隐身效果
2018-05-23
Unity Shader-死亡溶解效果
2018-05-22
UnityShader 法线贴图(Normal Map)与视差贴图(Parallax Map)
2018-05-21
UnityShader 浮雕凹凸贴图BumpMap与法线贴图NormalMap的原理及其区别
2018-05-20
UnityShader 渲染队列,ZTest,ZWrite,Early-Z
2018-05-18
UnityShader 边缘光(静态、动态及遮罩)效果
2018-05-16
UnityShader 漫反射(兰伯特与半兰伯特光照模型-逐顶点和逐像素光照)
2018-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人