装备模型渲染方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:37397185 阅读:19 留言:0更新日期:2023-04-30 09:25
本发明专利技术提供的一种装备模型渲染方法、装置、计算机设备和存储介质,涉及计算机技术领域。所述方法:首先,根据用于控制待渲染装备模型的每个目标骨骼的ID和待渲染装备模型对应的第一数组,从游戏角色对应的第二数组中读取每个目标骨骼的骨骼矩阵;其中,每个目标骨骼均在创建待渲染装备模型时被游戏角色加载,第一数组存储有每个目标骨骼的骨骼矩阵索引,第二数组存储有游戏角色的每个已加载骨骼的骨骼矩阵,骨骼矩阵索引表征骨骼矩阵在第二数组中的存储位置;然后,基于每个目标骨骼的骨骼矩阵,对待渲染装备模型进行渲染,从而避免因按照游戏角色的故骨骼的最大ID生成用于存储骨骼矩阵的数组,造成的内存资源浪费。造成的内存资源浪费。造成的内存资源浪费。

【技术实现步骤摘要】
装备模型渲染方法、装置、计算机设备及存储介质


[0001]本专利技术涉及计算机
,具体而言,涉及一种装备模型渲染方法、装置、计算机设备及存储介质。

技术介绍

[0002]三维游戏中,每个游戏角色可能会穿戴不同的装备,比如头上的触角、背后的披风、腰部的吊坠,这些装备的模型会跟随游戏角色的骨骼动画而变化,进而产生动画效果。
[0003]游戏角色的骨骼包括用于控制角色身体的基础骨骼,还包括许多用于控制角色穿戴的装备的附加骨骼。如果预先在角色上面加载所有的骨骼,则骨骼动画计算时,很多没有用到的附加骨骼也会计算,会影响效率,因此,目前常用动态加载附加骨骼的方式,也就是穿戴某个装备才加载对应装备需要的骨骼,而这也使得游戏角色上被加载的骨骼的ID往往是不连续的。
[0004]由于在渲染装备的模型时,需要根据骨骼的ID获取对应骨骼的骨骼矩阵的偏移数据,目前通常时按照游戏角色的骨骼的最大ID生成数组,再将每个骨骼的骨骼矩阵存储至数组中顺序与该骨骼的ID相同的位置,由于游戏角色上被加载的骨骼的ID是不连续的,因此数组中会存在很多空缺位置,造成内存资源的浪费。

技术实现思路

