摘要: 2023年初,因为公司项目的调整变化,原来的Unity项目取消了,没有其他适合的项目和岗位可以做了,公司也不进行裁员而是允许转岗,鉴于就业形势不佳以及我有机会来好好学习其他技术,于是我决定转岗Java后端开发,当然,总归还是迫于无奈,对我来说也是个不小的挑战,因为虽然做开发四年有余,有Java代码基 阅读全文
posted @ 2024-05-20 11:06 weigang 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 内存优化—— “勿以善小而不为,勿以恶小而为之” 资源内存占用 一、纹理资源 纹理资源可以说是几乎所有游戏项目中占据最大内存开销的资源。一个6万面片的场景,网格资源最大才不过10MB,但一个2048x2048的纹理,可能直接就达到16MB。因此,项目中纹理资源的使用是否得当会极大地影响项目的内存占用 阅读全文
posted @ 2024-05-20 10:52 weigang 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 如何优化内存? 1.压缩自带类库; 2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接Destroy掉; 3.释放AssetBundle占用的资源; 4.降低模型的片面数,降低模型的骨骼数量,降低贴图的大小; 5.使用光照贴图; 6.使用多层次细节(LOD); 7.使用着色器(Shader); 阅读全文
posted @ 2024-05-20 10:47 weigang 阅读(35) 评论(0) 推荐(0) 编辑
摘要: GPU优化不够容易出现 1.发热严重,耗电量高 2.FPS降低 GPU优化的方向: 1.像素的复杂度,比如实施阴影(手游中禁用),复杂的shader 2.顶点过多,也就是模型面数多、复杂 3.GPU的显存带宽 一、优化美术资源 1)合理规划图集 2)约定好模型的最大三角形面数 3)制定合理的粒子效果 阅读全文
posted @ 2024-05-20 10:44 weigang 阅读(46) 评论(0) 推荐(0) 编辑
摘要: CPU主要进行计算机的各种计算操作,因此关于CPU性能优化的方面和Tips有很多,有些影响大有些影响小,有些容易优化有些不易优化,细节方面也有很多,归类之后重点讲几个方面,并列出常见Tips。 对CPU性能影响比较大的主要有以下几个方面: DrawCalls,物理组件,GC,代码质量,其中DrawC 阅读全文
posted @ 2024-05-20 10:43 weigang 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 项目性能优化的三个方面: 1.CPU优化 Cpu优化不够会出现的问题: 由于短时间计算量太大,画面流畅性降低,出现跳帧 发热严重,耗电量高 (1)代码方面 删除一些空的方法,尤其是Update等; 使用for循环代替foreach,使用List代替ArrayList,尽量少使用封箱拆箱操作; 循环中 阅读全文
posted @ 2024-05-20 10:41 weigang 阅读(11) 评论(0) 推荐(0) 编辑
摘要: Unity官方文档里完全没有提到ReorderableList类,这是因为它不在UnityEngine或UnityEditor的命名空间下,而是在UnityEditorInternal命名空间下,这个命名空间里的东西是没有官方文档支持的 ReorderableList的作用 它的作用,是让一个数组, 阅读全文
posted @ 2024-05-20 10:39 weigang 阅读(60) 评论(0) 推荐(0) 编辑
摘要: async.allowSceneActivation = false; private AsyncOperation async; async = SceneManager.LoadSceneAsync("MainScene"); async.allowSceneActivation = false 阅读全文
posted @ 2024-05-20 10:34 weigang 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 来自 https://www.jianshu.com/p/02eebbf9ad9a 渲染管线的流程是在 GPU 中进行的,它主要占有计算机的显存部分。渲染管线在这个过程中进行了顶点处理、面处理、光栅化、像素处理。 1.顶点处理 3D模型是由众多点构成的面展现出来的。 顶点处理:是通过一系列坐标系的变 阅读全文
posted @ 2024-05-20 10:27 weigang 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 做游戏肯定要跨平台,Unity是如何实现跨平台的,这就得提到Unity脚本后端处理(Scripting Backend)的两种方式Mono和IL2Cpp Mono组成组件:C#编译器,CIL虚拟机,核心类别的程序库,Mono的编译器负责生成符合公共语言规范的映射代码 Mono打包的主要流程:c# s 阅读全文
posted @ 2024-05-20 10:23 weigang 阅读(40) 评论(0) 推荐(0) 编辑
摘要: OnApplicationPause 游戏进入后台和返回前台 //游戏进入后台时执行该方法 pause为true 切换回前台时pause为false void OnApplicationPause(bool pause){ if(pause) { //切换到后台时执行 } else { //切换到前 阅读全文
posted @ 2024-05-20 10:00 weigang 阅读(147) 评论(0) 推荐(0) 编辑
摘要: (1)设置对象为遮挡物or被遮挡物 选中某个对象后,在其Occlusion窗口可以设置其Occluder Static和Occludee Static属性: 遮挡物 通过勾选一个对象的Occluder Static 可将其设置为静态遮挡物。理想的遮挡物应该是实心的,体积较大的物体。 原则1:可能阻挡 阅读全文
posted @ 2024-05-20 09:57 weigang 阅读(39) 评论(0) 推荐(0) 编辑