自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 问答 (1)
  • 收藏
  • 关注

原创 【Unity面试】 2022年Unity面试题分享 | 全面总结 | 建议收藏

2022 Unity面试题分享 建议收藏

2021-01-19 14:30:31 84687 22

原创 【从零开始游戏开发】静态资源优化 | 全面总结 |建议收藏

【从零开始游戏开发】静态资源优化 | 全面总结 |建议收藏

2022-11-13 20:51:39 1047 1

原创 【从零开始游戏开发】Unity 前后端网络通信该如何搭建?注释解答 | 全面总结 |建议收藏

【从零开始游戏开发】Unity 前后端网络通信该如何搭建?注释解答 | 全面总结 |建议收藏

2022-11-06 17:00:00 1869

原创 【从零开始游戏开发】Unity优化:UI控件优化 | 全面总结 |建议收藏

【从零开始游戏开发】Unity优化:UI控件优化 | 全面总结 |建议收藏

2022-11-06 14:15:00 2685

原创 【从零开始游戏开发】Unity3D AssetBundle资源加载和封装 | 全面总结 | 建议收藏

【从零开始游戏开发】Unity3D AssetBundle资源加载和封装 | 全面总结 | 建议收藏

2022-11-06 09:34:24 1457 1

原创 【从零开始游戏开发】 XLua框架 和 项目框架 | 全面总结 |建议收藏

【从零开始游戏开发】 XLua框架 和 项目框架 | 全面总结 |建议收藏

2022-10-30 21:33:45 2034

原创 【从零开始游戏开发】Lua热更新概念与基础知识讲解 | 全面总结 |建议收藏

【从零开始游戏开发】Lua热更新概念与基础知识讲解 | 全面总结 |建议收藏

2022-10-30 21:23:39 1331 1

原创 【从零开始游戏开发】Unity 数据存储和读取 PlayerPrefs、序列化、JSON | 全面总结 |建议收藏

【从零开始游戏开发】Unity 数据存储和读取 PlayerPrefs、序列化、JSON | 全面总结 |建议收藏

2022-10-30 21:03:33 906

原创 【从零开始游戏开发】MVC 、 ECS 、MMVM模式 | 全面总结 |建议收藏

【从零开始游戏开发】MVC 、 ECS 、MMVM模式 | 全面总结 |建议收藏

2022-10-23 20:28:21 1475

原创 【从零开始游戏开发】xlua 和 tolua 特性区别 | 全面总结 |建议收藏

【从零开始游戏开发】xlua 和 tolua 特性区别 | 全面总结 |建议收藏

2022-10-22 21:22:14 2687

原创 【从零开始游戏开发】EmmyLua插件注解功能

【从零开始游戏开发】EmmyLua插件注解功能

2022-10-22 21:06:48 1852

原创 【从零开始游戏开发】 开发环境准备 | Intellij idea 编辑器 | EmmyLua插件 | Unity引擎 | 编程语言

【从零开始游戏开发】 开发环境准备 | Intellij idea 编辑器 | EmmyLua插件 | Unity引擎 | 编程语言

2022-10-22 20:53:23 1030

原创 【Unity面试】 NGUI优化和UGUI优化 | 面试真题 | UI框架 | 全面总结 |建议收藏

最全NGUI和UGUI优化面试题

2022-09-14 14:31:02 3643 1

原创 【Unity面试】 Lua语言基础核心 | 面试真题 | 全面总结 | 建议收藏

你知道的越多,你不知道的越多 🇨🇳🇨🇳🇨🇳文章持续更新中 📝📝📝。

2022-09-03 11:02:27 3749

原创 【Unity面试】 Unity基础核心 | 面试真题 | 全面总结 | 建议收藏

我是一名投身于游戏开发的热血青年,主要关注Unity引擎的项目开发应用。未来很长,一起努力!!微x公z号搜: Unity架构师之路,暗号小听歌!!可领取免费的面试资料,学习路径图、参加5天游戏开发集训营等粉丝福利!

2022-09-02 23:51:36 4597 1

原创 【Unity面试】 C#语言基础核心 | 面试真题 | 全面总结 | 建议收藏

Unity 游戏开发 C#语言基础核心面试真题

2022-08-28 19:47:01 1285

原创 【Unity插件】 BehaviorTree 原理

1 、API接口来开启和关闭行为树 public void EnableBehavior();2 、查找Task节点 TaskType FindTask < TaskType >();3 、获取行为树的当前执行状态behaviorTree . ExecutionStatus 4 、注册行为树事件();

