自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Unity技能学院——Inputsystem第一期

我们点击 ActionMaps 右侧的加号按钮,添加两个输入控制表分别重命名为 PlayerMove和 UI,他们的作用是对于我们的输入进行分组。因此,就出现了 InputSystem 这样一个,更符合大项目需求的低耦合、易于调试、 方便切换、跨平台、跨设备的输入系统,就诞生了。接下来,我们介绍一下 InputSystem的使用。要安装 InputSystem,首先要找到菜单栏中的 Window->Package Manager,打开之后,找 到 InputSystem,点击 Install,完成安装。

2022-11-04 14:57:16 4638 2

原创 U3D游戏开发从入门到弯道超车(1):序章

1. 写在最前面的寄语:很多人把学习定义为一件痛苦的事情,那是因为90%的人都未掌握正确高效的学习方法。这也是为什么只有10%的人站在了职场的最顶峰,因为他们掌握了高效的学习方法,这样的方法能够让他们不断地更新迭代自己,不断地刷新自己的认知。每个人的成就最终很大程度上依赖于个人的认知。所以在我分享各种技术、产品策划设计、项目管理方面知识的同时,我想把一种高效的学习方法也教给大家,最终能够达到授人...

2019-01-18 01:25:24 4518 1

原创 C#循环语句

while 循环会检查条件 i < 10,只要条件为真,就会执行循环体内的代码。do-while 循环与 while 循环类似,但它至少会执行一次循环体内的代码,之后每次循环都会检查条件。break 语句用于立即终止循环,而 continue 语句用于跳过当前循环的剩余部分,直接开始下一次循环。即使条件不满足,do-while 循环也会先执行一次循环体内的代码,然后检查条件以决定是否继续执行。for 循环是一种基本的循环结构,它允许你指定循环的初始状态、终止条件和循环变量的更新方式。

2024-04-20 08:30:00 62

原创 【C#选择语句】

在 switch 语句中,每个 case 后面跟着的 break 是用来终止当前 case 的执行,防止代码继续执行到下一个 case。它适用于有多个分支选择的情况,通常用于替代多个 if-else if-else 语句。选择语句是控制程序流程的重要工具,允许你根据不同的条件执行不同的代码路径。正确地使用选择语句可以提高代码的可读性和逻辑性。if 语句是最常用的选择语句之一,它允许你根据条件是否为真来执行一段代码。三元运算符非常适合于简单的条件判断,但对于复杂的逻辑,使用 if-else 语句通常更清晰。

2024-04-20 07:30:00 81

原创 【C#中的类和方法】

在这里插入代码片// 字段(成员变量)// 属性set;// 构造函数// 初始化代码// 方法// 方法体。

2024-04-19 08:45:00 91

原创 【C#语言中的数字类型】

在 C# 中,当涉及到英寸这种度量单位时,通常会将其转换为像素或其他在程序中使用的单位。十进制数 (decimal):在金融或货币计算中,decimal 类型提供了高精度的小数点计算,通常比 float 和 double 更适合用于需要精确小数运算的场合。在这个函数中,inches 是以英寸为单位的值,dpi(每英寸点数)是分辨率的一个度量,函数返回转换后的像素值。在 C# 中,处理不同类型的数值数据需要使用不同的数据类型。长整型 (long):用于表示更大范围的整数,通常用于存储 64 位整数。

2024-04-19 07:15:00 222

原创 【Visual Studio概述】

Visual Studio 是一款由微软开发的集成开发环境(IDE),它支持多种编程语言,包括 C#、C++、Visual Basic、JavaScript 等,并且可以用于开发各种类型的应用程序,如桌面应用、移动应用、Web 应用和游戏等。Visual Studio 提供了代码编辑、调试、性能分析、版本控制、数据库管理、界面设计等多种功能,是许多开发者首选的开发工具之一。点击工具栏上的“开始”按钮(通常是一个绿色的三角形图标),或者使用快捷键 F5 来编译并运行你的程序。选择“创建新项目”。

