一种3D游戏资源按需下载的方法及系统与流程

文档序号:31528590发布日期:2022-09-14 15:53阅读:来源:国知局

技术特征:
1.一种3d游戏资源按需下载的方法,其特征在于:包括以下步骤:s1:在进入游戏前,资源更新包制作模块将游戏新增或变更的游戏资源打包制作成资源更新包,并生成对应的资源索引更新数据更新到本地资源索引数据库,将资源更新包及源索引更新数据上传到cdn下载服务器中;s2:在进入游戏后,资源依赖关系生成模块根据玩家位置生成当前需要加载的资源列表;s3:资源索引管理模块遍历资源依赖关系生成模块生成的资源列表,并根据生成的资源列表查找资源索引数据库是否存在对应的游戏资源更新包,如果不存在对应的游戏资源更新包则从cdn服务器中下载所需资源,如果游戏资源更新包过期则从cdn服务器中下载并生成新的的游戏资源更新包;s4:资源下载模块从cdn服务器中下载本地资源索引数据库中不存在或重新更新的游戏资源后,更新资源索引数据库;s5:资源加载模块加载更新后的资源索引数据库中的游戏资源,并进行渲染,反馈到玩家的当前位置。2.根据权利要求1所述一种3d游戏资源按需下载的方法,其特征在于,步骤s1具体为:首先,游戏资源更新包制作模块将每一个游戏版本中新增或变更的游戏资源离线打包成一个加密的二进制数据文件,随后游戏资源更新包制作模块遍历二进制数据文件中所有资源,生成一个包含所有资源文件总表的游戏资源更新包;然后遍历所有已经生成的游戏资源更新包,在游戏资源更新包中生成一个资源文件子表;最后从总表中剔除子表中存在且资源没有变化的数据项,得到新增或变更的文件的更新表,并将更新表中列出的资源文件根据需要打包成一个或多个资源包,并对每个资源包提供一个对应的资源列表文件,生成对应的资源索引更新数据,并更新到本地资源索引数据库;将资源更新包及源索引更新数据上传到cdn下载服务器中。3.根据权利要求2所述一种3d游戏资源按需下载的方法,其特征在于:所述资源列表文件包含所述数据包中资源的文件名称及所在资源包的起始位置和大小。4.根据权利要求1所述一种3d游戏资源按需下载的方法,其特征在于:步骤2具体为:在进入游戏后,资源依赖关系生成模块根据玩家位置获取游戏中模型材质数据、网格数据、动画数据,与材质数据依赖纹理数据、着色器程序数据,并生成当前需要加载的资源列表。5.根据权利要求1所述一种3d游戏资源按需下载的方法,其特征在于:步骤s3具体为:资源索引管理模块遍历资源依赖关系生成模块生成的资源列表,并制作资源更新包,制作完资源更新包后,资源索引管理模块将对所有的资源包按版本顺序依次扫描其内的所有资源,并以索引为主键,所在资源包及在资源包中的起始位置和大小存入索引数据库;如果不存在对应的游戏资源更新包则从cdn服务器中下载所需资源,如果游戏资源更新包过期则从cdn服务器中下载并生成新的的游戏资源更新包。6.根据权利要求5所述一种3d游戏资源按需下载的方法,其特征在于:如果资源索引管理模块索引到更新的资源文件,就将新资源的索引信息更新数据库,每次资源索引数据库有更新时就增加数据库版本号,游戏客户端每次启动时通过检查索引数据库版本是否和服务器端匹配,如果不匹配需要依次对每一个版本进行更新,将对应版本更新的数据更新到
本地资源索引数据库。7.根据权利要求1所述一种3d游戏资源按需下载的方法,其特征在于:步骤s4具体为:当资源索引管理模块通过查询资源索引数据库之后发现本地资源不存在或者已过期,则向cdn服务器请求下载该资源,资源下载模块从cdn服务器下载本地资源数据库中不存在的该游戏资源,并缓存到本地资源数据库,在资源下载完后对其进行哈希校验,如果成功则将缓存中的资源移动到本地数据包中并更新索引数据库。8.根据权利要求1所述一种3d游戏资源按需下载的方法,其特征在于:步骤s5具体为:资源加载模块根据根据游戏对象自身的资源索引,将需要的资源索引加入加载队列,并将相关联资源加载完成回调函数,如果所需资源在本地不存在则先调用资源下载模块下载资源,本地资源准备就绪后开始后台加载资源本身及其依赖的资源,等到所需资源全部加载完后开始渲染,渲染完成后反馈到玩家的当前位置。9.一种3d游戏资源按需下载的系统,其特征在于,包括资源更新包制作模块、资源依赖关系生成模块、资源索引管理模块、资源下载模块及资源加载模块;所述资源更新包制作模块用于将游戏新增或变更的资源打包制作成资源更新包,并生成对应的资源索引更新数据更新到本地资源索引数据库;及将资源更新包及源索引更新数据上传到cdn下载服务器中;所述资源依赖关系生成模块用于根据玩家位置生成当前需要加载的资源列表;所述资源索引管理模块用于遍历资源依赖关系生成模块生成的资源列表,并根据生成的资源列表查找资源索引数据库是否存在对应的游戏资源更新包,如果不存在对应的游戏资源更新包则从cdn服务器中下载所需资源,如果游戏资源更新包过期则从cdn服务器中下载并生成新的的游戏资源更新包;所述资源下载模块用于从cdn服务器中下载本地资源索引数据库中不存在或重新更新的游戏资源后,更新资源索引数据库;所述资源加载模块用于加载更新后的资源索引数据库中的游戏资源,并进行渲染,反馈到玩家的当前位置。

技术总结
本发明提供一种3D游戏资源按需下载的方法及系统,通过将游戏资源以更新包的方式打包成更新包并生成资源依赖信息和资源索引数据来为客户端提供一种可以按需下载的数据源。通过将进入游戏时必须存在的资源和其他可以在需要时再下载的资源分开打包到不同的更新包来达到安装游戏时只需要下载最小的安装包即可以进入游戏。通过为资源创建索引信息并存入到数据库达到在游戏过程中可以快速定位所需资源是否需要下载及需要下载的游戏包和资源所在包位置。通过在游戏过程中根据需要下载游戏资源解决了在进入游戏前就需要下载大量资源的问题,极大降低了玩家进入游戏体验的门槛,同时也节省大量的宽带流量。同时也节省大量的宽带流量。同时也节省大量的宽带流量。


技术研发人员:陈鹏 蓝永彬 易泉水 何雷
受保护的技术使用者:贵州柏壹互娱科技有限公司
技术研发日:2022.06.15
技术公布日:2022/9/13
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1