Unity问答-框架设计与资源管理

目录

1.Unity项目框架是如何设计的?有哪些原则?

2.资源管理是如何做的,如何更新与打空包?

3.资源管理的平台,版本,渠道是如何管理的?

4.项目框架是如何让美术,策划,程序愉快的工作的?

5.真机调试,看打印日志你是如何处理的?

6.Unity如何避免多人提交代码冲突?

7.框架你用了哪些设计模式,分别是什么?解决什么问题

8.你的项目是如何做热更新的?

9.框架设计里面你常用的第三方库和插件是哪些?解决哪些问题?

10.聊聊ECS框架,DOTS模式。

11.Addressable 管理资源的优势有哪些?

12.Unity如何对接网络游戏服务器?


1.Unity项目框架是如何设计的?有哪些原则?

  • 管理类:这类脚本能控制程序进度、调度场景、管理功能类,基本算是程序的大脑,一般是单例
  • 功能类:负责在程序中完成具体功能的,比如塔防游戏里的塔、怪物、技能、子弹,受管理类控制,自身有不同的功能
  • 工具类:相当于工具箱,比如 Mathf类 ,比如组建协议的脚本,计算时间,数字转换等。
  • 独立类:自己独立功能独立周期的脚本,比如 定时销毁:启动-计时-销毁。
  • 单一原则:明确类的定义,只做一件事。提高类的可读性,更加好维护,降低耦合度。
  • 里氏替换原则:子类可以实现父类的抽象方法,但不能覆盖。子类可增加自己特有方法。
  • 依赖倒置原则:高层模块不能依赖底层模块,二者都依赖抽象,细节依赖抽象,抽象不依赖细节。

2.资源管理是如何做的,如何更新与打空包?

unity 中的资源来源有三个途径:一个是Unity自动打包资源,一个是Resources,一个是AssetBundle。

  • 自动打包:unity场景中直接使用到的资源会自动被打包到游戏中。在场景加载时,由unity自动加载。这些资源只需放在Assets目录下即可,不需要关心打包和加载。这些资源都是静态加载的,实际开发一般会动态加载。
  • Resoures:在Assets目录下创建Resources文件夹。文件夹的资源,无论是否用到都会被打包。并且可以通过Resource.Load方法动态加载。缺点是:资源都直接打包了,没法做增量更新。
  • AssetsBundle:通过编辑器脚本把资源打包成多个AssetsBundel。这些AssetsBundle和游戏包是分开的,可通过www类来加载。优点:可做分包发布,页游随游戏进程增量下载,或者手游资源过大,把一开始用不到的内容做成增量包,玩到的时候再下载。

Unity会根据依赖关系自动生成所有包,每个包生成一个.manifest文件,这个文件描述了包的大小,crc验证,包之间的依赖关系等,通过manifest打包工具在下次打包时判断哪些资源有改变,加快打包速度。manifest工具自己用,发布时并不需要。

https://blog.csdn.net/ring0hx/article/details/46376709

空包:直接build?

3.资源管理的平台,版本,渠道是如何管理的?

4.项目框架是如何让美术,策划,程序愉快的工作的?

5.真机调试,看打印日志你是如何处理的?

6.Unity如何避免多人提交代码冲突?

7.框架你用了哪些设计模式,分别是什么?解决什么问题

8.你的项目是如何做热更新的?

9.框架设计里面你常用的第三方库和插件是哪些?解决哪些问题?

10.聊聊ECS框架,DOTS模式。

11.Addressable 管理资源的优势有哪些?

12.Unity如何对接网络游戏服务器?

猜你喜欢

转载自blog.csdn.net/wang_lvril/article/details/109048433