2024-04-19 06:45:00 175

原创 【Unity引擎之C#是什么?】

它支持封装、继承和多态等面向对象编程的基本概念,同时提供了丰富的库和框架,使得开发者能够快速构建各种类型的应用程序,包括桌面应用、Web 应用、移动应用和游戏等。Unity 提供了一个强大的编辑器和运行时环境,允许开发者使用 C# 来编写游戏逻辑、控制游戏对象(GameObjects)、实现人工智能(AI)、处理用户输入、管理游戏状态以及进行图形和音频处理等。类定义:脚本通常定义一个类,这个类继承自 Unity 提供的 MonoBehaviour 类,这是 Unity 中大多数脚本的基类。

2024-04-18 13:22:00 206

原创 【Unity引擎中AI自动寻路技术点】

使用Unity的NavMeshAgent组件的Priority属性来设置寻路优先级,以及利用Agent Mask来控制不同Agent的寻路区域。在某些类型的游戏中,可能需要使用预设的路径点(WayPoint)来实现寻路,这要求开发者设计合理的路径点布局。流场寻路是一种适用于大规模群体寻路的技术,它通过计算整个场景的寻路数据来指导多个Agent的移动。在多人游戏中,需要处理多个Agent同时寻路和避障的问题,这可能导致路径冲突和性能问题。对于大规模群体寻路,传统的寻路方法可能会遇到性能瓶颈。

2024-04-18 08:00:00 199

原创 Unity引擎Shader 技术点解释

Unity 提供了两种主要的渲染管线:通用渲染管线(URP)和高清渲染管线(HDRP),不同的管线可能需要不同的 Shader 编写方式。Shader 对象可以包含一个回退 Shader,如果 Unity 不能使用当前的 Shader 对象,则会使用回退 Shader。Unity 在渲染几何体时会创建一个子着色器列表,并根据硬件兼容性、Shader LOD 值和活动渲染管道来选择活动的子着色器。Shader 对象中的子着色器用于将 Shader 分成多个部分,以兼容不同的硬件、渲染管线和运行时设置。

2024-04-17 20:30:55 222

原创 【Unity-用到Ai寻路系统的游戏】

虽然这款游戏是任天堂Switch的独占游戏,但它展示了Unity引擎在开放世界游戏中的潜力,包括AI寻路系统在探索和战斗中的应用。这款流行的多人在线战斗竞技游戏(MOBA)使用了Unity引擎,其中包括AI寻路系统来控制玩家角色和非玩家角色(NPC)的移动。这款生存游戏中,Unity引擎的AI寻路功能可能用于控制环境中的生物,包括敌对生物和中立生物,以及玩家角色在世界中的探索。在这款生存冒险游戏中,Unity的AI寻路系统被用来控制恐龙和其他史前生物的移动,以及玩家角色在广阔的岛屿上的探索。

2024-04-17 10:15:00 129

原创 管理游戏引擎内资源的诸多技巧(必收藏系列)

对于不再需要的资源,使用Addressable Assets的卸载功能或Asset Bundles的UnLoad方法进行卸载。使用异步加载技术,如异步操作(AsyncOperation)和协程(Coroutine),避免在加载资源时造成游戏卡顿。Addressable Assets是一种更先进的资源管理系统,它提供了更灵活的资源加载、卸载和地址指定功能。使用纹理压缩和Mesh简化来减少资源的大小,提高加载速度和运行效率。预测玩家行为,提前加载即将使用到的资源,减少等待时间。

2024-04-16 09:45:00 1056

原创 Unity引擎中如何使用Asset Bundles和Addressable Assets进行资源管理?