2022-08-17 21:38:35 1277

原创 【Lua面试】 迭代器和泛型For

迭代器函数Iterator():每次调用,函数会返回“下一个”元素的数值(不是返回索引)。exp-list:N个表达式组成的列表,通常只有一个,对迭代器工厂的调用。一个无状态迭代器,只使用无状态变量和控制变量来为迭代生成下一个元素。3.如果返回nil,循环结束,否则一直循环,再次调用迭代函数。调用迭代器函数,会返回下一个元素,闭包保存下一个元素的值。每次做新的迭代,都会再次调用迭代函数,返回nil结束迭代。一般不会自己去定义迭代器,而是去使用已经提供的迭代器。1个迭代函数,1个不可变状态,1个控制变量。..

2022-08-16 23:15:36 275

原创 【Unity】 GC的优化

在场景切换,进度条的时候,调用系统的GC.Collect操作。Unity5之前版本还存在,现在没有。8.LinQ和常量表达式。6.Foreach循环。9.主动调用GC操作。

2022-08-09 13:44:34 725

原创 【Unity】对象池技术

内存不断地被分配,然后内存不够用,然后GC到处询问和检查(遍历所有已分配的内存),查找哪个类实例被完全弃用了,然后回收掉。尽可能使用对象池重复利用已经创建的对象,减少内存分配时的消耗,减少内存块的数量,最终减少GC带来的CPU消耗。随着数据量越来越多,GC检查的内容也越多,回收后内存依旧不足,就会不断请求分配新的内存。Dictionary预加载,提前将资源内容加载到内存中,可以让后让面创建内存分配减少。创建一个类的实例,内存的分配和消耗,会对程序性能产生影响。创建实例对象,调用对象池,对象池Get。...

2022-08-08 22:05:32 920

原创 免费C盘扩容,D盘扩容C盘

点击C盘进行扩容分区,就能解决C盘扩容

2021-08-11 21:47:39 444

原创 【Unity】 Spine渲染原理解析与源码解读

Spine渲染原理解析与源码解读安装环境从Spine编辑器导出将资源导入Unity基础概念其他相关概念Spine架构Spine运行时的各个模块有状态(Stateful) 和 无状态(Stateless) 数据对象源码解读文章参考安装环境游戏引擎:Unity 2019运行库:Unity Spine 3.8从Spine编辑器导出.json文件,它包含所有骨架信息。.png文件,它包含当前版本所有图片的集合。.atlas.txt文件,它包含打包的图集信息。【注意】在窗口的右下角可以看到图集扩展名

2021-06-18 17:09:45 3550 2

原创 【Unity】 Spine3.8 动态加载

Unity2019 Spine3.81.预制体的动态加载预制体已经挂在了SkeletonAnimation组件,并包含了SkeletonDataAsset数据,初始动画,是否循环等设置。代码上,只需要初始化预制体GameObject go = Object.Instantiate(spinePrefab, spawnLoaclPosition, Quaternion.identity);go.transform.localPosition = spawnLoaclPosition;go.tran

2021-06-16 17:06:10 1423 2

原创 【Unity面试】2021年Unity面试题分享(高级)

记录生活,记录成长,记录经验,记录技术。1.MonoBehaviour的脚本生命周期2.图片压缩格式?PC,android,IOS3.纹理加载进内存以后占用内存如何计算?4.UGUI常用优化技巧?1.MonoBehaviour的脚本生命周期1、场景第一次加载时,为场景中每个对象去调用事件函数(初始化)Awake:实例化对象之后才会调用(非活动状态的对象,只有激活时,才会调用)OnEnable:(对象处于激活后,才会调用SetActive)OnLevelWasLoaded:告知游戏已加载新

2021-05-02 13:59:02 10653 2

原创 【Unity脚本】减少OverDraw脚本:PolygonImage

