自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gyp郭小帅的博客

辛勤耕耘,享受过程。

  • 博客(183)
  • 收藏
  • 关注

原创 could not reparse object file in bitcode bundle: ‘Invalid bitcode version (Producer: ‘1200.0.22.8.0_

问题描述:unity导出项目iOS,使用Xcode打包编译时,出这个错误。问题翻译过来就是说 LLVM版本低,需要升级Xcode。

2023-12-10 18:18:28 160

原创 初识EasyAR

1.Easy AR Scene--适用于:图像、物体、 身边小区域、小房间--安卓、IOS、Nreal。2.Easy AR Mega--适用于:大空间(房间,商场,公园,景区,城镇等)、AR导航、元宇宙。2.3D物体(静止/运动)跟踪(注:物体旋转也可以实时跟踪,本人试过,效果还可以),多目标。1.表面、图片(静止/运动)跟踪,支持多目标。3.大地图(稀疏空间、稠密空间,可以建图)3.EasyAR CRS---云识别。

2023-11-22 16:27:42 165

原创 游戏内存优化

通过使用对象池,可以预先创建一定数量的对象,并在需要时重复使用这些对象,从而减少内存分配和释放的开销。3.内存分析和优化工具:使用内存分析和优化工具,例如Unity自带的Profiler,可以实时监控游戏的内存使用情况,找出内存泄漏和优化点,从而进行针对性的优化。总之,在Unity游戏开发中,内存优化需要从多个方面入手,综合利用各种方法和工具,从而尽可能减少内存消耗,提高游戏的性能和稳定性。在Unity游戏开发中,内存优化是非常重要的一环,因为游戏通常需要处理大量的数据和资源。

2023-09-14 14:38:42 447

原创 10种寻路算法

这也是一种适用于带权重的图的寻路算法,但与Dijkstra算法不同的是,Bellman-Ford可以处理图中存在负权重边的情况。:这是一种使用启发式方法来指导搜索过程的寻路算法,通常用于找到从起点到目标点的最短路径。:这是一种递归算法,它沿着图的深度遍历路径,直到找到目标或到达无法进一步前进的位置。:这种算法会扩展所有的节点,即按宽度优先的顺序,因此它通常用于搜索无权重图。:这是一种适用于带权重的图的寻路算法,它会找到从起点到所有其他点的最短路径。:这是一种用于寻找所有顶点对之间的最短路径的算法。

2023-09-09 15:31:16 3053

原创 客户端开发常用框架

这些框架可以帮助我们进行游戏的联机对战、排行榜、跨平台等功能的设计和实现。5.Unity的协程:Unity的协程是一种特殊的方法,可以在Unity中实现异步编程,让复杂的异步操作更容易被理解和控制。9.物理引擎:Unity使用的是Box2D物理引擎,可以进行真实的物理模拟,这对于设计游戏中的物理互动非常有帮助。6.Unity的序列化系统:Unity的序列化系统可以让游戏的数据在不同的平台之间同步和传输。8.Unity的动画系统:Unity的动画系统可以让我们更方便地设计和控制角色的动画。

2023-09-09 15:27:01 702

原创 C# 垃圾回收机制

具体来说,垃圾回收器会从应用程序的root对象出发,利用相互引用关系,遍历在Heap上动态分配的所有对象,没有被引用的对象不被标记,即成为垃圾,而存活的对象被标记,即维护成了一张“根-对象可达图”。完成标记后,垃圾回收器会启用压缩(Compact)算法,对内存中存活的对象进行移动,修改它们的指针,使之在内存中连续,这样空闲的内存也就连续了,这就解决了内存碎片问题,当再次为新对象分配内存时,垃圾回收器不必在充满碎片的内存中寻找适合新对象的内存空间,所以分配速度会大大提高。C#的垃圾回收机制原理是。

2023-09-09 15:24:30 411

原创 游戏性能优化

包括减少Draw Calls、减少三角面数、使用LOD、使用批处理技术、减少实时光源等,以提高游戏的帧率和渲染效率。包括使用对象池、使用合适的纹理、使用异步加载资源等,以减少内存占用和提高游戏的流畅度。包括使用正确的脚本编写方式、避免频繁的垃圾回收等,以提高游戏的逻辑处理效率和性能。包括使用正确的碰撞检测方式、使用物理引擎的最佳实践等,以提高游戏的物理效果和性能。包括使用正确的网络通信方式、优化网络数据包传输等,以提高游戏的联网效果和性能。

2023-09-09 15:22:13 599

原创 Unity游戏客户端进阶路线(只针对本人)

1.掌握,一般都会学C#,需要掌握C#编程语言的基础内容以及Unity3D的引擎配置。2.掌握,对使用的引擎有深入的了解,掌握它的特性以及局限性。3.熟悉游戏开发相关的,在功能实现中的使用。4.从框架层面来思考。5.理解队友写的代码,需要理解协作伙伴的策划、美术、音乐、运营、测试等方面的专业术语,和他们越顺畅,游戏最终成型的状态就会越理想。1:需要了解并掌握Unity的高级功能,如Shader、自定义渲染管线、光照模型、高级着色器、次表面散射等。2.

2023-09-09 15:15:41 773

原创 单例和静态类

该类包含一个静态属性和一个静态方法。由于静态类不能被实例化,因此不能包含实例方法和实例属性。在上面的代码中,我们使用静态变量 instance 来保存单例实例,并通过静态属性 Instance 提供全局访问点。单例模式是一种设计模式,它确保一个类只有一个实例,并提供全局访问点。C#中的单例(Singleton)和静态类(Static Class)是两种不同的设计模式,它们各自有不同的用途和特点。静态类是一种特殊的类,它不能被实例化。静态类通常用于提供静态方法和属性,以便于在程序中共享数据或执行某些操作。

2023-09-07 23:31:58 547

原创 CPU和GPU性能优化

总之,优化CPU和GPU性能需要综合考虑多个方面,包括游戏逻辑、算法、Unity引擎和编辑器、图形渲染、并行计算和多线程技术等。在Unity游戏开发中,优化CPU和GPU的性能是非常重要的,可以提高游戏的运行效率、降低功耗和延迟,并提高用户体验。使用更高效的算法和数据结构,例如使用合适的数据结构来存储游戏对象和碰撞信息,使用动态规划来优化复杂的算法。减少不必要的计算和内存操作,例如避免频繁的分配和释放内存,减少不必要的数据结构和循环。减少Unity编辑器中的场景和游戏对象的数量,以减少内存占用和渲染时间。

2023-09-07 23:27:28 866

原创 帧同步和状态同步

总结起来,帧同步确保在游戏中的每个时间点上玩家都执行相同的游戏逻辑,而状态同步确保所有客户端都具有相同的游戏状态。这两个概念在多人游戏中都是非常重要的,以确保游戏的公平性、一致性和流畅性。在状态同步中,服务器充当了游戏世界的“真相”来源,负责更新和同步游戏对象的状态,而客户端则接收并应用这些状态更新,以保持游戏的同步性。在帧同步中,所有玩家在每个固定的时间间隔内,比如每秒更新60次,同时接收并应用来自服务器的游戏状态更新,以确保每个客户端都具有相同的游戏进程和一致的玩法体验。

2023-09-07 23:15:33 199

原创 UGUI画布加载优化

Overlay模式是最简单的,但对于复杂的UI界面可能会引起性能问题,而Camera模式则可以更好地控制渲染顺序和视觉效果。通过将相邻的UI元素放在同一个画布下,并启用Canvas组件的"Override Sorting"选项,可以实现UI批处理。3. 合并UI元素:如果UI界面中有多个相同的元素(如按钮、文本等),可以考虑将它们合并成一个预制体,并重复使用。2. 使用UI对象池:如果你的UI界面需要频繁地创建和销毁,可以考虑使用对象池来管理UI对象的复用。对象池可以减少实例化和销毁的开销,并提高性能。

2023-09-07 23:02:06 429

原创 将一个数组元素打乱(洗牌算法)

这段代码使用了Fisher-Yates随机洗牌算法,通过遍历数组并与随机位置的元素交换来实现乱序。运行代码后,将输出一个乱序的数组。可以使用随机洗牌算法来将数组中的元素乱序。# 交换当前位置的元素与随机位置的元素。# 生成一个随机索引。# 遍历数组中的每个元素。

2023-09-07 22:59:16 106

原创 C# 协程的底层原理

协程的挂起和恢复通过异步操作来实现。当挂起条件满足时,异步操作会通知状态机恢复执行,并将保存的状态变量还原,从而实现协程的继续执行。在运行时阶段,协程的执行由编译器生成的状态机类来控制。当调用协程时,会创建一个状态机实例,并从协程的入口点开始执行。状态机根据当前的状态变量,在执行过程中切换不同的代码逻辑,实现协程的挂起和恢复。每个协程都会被编译为一个状态机类,该类包含了协程的状态变量和对应的代码逻辑。总结来说,C#协程的底层原理是通过编译器生成状态机类来控制协程的执行,利用异步操作实现协程的挂起和恢复。

2023-09-07 22:55:49 443

原创 常用设计模式

7. 组合模式(Composite Pattern):将对象组织成树状结构,可以以相同的方式处理单个对象和对象组合,比如游戏中的场景和场景中的物体。1. 单例模式(Singleton Pattern):用于创建一个全局唯一的对象实例,比如游戏中的资源管理器或者游戏设置。5. 命令模式(Command Pattern):将请求封装为一个对象,可以进行撤销和重做操作,比如游戏中的输入处理系统。3. 观察者模式(Observer Pattern):用于对象之间的消息传递和通知机制,比如游戏中的事件系统。

2023-09-07 22:53:04 600

原创 状态机和行为树

通过遍历行为树,对象可以根据节点的逻辑规则来选择合适的行为进行执行。它将对象的行为建模为一系列状态,通过定义状态之间的转换条件和动作来控制对象的行为。状态机由多个状态组成,每个状态表示对象在特定情况下的行为。状态机适合用于描述对象的状态转换和执行顺序,例如角色的各种状态(如站立、奔跑、攻击等)之间的切换和相应的动作。而行为树则适合用于描述对象的复杂行为决策过程,例如角色在特定情况下应该采取何种行为(如追逐、逃避、攻击等)。而行为树更加灵活可扩展,适用于描述复杂的决策流程和行为逻辑。

2023-09-07 22:51:07 421

原创 ImportFBX Errors:Couldn‘t read file xxxxx.fbx

问题:如图所示,下载的fbx导入刷新报错。

2023-07-21 14:01:32 316 3

原创 Unity编辑器开发——在Scene窗口绘制UI

如题。

2023-07-09 10:12:07 229

原创 Unity编辑器开发——自定义Hierachuy面板

如题。

2023-07-09 10:10:35 135

原创 Unity编辑器开发——绘制UnityToolBar图标

如题。

2023-07-09 10:09:26 169

原创 Unity编辑器开发——自定义窗口(继承EditorWindow,绘制OnGUI)

如题。

2023-07-09 10:05:17 296

原创 Unity编辑器开发——EditorWindow

EditorWindow 继承自。

2023-07-09 09:50:07 1346

原创 SourceTree安装使用记录

如题。

2023-06-27 15:42:59 54

原创 VS-Visual Studio安装使用记录

如题。

2023-06-27 15:41:29 140

原创 Unity编辑器开发——GUI,GUILayOut,EditorGUI,EditorGUILayOut

四种对比:

2023-06-27 13:34:58 113

原创 Unity编辑器开发——特性(常用特性、自定义特性)

特性在Unity开发中是非常好用的。下面记录下我常用的C#预置的特性:(1)Int/Float(2)string(3)Enum(4)List(5)Range(滑动条,其实也是对Int/Float)(6)TextArea(文本框,其实也是对string)(7)Tooltip(添加悬停提示)

2023-06-27 11:36:41 757

原创 Broken text PPtr in file(Library/Unused/6d0812d687f60684088eded3bfe9f800). Local file identifier (47

如题。

2023-06-20 10:56:52 189

原创 .NET介绍

严格来说是不对的,与 Java 对应的是 C#,与 JVM 对应的是 CLR,与 JDK 对应的是 .NET Framework/.NET Core/.NET 5+ SDK。还有人把 .NET 等同于 .NET Framework 或 .NET Core。准确的来说也是不对的,.NET 是开发平台,.NET Framework 是在 .NET 平台上针对 Windows 系统实现的开发框架,.NET Core/.NET 5+ 是在 .NET 平台上实现的支持多操作系统的跨平台开发框架。1..NET是什么?

2023-06-16 14:17:13 783

原创 Curl error 28: Failed to connect to10.13.25.23 port 15000: Timed out

1.发生原因:2.问题分析:

2023-06-16 13:43:58 370

原创 Unity编辑器开发——实现拖拽<按钮事件>在Scene窗口生成物体

如题。

2023-06-08 19:24:24 211

原创 window10 更新提示 0x80073712错误

2、Win + S打开搜索,输入 CMD 找到 “5、重启电脑并重新检查更新,查看安装效果。,依次输入以下代码,并按回车执行。

2023-04-12 13:32:05 922 1

原创 GameObject类--继承Object

三、静态方法(API)

2023-03-30 15:16:22 96

原创 Object 类--属性、方法、API

1.生成2.查找3.销毁4.其他。

2023-03-30 15:11:40 72

原创 Unity 获取游戏对象各种情况

2.获取第n个子物体(n<子物体总数)4.获取Tag是xxx的第一个子物体。3.获取所有Tag是xxx的子物体。1.获取子物体(第一层)还有一些后续补充...

2023-03-28 16:08:39 107

原创 Unity 报错记录-Unable to join player connection multicast group.

问题:如图所示。

2023-03-27 09:49:04 548 1

原创 Unity Material详解

1.Material会造成内存泄漏,而且比较消耗性能。Material与SharedMaterial区别。None 不影响环境、Realtime 实时动态改变、Backed 烘焙生效。:Unity内置了一些shader,用户自定义的shader也在这里出现.: 可以编辑一些shader可编辑的内容,如一些属性.NormalMap--法线贴图。控制物体表面自发光颜色和贴图。四、遇到的问题(汇总)Tiling--平铺。Offset--偏移。

2023-02-15 10:54:50 1337 2

原创 Unity 模板创建项目包解压失败

问题描述:Unity用模板创建项目时解压出错。解决方法:项目路径不大于76字符。

2023-02-14 11:07:58 329

原创 Unity编辑器开发---总结

MenuItem示例详解:= null;OnGUI() 回调OnDestroy() 当EditorWindow关闭的时候触发。OnFocus() 当Window获得焦点触发。OnHierarchyChange() 当Hierarchy面板内有改变的时候触发。OnInspectorUpdate() 每秒十帧的触发,来判断Inspector界面是否有改变。OnLostFocus() 当Window失去焦点触发。Update() 每秒100次的触发,在所有可见的Windows。

2023-02-08 10:46:55 590

原创 Unity AssetBundle包--打包、加载、卸载过程及用例

简述:1.过程2.Api3.用例4.坑1.过程2.Api3.用例4.坑1.过程2.Api3.用例4.坑。

2023-01-31 15:20:17 475

原创 Unityhub打不开项目闪退回hub界面

问题描述:unityhub打开项目时,显示项目几秒后回退到hub界面,没有成功打开项目。原因一:许可证过期导致--大部分是因为许可证到期引起的,重新获得即可。我的解决方法:下载个旧版本的unityhub。

2023-01-29 10:38:15 1007

Unity插件之Doozy UI Manager4.3.1.unitypackge,仅用于个人学习使用

Unity插件之Doozy UI Manager,仅用于个人学习使用

2023-05-15

空空如也

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

TA关注的人

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