通过使用Asset Bundles和Addressable Assets,Unity开发者可以更有效地管理游戏资源,实现按需加载和运行时更新,从而提升游戏的性能和用户体验。需要注意的是,Addressable Assets是Unity的新特性,它提供了比传统Asset Bundles更强大的功能和更好的灵活性。点击“Assets”菜单,选择“Bundles From Selected”或者使用“Asset Bundle Browser”窗口来创建Asset Bundles。

2024-04-16 06:30:00 521

原创 游戏中使用到热更技术,如何确保用户数据的安全性和隐私性

将用户数据与游戏更新的代码和资源分开存储,避免在更新过程中不小心覆盖或修改用户数据。实施实时监控系统,监控游戏的运行状态和用户数据的访问模式,及时发现和响应异常行为。对用户的敏感数据进行加密存储,确保即使数据被非法访问,也无法被轻易解读。在游戏更新或新功能推出时,提示用户更新隐私政策,并重新获取用户的同意。定期进行安全审计,检查游戏的安全性,确保没有潜在的数据泄露风险。对于访问敏感数据的请求,应该明确告知用户,并获取用户的同意。对于可能影响用户数据的热更新,实施额外的检查和验证机制。

2024-04-15 09:45:00 275

原创 【热更新技术在不同平台上的实现方式】

热更新技术在不同平台上的实现方式存在差异,这主要是由于各个平台的操作系统、应用商店政策、用户习惯和技术生态的不同。

2024-04-15 08:15:00 419

原创 【游戏开发之热更新技术】

热更新技术可以在后台静默地下载更新内容,在合适的时机无缝地应用更新,这样玩家就可以在不知情的情况下享受到最新的游戏内容。热更新技术允许开发者根据玩家的反馈和游戏数据,实时调整游戏的平衡性,如调整角色属性、修改关卡难度等,从而确保游戏的公平性和挑战性。通过热更新技术,开发者可以不断地为游戏添加新的元素和改进,使玩家感觉到游戏是一个持续进化的世界,从而增强玩家的沉浸感和忠诚度。通过热更新技术,开发者只需发送变化的文件部分,而不是整个游戏包,这大大减少了更新所需的带宽和玩家设备的存储空间。

2024-04-14 15:51:08 686