[0005]为了克服现有技术的不足,本专利技术实施例提供了一种装备模型渲染方法、装置、计算机设备和存储介质。
[0006]本专利技术实施例的技术方案可以这样实现:
[0007]第一方面,本专利技术提供一种装备模型渲染方法,所述方法包括:
[0008]根据用于控制待渲染装备模型的每个目标骨骼的ID和所述待渲染装备模型对应的第一数组,从游戏角色对应的第二数组中读取每个所述目标骨骼的骨骼矩阵;
[0009]其中,每个所述目标骨骼均在创建所述待渲染装备模型时被所述游戏角色加载,所述第一数组存储有每个所述目标骨骼的骨骼矩阵索引,所述第二数组存储有所述游戏角色的每个已加载骨骼的骨骼矩阵,所述骨骼矩阵索引表征所述骨骼矩阵在所述第二数组中的存储位置;
[0010]基于每个所述目标骨骼的骨骼矩阵,对所述待渲染装备模型进行渲染。
[0011]可选地,在所述根据用于控制待渲染装备模型的每个目标骨骼的ID和所述待渲染装备模型对应的第一数组,从游戏角色对应的第二数组中读取每个所述目标骨骼的骨骼矩阵之前,所述方法还包括:
[0012]在创建所述待渲染装备模型时,基于每个所述目标骨骼的ID对当前时刻所述游戏角色对应的映射关系表进行更新,得到更新后的所述映射关系表;
[0013]其中,所述映射关系表存储有多条映射信息,一条所述映射信息包括所述游戏角色的一个已加载骨骼的ID和骨骼矩阵索引;
[0014]根据每个所述目标骨骼的ID,从更新后的所述映射关系表中获取每个所述目标骨骼的骨骼矩阵索引,以生成所述第一数组。
[0015]可选地,所述基于每个所述目标骨骼的ID对当前时刻所述游戏角色对应的映射关系表进行更新的步骤包括:
[0016]基于每个所述目标骨骼的ID和所述映射关系表,确定待处理骨骼,所述待处理骨骼是当前时刻未被所述游戏角色加载的目标骨骼;
[0017]通过加载所述待处理骨骼,生成所述待处理骨骼的骨骼矩阵;
[0018]将所述待处理骨骼的骨骼矩阵存储至所述第二数组,并根据所述待处理骨骼的骨骼矩阵在所述第二数组中的存储位置,生成所述待处理骨骼的骨骼矩阵索引;
[0019]将包含所述待处理骨骼的ID和骨骼矩阵索引的映射信息添加进所述映射关系表,以对所述映射关系表进行更新。
[0020]可选地,所述基于每个所述目标骨骼的ID和所述映射关系表,确定待处理骨骼的步骤包括:
[0021]针对每个所述目标骨骼,若所述映射关系表中不存在包括所述目标骨骼的ID的映射信息,则将所述目标骨骼作为所述待处理骨骼。
[0022]可选地,所述方法还包括:
[0023]若所述游戏角色存在已被删除的装备模型,则根据用于控制已被删除的装备模型的每个目标骨骼的标签,对当前时刻的所述映射关系表进行更新,得到更新后映射关系表;
[0024]利用更新后映射关系表,对所述游戏角色的未被删除的装备模型对应的第一数组进行更新。
[0025]可选地,所述根据用于控制已被删除的装备模型的每个目标骨骼的标签,对当前时刻的所述映射关系表进行更新的步骤包括:
[0026]根据每个所述目标骨骼的标签,从所有所述目标骨骼中确定出待卸载骨骼;
[0027]将包括所述待卸载骨骼的ID的映射信息从所述映射关系表中删除;
[0028]按照所述待卸载骨骼的骨骼矩阵索引,将所述待卸载骨骼的骨骼矩阵从所述第二数组中删除,并调整所述第二数组中每个未被删除的骨骼矩阵的存储位置,得到更新后的第二数组;
[0029]利用更新后的第二数组对所述映射关系表进行更新。
[0030]可选地,所述根据每个所述目标骨骼的标签,确定待卸载骨骼的步骤包括:
[0031]针对每个所述目标骨骼,若根据所述目标骨骼的标签,判定所述目标骨骼不是所述游戏角色的基础骨骼,则将所述目标骨骼作为待卸载骨骼。
[0032]第二方面,本专利技术实施例提供一种装备模型渲染装置,所述装置包括:
[0033]获取模块,用于根据用于控制待渲染装备模型的每个目标骨骼的ID和所述待渲染装备模型对应的第一数组,从游戏角色的第二数组中读取每个所述目标骨骼的骨骼矩阵;
[0034]其中,每个所述目标骨骼均在创建所述待渲染装备模型时被所述游戏角色加载,所述第一数组存储有每个所述目标骨骼的骨骼矩阵的索引,所述第二数组存储有所述游戏角色的每个已加载骨骼的骨骼矩阵,所述骨骼矩阵的索引表征所述骨骼矩阵在所述第二数组中的存储位置;
[0035]渲染模块,用于根据每个所述目标骨骼的骨骼矩阵,对所述待渲染装备模型进行
渲染。
[0036]第三方面,本专利技术实施例提供一种计算机设备,其包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如前述第一方面所述的装备模型渲染方法。
[0037]第四方面,本专利技术提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如前述第一方面所述的装备模型渲染方法。
[0038]相较于现有技术,本专利技术实施例提供的一种装备模型渲染方法,首先,根据用于控制待渲染装备模型的每个目标骨骼的ID和待渲染装备模型对应的第一数组,从游戏角色对应的第二数组中读取每个目标骨骼的骨骼矩阵;其中,每个目标骨骼均在创建待渲染装备模型时被游戏角色加载,第一数组存储有每个目标骨骼的骨骼矩阵索引,第二数组存储有游戏角色的每个已加载骨骼的骨骼矩阵,骨骼矩阵索引表征骨骼矩阵在第二数组中的存储位置;然后,基于每个目标骨骼的骨骼矩阵,对待渲染装备模型进行渲染。由于本专利技术实施例通过对待渲染装备模型设置第一数组,对游戏角色设置第二数组,第二数组中存储游戏角色的每个已记载骨骼的骨骼矩阵,第一数组存储表征骨骼矩阵在第二数组中的存储位置的骨骼矩阵索引,从而避免因本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种装备模型渲染方法,其特征在于,所述方法包括:根据用于控制待渲染装备模型的每个目标骨骼的ID和所述待渲染装备模型对应的第一数组,从游戏角色对应的第二数组中读取每个所述目标骨骼的骨骼矩阵;其中,每个所述目标骨骼均在创建所述待渲染装备模型时被所述游戏角色加载,所述第一数组存储有每个所述目标骨骼的骨骼矩阵索引,所述第二数组存储有所述游戏角色的每个已加载骨骼的骨骼矩阵,所述骨骼矩阵索引表征所述骨骼矩阵在所述第二数组中的存储位置;基于每个所述目标骨骼的骨骼矩阵,对所述待渲染装备模型进行渲染。2.如权利要求1所述的方法,其特征在于,在所述根据用于控制待渲染装备模型的每个目标骨骼的ID和所述待渲染装备模型对应的第一数组,从游戏角色对应的第二数组中读取每个所述目标骨骼的骨骼矩阵之前,所述方法还包括:在创建所述待渲染装备模型时,基于每个所述目标骨骼的ID对当前时刻所述游戏角色对应的映射关系表进行更新,得到更新后的所述映射关系表;其中,所述映射关系表存储有多条映射信息,一条所述映射信息包括所述游戏角色的一个已加载骨骼的ID和骨骼矩阵索引;根据每个所述目标骨骼的ID,从更新后的所述映射关系表中获取每个所述目标骨骼的骨骼矩阵索引,以生成所述第一数组。3.如权利要求2所述的方法,其特征在于,所述基于每个所述目标骨骼的ID对当前时刻所述游戏角色对应的映射关系表进行更新的步骤包括:基于每个所述目标骨骼的ID和所述映射关系表,确定待处理骨骼,所述待处理骨骼是当前时刻未被所述游戏角色加载的目标骨骼;通过加载所述待处理骨骼,生成所述待处理骨骼的骨骼矩阵;将所述待处理骨骼的骨骼矩阵存储至所述第二数组,并根据所述待处理骨骼的骨骼矩阵在所述第二数组中的存储位置,生成所述待处理骨骼的骨骼矩阵索引;将包含所述待处理骨骼的ID和骨骼矩阵索引的映射信息添加进所述映射关系表,以对所述映射关系表进行更新。4.如权利要求3所述的方法,其特征在于,所述基于每个所述目标骨骼的ID和所述映射关系表,确定待处理骨骼的步骤包括:针对每个所述目标骨骼,若所述映射关系表中不存在包括所述目标骨骼的ID的映射信息,则将所述目标骨骼作为所述待处理骨骼。5.如权利要求2所述的方法,其特征在...

【专利技术属性】
技术研发人员:吕天胜
申请(专利权)人:北京像素软件科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1