QinZhuo的开源工具包 一套基础的开源工具包 其中包括大量游戏开发常用的基础逻辑
轻量化 简单易用 易于维护
-
使用前需要安装git
-
在开源网站复制以.git结尾的克隆地址
-
也可以是使用 Unity的 包管理器(PackageManager) 中 Add from git URL 来以插件包的方式安装 (UPM安装)
- 通过UPM安装时可以直接在Unity的 包管理器(PackageManager)中点击拉取Git更新
- 通过Git安装时直接拉取Git更新即可 注意不同版本之间的适配
整体代码除非底层逻辑 少用继承 多用组件式开发 更易于维护
减少Find(key)函数的滥用 更改资源结构后会找不到对应物体 代码不好维护
注意不同平台中 场景中物体Awake等初始化顺序时不同的 编辑器运行与打包环境属于不同平台
注意Destory并不会立即删除物体 就算删除后也不会立即释放内存 Destory在下一帧才会实际产生效果
可以使用多线程 但不要在主线程外调用Unity自己的对象会报错 可以通过缓存之后在Update中调用 或者 使用Task等待逻辑来保证调用时处于主线程
使用程序集定义来将代码功能分块 减少代码底层表层逻辑互相引用 减少代码编译时间方便维护
Resouces Addressable 动态加载的大资源 不用时需要及时释放
Static 静态变量尽量不引用unity资源 会导致资源物体无法被垃圾回收 不使用时及时置为空
整体管理好资源压缩格式会大大减少包体大小
Shader中使用Keyword关闭不使用的逻辑
使用遮挡剔除 剔除不在相机内的物体 动画特效等也可以使用剔除逻辑
减少动态灯光的使用 对于动态创建的物体可将关照烘培在预制体上
使用广告牌配合shader拍照渲染不重要的3D物体
使用图集优化渲染速度 优化内存1