原创 【2024年IT行业各方向学习路线图(必收藏】

掌握Unity基础知识:学习Unity界面和基本操作,包括场景编辑器、层级结构、项目管理器等。学习如何对游戏进行性能分析和优化,包括减少渲染负担、优化内存使用等。学习将Unity游戏发布到不同的平台,如PC、移动设备、VR设备等。掌握Java Web开发,包括Servlet、JSP等技术。学习大数据生态系统的技术,如Hadoop、Spark等。掌握嵌入式系统网络通信协议,如TCP/IP、MQTT等。学习Java基础知识,包括语法、数据类型、控制流程等。学习Unity中的动画系统,包括角色动画、环境动画等。

2024-04-14 15:44:22 284

原创 【GitHub技术全面解析及游戏开发者的应用】

GitHub作为全球最大的开源代码托管平台,不仅为软件开发者提供了一个强大的工具,也为游戏开发者带来了前所未有的便利。在游戏开发领域,GitHub的技术可以帮助开发者更高效地管理代码、协作开发、分享资源以及发布和维护游戏项目。

2024-04-11 22:04:08 288

原创 Hadoop技术详解

与传统的文件系统不同,HDFS放宽了POSIX的要求,允许以流的形式访问文件系统中的数据,这为大数据处理提供了极大的便利。MapReduce是Hadoop的分布式计算模型,它通过将大数据处理任务分解为Map(映射)和Reduce(归约)两个阶段,实现了对海量数据的高效处理。高可靠性:Hadoop能够在节点出现故障时,自动保存数据的多个副本,并重新分配失败的任务,确保数据处理的连续性和可靠性。高容错性:Hadoop通过自动保存数据的多个副本,以及自动重新分配失败的任务,大大提高了系统的容错能力。

2024-04-11 21:55:56 364

原创 【如何快速制作出Flappy Bird 游戏】只提供思路

在Hierarchy窗口中创建一个新的Canvas对象(用于UI元素,如分数显示),但实际上Flappy Bird不需要Canvas,因为这是一个纯2D游戏。为小鸟创建一个C#脚本(例如命名为"BirdController"),用于处理用户的输入(通常是点击或触摸屏幕使小鸟向上飞)。创建一个新的Camera对象,并将其设置为Orthographic(正交相机),以支持2D视图。在这个脚本中,检测小鸟与管道的碰撞,并相应地处理游戏结束或继续的逻辑。在脚本中,根据用户的输入调整小鸟的刚体速度。

2024-04-09 19:25:20 271

原创 【VipSkill 打造游戏全领域“产学研“生态体系】

通过举办线上线下的活动、比赛、研讨会等,激发创作者的创作热情,推动游戏行业的创新发展创作社社区不仅能够提供行业 大咖进行专业咨询, 还会帮助大家进行自由组队共创游戏, 优秀团队和作品还将有机会获得多渠道宣传、融资、发行、展会等支持。我们的学员遍布全球15个国家,其中,有72%的学员成功入职中大型企业,成为企业中的佼佼者。自成立以来,VipSkill一直致力于成为游戏行业的"黄埔军校", 通过高质量的教育服务,培养出能够引领游戏行业发展的专业人才, 成为一家拥有社会价值、优秀口碑、令人尊敬的百年教育品牌。

2024-04-09 18:59:39 1149

原创 大型网络游戏设计与AI赋能-15

但是真正到工作里面,你会发现就是反过来学,反过来做的,而反过来做它的效率会特别高。我一直强调的一点,在你参加工作之后你要尽可能的让自己忙,尽可能的让自己去有做事的机会,我说的做事的机会,不是做重复性的事情,就是你一定要理解一点,重复性的事情可以干,因为让你能够熟练度更高。趁大家现在年轻还体会不到,所以我想告诉大家的是,在工作的过程当中,尽量的多找机会多干事,干自己没干过的事,干过的事想办法把它干的更好,想想怎么优化,效率怎么提的更好更高,质量怎么提的更高,就干过的事要想优化,然后多做没干过的事。

2024-04-02 19:18:31 820

原创 大型网络游戏设计与AI赋能-14

你不知道怎么写,你去百度搜,那你要做的是,你输入关键字,出来一堆链接,然后你要一个个看,前面肯定是广告,然后挑选出对你有用的代码端,然后你可能把它复制粘贴过来,改一改。如果今天我需要一个,你可以描述个业务场景给他,让他给到你一个大概的方向,这些你都可以问他,这是很好的一个就是我认为学习的工具,他能提升我们的学习的效率的,相当于一个万能的字典一样。但是往往如果你工作之后,你会发现,你的很多学习是面向需求的学习,因为你有一个需求,你不知道怎么做,你会去查,会去了解,会去甚至买些课买些书学习。

2024-04-01 19:09:05 999

原创 大型网络游戏设计与AI赋能-13

其实大厂里面都是已经开始AI化的,比如说王者荣耀里面,现在目前你们在商城里面,任何一个礼包推出来的时候,都是AI算出来的,他的定价等等都是算出来的,并不是人工去定的。微软推出的东西,其实AI自动生成模型早就存在了,一些标比较标准化的模型,包括3D角色都有,而且是大厂内部自己有工具的,只是没有对外开放。举个例子,比如说未来,我希望的大世界是或者MMORPG里面的角色NPC,他是够智能的,你可以跟他随意的聊天,你会感觉他像个真人一样,如果能做到那种地步,那我们的游戏的,我觉得与这个时代就不远了。

2024-04-01 18:42:27 512

原创 大型网络游戏设计与AI赋能-12

如果今天有个人想攻击你的注册登录的,就从注册这个入口攻击你。我们再来看我们的用户登录系统,在之前说的这套架构下面,我们的用户登录系统的一个设计,要去考虑哪些东西,这个就是系统级的设计的。那系统级的设计就要考虑很多细节,比如说客户端服务端协议主要分这三大块,客户端这里面UI的设计、注册界面、登录界面里面的逻辑,然后逻辑设计、数据的结构、注册的流程、登录的流程,我们叫业务流程,以及服务端这块,你需要去有生成新的注册的服务,登录的服务,然后会话的管理,然后登录服务里面你需要去做到的是身份验证的一个机制。

2024-03-31 15:30:00 325

原创 大型网络游戏设计与AI赋能-11

但是TCP是个什么概念呢?TCP是比如说我a给b委托邮局,就是socket这个抽象的东西啊,然后给b寄东西的时候,我说我要寄一个报告给b,然后socket会先问b,他会先通知b ,a要给你寄个东西,b说好的、你寄吧。比如说服务器这边的DB实体关系,这数据库这块,像这个是我拿的这个,我们的骑士解救MMO里面的一种逻辑,但是并不是说它是一种唯一的,或者标准的逻辑。像这种调用类的就是客户端请求服务端,服务端给客户端一个反馈,就相当于你跟你的好朋友,你跟他说我今天要过来,然后他跟你说好的你过来吧,然后你就过去了。

2024-03-31 13:30:00 285

原创 大型网络游戏设计与AI赋能-10

这个是在测试,就具体里面的是一步步,比如说网络客户端初始化,就这个是链接服务器部分,先初始化,然后连接,然后创建主消息,创建个新的Quest就请求,定义自己的消息,最后做一下填充。并且在找工作的时候加成也会比较大,因为你的横向的知识面,跨领域的知识面,其实也决定了你的工作效率的。比如说刚刚的这个网络消息处理这一块,这套基础的框架,这框架里面带了4个模块,正常如果说你要去写个新的service,也就写一个新的服务器的话,你只要按照这个流程去做就行了,所有的新的service都一样,那开发效率就会很高。

2024-03-30 11:00:00 719

原创 大型网络游戏设计与AI赋能-9

但是我可以告诉你,你现在所接触到的很多产品,它可能都是单服的,比如说微信小游戏、比如说微信游戏、比如说一些小游戏、比如说一些运营时长,不是就是运他的整个经营时长,运营时长不是很长的,可能生命周期比较短的这些游戏,他都是单服结构的。比如说我们经常会用到的一种,游戏里面服务器组的一个内部结构,比如说客户端这里通过网关代理,然后拆分了登录服务器、游戏服务器、地图服务器,这样的服务器,然后根据他的名词名字,分别提供单独的这个登录服务,然后比如说地图服务、战斗服务等等。是云的一种概念,什么叫云的概念?

2024-03-30 07:15:00 857

原创 大型网络游戏设计与AI赋能-8

那这个时候,如果你作为一个还没入行的,第一次找工作的,或者是初入行工作一年的,在你的简历里面有写这个东西,或者你甚至有过实战应用。安全性上来说,一般来说帧同步它的传输的频率高,但是每次的数量都不大,所以呢一般来说,如果说你的逻辑状态同步,我们很多时候可以把各种计算逻辑放在服务器上面,而你把计算逻辑放在服务器上面,它相对来说是比较安全的,不容易被篡改。但是如果你用帧同步,在帧同步的情况下,还把所有的计算逻辑放在了服务端,也就意味着,在这么高频的发消息的过程当中,你的数量还那么大,这个时候性能压力会超。

2024-03-29 16:16:43 558

原创 大型网络游戏设计与AI赋能-7

也就是说,我这个玩家在登录我的客户端,我看到的其他玩家,他的状态的改变的时候,我是要知道的。那你就想一个问题,如果比如说一个很火爆的MMO,然后某个地区站个几百号人,甚至上千号人,我是a玩家,另外一个b玩家,他动都不动,他就在那挂机,你说这个时候,需要把他的数据不断地同步给我吗?但是转变而来的,就是我们整个顶层设计,我们的架构设计这一块,所以综合这些这些信息,我们就要去选客户端,那边要做技术选择,服务端也做技术选择,要选择开发语言、数据库,开发的一个整个系统是什么样子的,然后整体的设计有有哪些,要做什么。

2024-03-29 16:15:22 479

原创 大型网络游戏设计与AI赋能-6

当然这里面实现层面也有区别,你对设计模式的一种理解,你对算法数据结构的一种应用能力,其实也会导致你的这个代码的质量是不一样的,包括单个系统的系统模块的拆封,很多同学其实都没有到架构这个层面,系统设计上其实都很欠缺,就是这个系统设计这一层。然后第二个所用的语言,客户端的语言,服务端的语言,然后我们的服务器的架构是什么样子的,我们用什么样的数据库,我们的美术规范是什么样子的,通通都要在这个顶层架构设计阶段考虑完毕。所以我们要去制定好,策划配表的格式,美术资源提交的格式是什么样子的,这些都要规范好。

2024-03-28 15:50:37 447

原创 大型网络游戏设计与AI赋能-5

更多的是我们到项目里面是面向项目需求去做设计的。那这个时候你跳的时候就会受到一些,你可以认为是担心也好,用人单位的担心也好,歧视也好,或者怎么样也好,他会觉得你在商业引擎上的经验,近乎也是0,没有什么太大的一个价值观,他还不如去找一个一年经验的,他也不想招你一个三年经验的自研。那这个时候你跳的时候就会受到一些,你可以认为是担心也好,用人单位的担心也好,歧视也好,或者怎么样也好,他会觉得你在商业引擎上的经验,近乎也是0,没有什么太大的一个价值观,他还不如去找一个一年经验的,他也不想招你一个三年经验的自研。

2024-03-28 15:30:15 882

原创 大型网络游戏设计与AI赋能-4

所以一样的,因为我们的引擎里面要去提供,比如说渲染的功能,要去提供真实的物理的模拟,要去提供音频音乐,要去提供动画,甚至网络的一些知识。市面上有很多现成的细分方向的软件开发包,比如说DX,欧东吉亚CG,它就是渲染的图形接口,你可以理解成一个渲染的工具集。那它这里面,要实现平台监测,就是这个引擎做出来的软件,做出来的游戏也好,或者是其他的一些内容也好,他是跑在什么样的平台上面的。然后比如说我们要实现物理的一些功能的,那这个时候我们就需要去引入工业级的一套物理,你可以叫物理引擎,也可以叫物理的开发工具包。

2024-03-27 19:21:45 425 1

原创 大型网络游戏设计与AI赋能-3

而上层是需要架构在你的下层之上的。然后我们从下往上看,比如说第一层,最底层的就是我们前面提的这个运行平台层,而这个运行平台层它包含了三个东西,第一个是我们的硬件,然后再上我们的驱动以及对应的操作系统。比如说提到的大框架,那这个大框架他可能还要逐层拆,比如说他是哪个层级的框架,比如说我们做游戏的时候,大家都知道有UI的框架、有战斗的框架、有整个客户端的框架、有服务端的框架,还有偏底层的这个框架。但是其实真正如果这个图是没有的没有这个架构的,今天你要去设计一个架构,你的设计的方式,是从从上往下去设计的。

2024-03-27 18:57:15 523 2

原创 大型网络游戏设计与AI赋能-2

那随之而代价是什么呢?你会发现哪怕是个空包,Unreal的包体大小差不多接近100兆,然后Unity呢,用Unity做一个比如说三效类的游戏,差不多一个成品,把它打包出来也就是个100兆。但是我们一定要明白没有任何一个引擎能够做到,比如说它的渲染层面提供能力非常强大,基础能力非常强大,也就意味着你任何一个UE工程师,可能你不懂任何渲染上的一些技术,仍然能够用UE去做出一款画面效果还不错的游戏。而且很多东西,并不是说你技术真的很好,你就能优化的下来的,它自带了很多其实你可能不需要的东西,但是你又没办法去掉。

2024-03-26 18:24:36 849

原创 大型网络游戏设计与AI赋能-1

其实在早期,如果倒推到15年前或者是零七零八年那会,我们在开发整个游戏的时候,其实是没有所谓的这种商业引擎去使用的,更多的是我们从底层开始一点点往上写。所以如果我们要去设计一款引擎的话,首先你要考虑到,他未来产生的这个产品,会跑在哪些主流平台上面,而这个在我们做这个引擎的时候,我们整个引擎的底层就需要去把各种平台类型接入进来。慢慢的有些游戏公司,他可能专精于做一种游戏品类。反正引擎就一个目的:能够让我们的游戏开发的速度急剧的上升,时间成本急剧的下降,也带来的我们的整个游戏开发中要投入的资金成本急剧的下降。

2024-03-26 18:00:01 1167

原创 游戏客户端面经

9,Lua的类型有哪些,pair和ipair的区别,lua怎么实现的面对对象,__newindex是什么,一般用来干嘛,13,用过什么算法,A*怎么实现,最重要的是哪些数据结构,A*是宽还是深搜索,搜索路径是最短还是最优。4,UGUI怎么渲染的UI,UGUI的层级管理(怎么不打断合批),合批流程。8,Unity编辑器的扩展学过吗,学过哪些,新增一个窗口是继承哪个类。11,Uinty携程用过吗,和线程的区别,之前项目组哪些地方用携程。6,上个项目的UI框架,怎么管理的UI的切换,和场景的切换。

2024-03-25 17:30:08 491

原创 游戏客户客户端面经

C#和C++的类的区别 C# List添加100个Obj和100 int内存是怎么变化的 重载和重写的区别,重载是怎么实现的 重写是怎么实现的? 虚函数表是类的还是对象的 用过哪些C++的STL Vector底层是怎么实现的 Vector添加一百次数据内存是怎么变化 Map的底层,红黑树的查询和插入的时间复杂程度,Unordermap的底层实现是什么 List的底层是怎么实现的 场景里面有6个玩家扮演贪吃蛇进行3v3,场景里面有水果吃了可以边长,蛇碰到队友没有问题,碰到自己的尾巴也没有问

2024-03-25 17:28:30 296 2

原创 游戏客户端一面面经

10、写一个memcpy实现(问题:srcSize大于dstSize怎么办?1、QT和MFC的区别?qt如何进行通讯的?qt信号通讯底层怎么实现的?11、算法题:(1)n!(2)数组m中和最接近n的两个数。5、C++智能指针?shared_ptr相互引用怎么办?2、C++三大特性?构造函数能不能是虚函数?9、全局变量和局部变量?6、Vector和list的区别?3、Volatile关键字的作用。7、进程和线程的区别。8、指针和引用的区别。

2024-03-22 18:30:50 131

原创 moba客户端开发面经

14、ab包怎么管理,打包要干啥,下载怎么用,怎么解决包依赖,lua脚本怎么更新,怎么对比包是否需要更新。(1)ui框架类设计,ui层级管理怎么做,对象初始化内存占用这样做高,资源是怎么加载的。13、排序算法有什么常用的:冒泡,插排,快排,堆排,以及稳定不稳定和时间复杂度。15、资源一般都放在哪里,和resources有什么区别,有什么好处。(3)ui的一些优化方式,动静分离,不使用透明,排序减少batch。(2)背包数据室怎么加载的,mvc怎么使用的,怎么性能优化的。(1)用什么协议,这俩什么区别。

2024-03-22 18:27:55 264

空空如也

空空如也

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

TA关注的人

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