[发明专利]一种三维动画引擎的资源打包方法及装置在审
申请号: | 201510632736.5 | 申请日: | 2015-09-29 |
公开(公告)号: | CN105224323A | 公开(公告)日: | 2016-01-06 |
发明(设计)人: | 屠倩溪;张精卫 | 申请(专利权)人: | 北京畅游天下网络技术有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 王民盛;王丽琴 |
地址: | 100043 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 三维动画 引擎 资源 打包 方法 装置 | ||
技术领域
本申请涉及计算机视频游戏开发技术,尤其涉及一种三维动画引擎的资源打包方法及装置。
背景技术
Unity是由UnityTechnologies开发的一个用于创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
鉴于操作平台和Unity自身的限制,Unity资源一般都通过打包为资源包(AssetBundle)的方式进行动态更新与加载。Unity资源指的是用于生成场景及场景中各种物体的元素,例如模型贴图素材、场景源文件、插件等。Assetbundle是UnityPro提供的功能,它可以把多个游戏对象或者资源二进制文件封装到Assetbundle中,提供了封装与解包的方法。
对于资源庞大的游戏来说,资源之间的各种依赖关系处理以及打包的时间消耗是个较大的难题,严重影响开发效率。
发明内容
本申请提供了一种三维动画引擎的资源打包方法,可以避免重复的资源打包,缩短打包所需的时间。
本申请实施例提供的一种三维动画引擎的资源打包方法,包括:
A、读取上次打包结束时保存的资源数据和打包信息,生成历史资源数据列表和历史打包信息列表;
B、对资源目录进行遍历,记录所有的原始游戏资源并收集本次的资源数据和打包信息;
C、比较本次的资源数据与历史资源数据列表,以及比较本次的打包信息和历史打包信息列表,分析哪些资源需要重新打包,生成重打包资源列表;
D、遍历重打包资源列表,判断其子资源是否已被打包,若是,则对该资源进行打包,将该资源从重打包资源列表中删除,并加入已打包列表,否则先跳过;如此循环遍历直到重打包资源列表为空;
E、保存本次的资源数据和打包信息。
较佳地,步骤A中,若不存在上次打包结束时保存的资源数据和打包信息,则生成两个对应的空表。
较佳地,所述原始游戏资源包括:渲染器、贴图、材质、模型、动画、网格、预制件、场景或以上内容的任意组合。
较佳地,所述资源数据包括:资源路径、文件大小与MD5值、对应的元数据文件大小和MD5值、父资源列表、子资源列表、打包的包名称。
较佳地,所述打包信息包括每个包的名称以及其所包含的资源名称。
较佳地,该方法进一步包括:增加强制打包的设置选项,对于某些非公共的可以被打入父资源包的子资源,强制令它们单独打成一个包。
较佳地,打包命名规则包括:
规则一:如果某一资源被指定强制打包,则其包名称为该资源名称。
较佳地,打包命名规则进一步包括:
规则二:非强制打包资源,如果父资源列表为空,则其包名称为资源名称,规则二的优先级低于规则一。
较佳地,打包命名规则进一步包括:
规则三:如果父资源只有一个,则其包名称为父资源的包名称,同时将与该资源同名的包内所有的资源所对应的包名称改为父资源包名称;规则三的优先级低于规则二。
较佳地,打包命名规则进一步包括:
规则四:如果有多个父资源,则其包名称为资源名称;规则四的优先级低于规则三。
较佳地,令历史资源数据列表中的历史资源数据为TA1,历史打包信息列表中的历史打包数据为TB1,本次收集的资源数据和打包信息为TA2和TB2;步骤C包括:
C1、若任一资源的本次的资源数据与历史资源数据列表中的对应记录不一致,将该资源的脏标记设置为True,否则将该资源的脏标记设置为false;
C2、若任一资源满足如下条件之一,设置该资源的重打包标记为True,否则设置该资源的重打包标记为false:
该资源在TA2中不存在对应的包名称;
该资源位于TB2中的一个包,且该包在TB1和TB2中包含的资源列表不一致;
该资源在TA1中的脏标记和强制打包属性均为True;
该资源的任一子资源的脏标记为True,且强制打包标记为False;
该资源的任一直接或间接父资源的重打包标记为True;
在资源位于TB2的一个包中,该包的资源列表中存在需要重新打包的资源;
C3、生成包含所有重打包标记为True的资源的重打包资源列表。
较佳地,步骤C1包括:
如果任一资源满足如下条件之一,设置该资源的脏标记为True,若都不满足设置该资源的脏标记为false:
该资源包含在TA2中,但不包含在TA1;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京畅游天下网络技术有限公司,未经北京畅游天下网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510632736.5/2.html,转载请声明来源钻瓜专利网。