Unity多工程协同开发方法、装置、设备和存储介质与流程

专利查询2小时前  1


本公开涉及计算机,尤其涉及一种unity多工程协同开发方法、装置、设备和存储介质。


背景技术:

1、针对一款复杂的游戏项目,通常会将游戏项目划分成多个可以独立开发部署的子模块并分配给不同的业务团队进行开发,最后由主模块对开发好的子模块进行加载,从而完成一个复杂游戏项目的开发。

2、目前,游戏业内通常会使用xlua、ilruntime、hybridclr等热更框架的代码热加载特性来划分子模块并分配给不同业务团队进行开发,但是,这些热更框架都是以单个unity工程为方向进行设计的。考虑到一个复杂的游戏项目通常由多个位于不同地区或者国家的业务团队协同完成,而让不同业务团队共同维护一个unity工程项目是一项需要耗费大量人力物力的事情,这也就导致了游戏项目的协同开发效率较低。因此,如何提高游戏项目的协同开发效率是本领域技术人员亟待解决的技术问题。


技术实现思路

1、有鉴于此,本公开提出了一种unity多工程协同开发方法、装置、设备和存储介质,可以提高游戏项目的协同开发效率。

2、根据本公开的第一方面,提供了一种unity多工程协同开发方法,所述方法由第一终端实施,包括:

3、获取预设的工程规范,对所述工程规范进行解析,得到unity版本信息、公共库信息以及基础库信息;

4、基于所述unity版本信息,在所述第一终端加载对应的unity引擎,并基于所述unity引擎,创建游戏项目的主工程,其中,所述主工程被配置为启动时自动加载至少两个基于独立的子工程开发的子游戏的资源包,所述子游戏的资源包基于所述工程规范开发;

5、基于所述公共库信息和所述基础库信息,加载公共库和基础库至所述主工程,并基于加载至所述主工程的公共库和基础库,配置所述主工程的link文件,其中,所述link文件被配置为打包发布所述主工程时,指定保留加载至所述主工程中的所述公共库和所述基础库;

6、基于所述主工程的link文件,对所述主工程进行打包发布,从而完成所述游戏项目的协同开发。

7、在一种可能的实现方式中,在基于所述工程规范开发所述子游戏的资源包时,由第二终端实施,包括:

8、获取所述工程规范,对所述工程规范进行解析,得到unity版本信息、公共库信息以及基础库信息;

9、基于所述unity版本信息,在所述第二终端加载对应的unity引擎,并基于所述unity引擎,创建所述游戏项目的子工程;

10、基于所述公共库信息和所述基础库信息,加载公共库和基础库至所述子工程,并基于加载了所述公共库和所述基础库的子工程,创建所述子游戏的资源;

11、对所述子游戏的资源进行打包,得到所述子游戏的资源包。

12、在一种可能的实现方式中,在得到所述子游戏的资源包后,还包括:

13、将所述子游戏的资源包,上传至指定的服务器,并记录所述子游戏的资源包在所述服务器上的存储地址。

14、在一种可能的实现方式中,所述主工程在加载所述子游戏的资源包时,基于所述子游戏的资源包在所述服务器上的存储地址实现。

15、在一种可能的实现方式中,所述主工程采用热更新的方式自动加载至少两个基于独立的子工程开发的子游戏的资源包。

16、在一种可能的实现方式中,所述子游戏的资源包括所述子游戏的逻辑代码和美术资源;

17、在对所述子游戏的资源进行打包,得到所述子游戏的资源包时,基于hybridclr与addressable实现。

18、在一种可能的实现方式中,在hybridclr与addressable对所述子游戏的资源进行打包,得到所述子游戏的资源包时,包括:

19、使用所述hybridclr将所述子游戏的逻辑代码制作成能够热加载的dll文件;

20、将所述dll文件转换为可以被所述addressable识别的bytes文件,并将所述bytes文件标记为所述addressable的资源;

21、使用所述addressable对所述bytes文件和所述美术资源进行打包,得到所述子游戏的资源包。

22、根据本公开的第二方面,提供了一种unity多工程协同开发装置,该装置安装在第一终端,包括:

23、工程规范解析模块,用于获取预设的工程规范,对所述工程规范进行解析,得到unity版本信息、公共库信息以及基础库信息;

24、主工程创建模块,用于基于所述unity版本信息,在所述第一终端加载对应的unity引擎,并基于所述unity引擎,创建游戏项目的主工程,其中,所述主工程被配置为启动时自动加载至少两个基于独立的子工程开发的子游戏的资源包,所述子游戏的资源包基于所述工程规范开发;

25、主工程配置模块,用于基于所述公共库信息和所述基础库信息,加载公共库和基础库至所述主工程,并基于加载至所述主工程的公共库和基础库,配置所述主工程的link文件,其中,所述link文件被配置为打包发布所述主工程时,指定保留加载至所述主工程中的所述公共库和所述基础库;

26、主工程发布模块,用于基于所述主工程的link文件,对所述主工程进行打包发布,从而完成所述游戏项目的协同开发。

27、根据本公开的第三方面,提供了一种unity多工程协同开发设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行本公开第一方面所述的方法。

28、根据本公开的第四方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现本公开第一方面所述的方法。

29、本公开提供了一种unity多工程协同开发方法,包括:获取预设的工程规范,对工程规范进行解析,得到unity版本信息、公共库信息以及基础库信息;基于unity版本信息,在第一终端加载对应的unity引擎,并基于unity引擎,创建游戏项目的主工程,其中,主工程被配置为启动时自动加载至少两个基于独立的子工程开发的子游戏的资源包,子游戏的资源包基于工程规范开发;基于公共库信息和基础库信息,加载公共库和基础库至主工程,并基于加载至主工程的公共库和基础库,配置主工程的link文件,其中,link文件被配置为打包发布主工程时,指定保留加载至主工程中的公共库和基础库;基于主工程的link文件,对主工程进行打包发布,从而完成游戏项目的协同开发。通过本公开的方法,可以使不同的业务团队在相互独立的unity工程下进行游戏项目的协同开发,无需再对统一的unity工程进行维护,从而提高了游戏项目协同开发的效率。

30、根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。



技术特征:

1.一种unity多工程协同开发方法,其特征在于,由第一终端实施,包括:

2.根据权利要求1所述的方法,其特征在于,在基于所述工程规范开发所述子游戏的资源包时,由第二终端实施,包括:

3.根据权利要求2所述的方法,其特征在于,在得到所述子游戏的资源包后,还包括:

4.根据权利要求3所述的方法,其特征在于,所述主工程在加载所述子游戏的资源包时,基于所述子游戏的资源包在所述服务器上的存储地址实现。

5.根据权利要求2所述的方法,其特征在于,所述主工程采用热更新的方式自动加载至少两个基于独立的子工程开发的子游戏的资源包。

6.根据权利要求5所述的方法,其特征在于,所述子游戏的资源包括所述子游戏的逻辑代码和美术资源;

7.根据权利要求6所述的方法,其特征在于,在hybridclr与addressable对所述子游戏的资源进行打包,得到所述子游戏的资源包时,包括:

8.一种unity多工程协同开发装置,其特征在于,该装置安装在第一终端,包括:

9.一种unity多工程协同开发设备,其特征在于,包括:

10.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。


技术总结
本公开提供了一种Unity多工程协同开发方法、装置、设备和存储介质,该方法包括:获取预设的工程规范,对工程规范进行解析,得到Unity版本信息、公共库信息以及基础库信息;基于Unity版本信息,在第一终端加载对应的Unity引擎,并基于Unity引擎,创建游戏项目的主工程,主工程被配置为启动时自动加载至少两个基于独立的子工程开发的子游戏的资源包;基于公共库信息和基础库信息,加载公共库和基础库至主工程,并基于加载至主工程的公共库和基础库,配置主工程的link文件,link文件被配置为指定保留加载至主工程中的公共库和基础库;基于主工程的link文件,对主工程进行打包发布,完成游戏项目的协同开发。通过本公开的方法,可以提高了游戏项目协同开发的效率。

技术研发人员:张超,丁越,蒋映喆,张志峰
受保护的技术使用者:北京久幺幺科技有限公司
技术研发日:
技术公布日:2024/12/5

最新回复(0)