using System.Collections.Generic;namespace UnityEngine.UI{ [AddComponentMenu("UI/Effects/PolygonImage", 16)] [RequireComponent(typeof(Image))] public class PolygonImage : BaseMeshEffect { protected PolygonImage() { }

2021-04-24 13:28:37 566 1

原创 【项目实战】Unity和Lua 滚动UI

制作流程1.制作一个滑动预制体,打上标签UICompent2.挂载AntVerticalScroll或者AntHorizontalScroll滑动组件3.设置一行或一列滑动的item4.创建Lua逻辑脚本和View视图脚本5.在Lua逻辑脚本中require一个列表渲染组件XXXRender.lua6.在列表渲染组件里在Require一个子项渲染组件XXXItemRender.luaAntScroll抽象类using UnityEngine;using System.Collections

2021-04-20 17:03:56 601

原创 【Lua面试】2021年Lua面试题分享(4.25更新)

lua深拷贝和浅拷贝的区别?如何实现深拷贝?lua中ipairs和pairs的区别?链接: link.

2021-03-26 00:56:06 17337 6

原创 【算法和数据结构】二叉树

二叉树概述树的遍历树的遍历介绍二叉树的前序遍历递归算法 & 迭代算法二叉树的中序遍历递归算法 & 迭代算法二叉树的后序遍历总结概述树 是一种经常用到的数据结构,用来模拟具有树状结构性质的数据集合。树里的每一个节点有一个值和一个包含所有子节点的列表。从图的观点来看,树也可视为一个拥有N 个节点和N-1 条边的一个有向无环图。二叉树是一种更为典型的树状结构。如它名字所描述的那样,二叉树是每个节点最多有两个子树的树结构,通常子树被称作“左子树”和“右子树”。完成后,你将:1、掌握树

2021-03-17 18:02:12 356

原创 【算法和数据结构】排序算法全解析

排序算法全解析时间复杂度 O(n^2) 级排序算法冒泡排序冒泡排序的第一种写法:基础写法冒泡排序的第二种写法:添加排序条件冒泡排序的第三种写法:添加排序条件+上次交换排序后位置冒泡排序的 时间复杂度 & 空间复杂度Leetcode相关练习题时间复杂度 O(nlogn) 级排序算法时间复杂度 O(n^2) 级排序算法冒泡排序快速排序插入排序冒泡排序冒泡排序有三种写法:初级写法:一边比较一边向后两两交换,将最大值 或 最小值冒泡到最后一位;经过优化的写法:使用一个变量记录当前轮次的比较

2021-03-08 00:43:37 925 1

原创 【游戏优化】AOI算法、Unity游戏优化(一)

Unity游戏优化、内存优化、资源优化、AOI算法、安全 AOI概念和设计地图广播(地图消息同步)AOI解决的问题AOI的设计场景分析与方案设计(一)改善方案场景分析与方案设计(二)场景分析与方案设计(三)进一步优化的思考设计AOI勿忘初心真实AOI案例其它方案参考AOI概念和设计AOI(兴趣范围Area Of Interest)游戏中的广播的类型全服广播、地图广播、社交关系、交互目标、玩家自身全服广播的特点:频率不高地图广播的特点 :移动同步广播频率高,流畅度,做插值,服务器有压力社交关系:

2021-03-03 01:56:00 3570

原创 【学习】计算机网络重点知识点面试突击(一)

计算机网络面试突击第一部分:协议层次以及它们的服务类型OSI七层模型TCP/IP 四层模型五层模型OSI 模型和 TCP/IP 模型异同比较OSI 和 TCP/IP 协议之间的对应关系数据如何在各层之间传输【数据的封装过程】第二部分:应用层HTTP 头部包含哪些信息Keep-Alive 和非 Keep-Alive 区别,对服务器性能有影响吗HTTP 长连接短连接使用场景是什么怎么知道 HTTP 的报文长度HTTP 方法了解哪些GET 和 POST 的区别HTTP 与 HTTPs 的工作方式【建立连接的过程】

2021-02-28 00:28:50 4387 11

原创 [C# 基础] 委托 和 事件

1、委托上-如何自定义委托理解委托在现实世界的字面意思委托是引用类型,是一种类,全称委托类型typeof(delegate).IsClass 判定委托创建的实例可以存储1个或N个方法,这个委托实例可以间接调用Invoke方法类型兼容委托的声明(与函数指针的声明类似),在创建实例,Target目标方法target = new MyDelegate( target 目标方法)myDelegate = target ;直接赋值调用直接invoke间接调用myDeleget(target方法)

2021-01-10 13:59:21 352

原创 [Unity热更] 热更打包策略

代码属于商用,不可开源打包策略和打包思想简述1、创建编辑器工具脚本,自动化生成AB包2、创建打包方法3、设置MenuItem打包方法1、先清空2、打包lua脚本3、打包Sound、font、sprite、prefab、texture等等各类资源文件4、生成资源各个依赖性列表打包完成后AB包再指定目录下,将其压缩,并上传到资源服务器当中,然后再解压资源打包测率1、资源划分目录2、资源按照功能划分3、公共资源划分4、处理依赖关系打包思想1、同时加载的资源要放在一起2、公共资

2021-01-05 11:49:20 841 1

原创 [Unity项目整理] MMORPG类——客户端(二)(基础模块)

角色控制系统1.客户端User保存网络传输过来的NUserInfo用户信息,NTeamInfo团队信息,NCharacterInfo当前角色信息,MapDefine当前地图信息 ,GameObject当前角色的游戏对象2.客户端MapServiceMapService角色进入地图来自服务器端的响应OnMapCharacterEnter遍历在这个地图上的所有角色List判断进入的角色是否是当前玩家信息NCharacterInfo加入角色管理器CharacterManager当中判断角色ID所在

2020-12-18 13:41:54 1324

原创 [Unity实战] UGUI 背景框(图片)尺寸自适应内容(图片、按钮、文字等)

第一次发布时间:2020-09-18修改时间:UGUI 背景框尺寸自适应内容一、引言二、研究方法与过程2.1 关键技术2.2 功能模块2.3 数据结构2.4 关键代码三、研究结论和成果四、收获和体会一、引言在制作工会系统时,点击公会成员,会跳出管理按钮的窗口,根据成员在公会中不同的职位具有不同的权限,会长拥有所有权限,副会长拥有部分权限,普通成员只有少部分权限。直观的显示在UI界面上,是管理窗口的按钮数量不同,这时候就需要根据不同权限隐藏显示不同的按钮。需要不适用代码来控制尺寸,完全使用UGUI自

2020-09-18 14:30:26 2312

原创 [Unity经验] 做项目时出现的问题以及解决方案

导入模型,发现人物模型有穿模现象,比如头发遮住脸等解决方案:材质贴图问题,重新创建一个材质球,在赋值给人物看效果

2020-06-22 17:05:46 1020

原创 [C#基础] 11 静态类、静态方法和非静态方法区别

静态类类前有static修饰符静态类无法被实例化,且该类中的变量和方法都无法实例化静态类中的方法、变量、属性都是静态的静态类的本质是一个抽象的密封类abstract sealed class ,无法被继承无法实例化不包含实例构造函数如果一个类中所有成员都要被共享,可以定义成静态类静态方法与非静态方法的比较方法前有static修饰符的是静态方法,否则就是非静态方法差异比较第一:C#静态成员:(1)静态成员属于类所有,非静态成员属于类的实例所有。(2)每创建一个类的实例,都会在内存中为非

2020-06-17 23:27:32 381

原创 [C#基础] 10 反射的实现原理

反射定义动态获取类型信息,动态创建对象,动态访问成员的过程。作用在编译时无法了解类型,在运行时获取类型信息,创建对象,访问成员。流程1.得到数据类型2.动态创建对象3查看类型信息(了解本身信息,成员信息)常用类1.取得数据类型Type方式一:Type.GetType(“类型全名”);适合于类型的名称已知方式二:obj.GetType();适合于类型名未知,类型未知,存在已有对象方式三:typeof(类型)适合于已知类型方式四:Assembly.Load(“XXX”).GetT

2020-06-12 22:23:40 1215

原创 [C#基础] 09 简述关键字Sealed用在类声明和函数声明时的作用

sealed关键字修饰类当一个类有sealed关键字修饰,其它类无法继承这个sealed类示例:sealed类B可以继承A,但是C不可以继承Bclass A { }sealed class B : A { }//class C : B { } //错误:C无法从B派生sealed关键字修饰方法或属性当一个类中的一个方法或属性用sealed修饰,则这个类的派生类无法重写此虚方法或虚属性。必须是重写才能密封,所以和override一起使用 class A { p

2020-06-12 16:28:25 783

原创 [C#基础] 08 描述Interface和抽象类的不同

接口 Interface接口不能实例化接口的成员包括方法、属性、索引器、事件,方法只有声明接口中不能包含常量、字段、构造函数、静态成员。接口中的所有成员默认为public,因此接口中不能有private修饰符派生类必须实现接口所有成员一个类可以实现继承多个接口接口也可以继承多个接口,实现父接口所有成员接口是完全抽象,多继承抽象类 abstract class抽象类中的抽象方法,只做声明,有方法体,单不包含实现抽象类不一定有抽象方法或抽象属性,但声明了抽象方法,这个类就必须是抽象类

2020-06-12 15:47:38 569

空空如也

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

TA关注的人

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