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

本文探讨Unity项目的框架设计原则,如单一原则、里氏替换原则和依赖倒置原则。资源管理方面,涉及自动打包、Resources、AssetBundle的使用与优缺点。此外,文章还讨论了资源的平台、版本、渠道管理,真机调试,多人协作防止代码冲突,ECS框架和DOTS模式,以及Unity对接网络游戏服务器的策略。
摘要由CSDN通过智能技术生成

目录

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工具自己用,发布时并不需要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值