CN109529347A - 3d游戏骨骼增删方法及装置 - Google Patents
3d游戏骨骼增删方法及装置 Download PDFInfo
- Publication number
- CN109529347A CN109529347A CN201811396345.8A CN201811396345A CN109529347A CN 109529347 A CN109529347 A CN 109529347A CN 201811396345 A CN201811396345 A CN 201811396345A CN 109529347 A CN109529347 A CN 109529347A
- Authority
- CN
- China
- Prior art keywords
- count value
- reference count
- skeleton data
- equipment
- game
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6009—Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例涉及游戏模拟技术领域,具体而言,涉及一种3D游戏骨骼增删方法及装置,该方法包括:响应用户输入的针对一游戏角色的装备穿戴指令,根据装备穿戴指令提取出预存的第一目标装备的第一骨骼数据,获取游戏角色的基础骨骼数据,在基础骨骼数据中查找是否存在与第一骨骼数据中的第一子节点相匹配的第一目标父节点,若存在,获取第一骨骼数据的第一引用计数值,判断第一引用计数值是否为零,若为零,将第一子节点和第一目标父节点进行结合并将第一引用计数值记为一,将第一目标装备添加至游戏角色中第一子节点和第一目标父节点的结合处并进行显示,如此,能够提高游戏角色在装备更换时骨骼数据的更换效率,减少对文件资源的占用。
Description
技术领域
本发明实施例涉及游戏模拟技术领域,具体而言,涉及一种3D游戏骨骼增删方法及装置。
背景技术
在3D游戏中,骨骼数据是最基础的数据之一,动画数据作用于骨骼数据,通过对骨骼数据的更新控制模型的效果,进而产生动画的效果。当游戏角色在更换装备时,通常是基于骨骼数据进行的。但是现有技术在进行游戏角色装备更换时,会存在骨骼数据更换效率低、占用文件资源过大的问题。
发明内容
有鉴于此,本发明提供了一种3D游戏骨骼增删方法及装置,能够提高游戏角色在装备更换时骨骼数据的更换效率,减少对文件资源的占用。
本发明实施例提供了一种3D游戏骨骼增删方法,应用于游戏客户端,所述方法包括:
响应用户输入的针对一游戏角色的装备穿戴指令,根据所述装备穿戴指令提取出预存的第一目标装备的第一骨骼数据;
获取游戏角色的基础骨骼数据,在所述基础骨骼数据中查找是否存在与所述第一骨骼数据中的第一子节点相匹配的第一目标父节点,若存在,获取所述第一骨骼数据的第一引用计数值,判断所述第一引用计数值是否为零,若所述第一引用计数值为零,将所述第一子节点和所述第一目标父节点进行结合并将所述第一引用计数值记为一;
将所述第一目标装备添加至所述游戏角色中所述第一子节点和所述第一目标父节点的结合处并进行显示。
可选地,所述方法还包括:
若所述第一引用计数值不为零,将所述第一引用计数值加一,将所述第一目标装备添加至所述游戏角色中所述第一子节点和所述第一目标父节点的结合处并进行显示。
可选地,所述方法还包括:
响应用户输入的针对所述游戏角色的另一装备穿戴指令,根据所述另一装备穿戴指令提取出预存的第二目标装备的第二骨骼数据;
判断所述第二骨骼数据与所述第一骨骼数据是否相同;
若所述第二骨骼数据与所述第一骨骼数据相同,将所述第一引用计数值加一,将所述第二目标装备添加至所述游戏角色中所述第一子节点和所述第一目标父节点的结合处并进行显示;
若所述第二骨骼数据与所述第一骨骼数据不相同,在所述基础骨骼数据中查找是否存在与所述第二骨骼数据中的第二子节点相匹配的第二目标父节点,若存在,获取所述第二骨骼数据的第二引用计数值,判断所述第二引用计数值是否为零,若所述第二引用计数值为零,将所述第二子节点和所述第二目标父节点进行结合并将所述第二引用计数值记为一,将所述第二目标装备添加至所述游戏角色中所述第二子节点和所述第二目标父节点的结合处并进行显示。
可选地,所述方法还包括:
若所述第二引用计数值不为零,将所述第二引用计数值加一,将所述第二目标装备添加至所述游戏角色中所述第二子节点和所述第二目标父节点的结合处并进行显示。
可选地,所述方法还包括:
响应用户输入的针对所述游戏角色的装备脱卸指令,获取第三目标装备的第三骨骼数据对应的第三引用计数值;
判断所述第三引用计数值是否为一;
若所述第三引用计数值为一,将所述第三引用计数值减一,并将所述第三骨骼数据与所述基础骨骼数据进行分离,将所述第三目标装备从所述游戏角色中移除。
可选地,所述方法还包括:
若所述第三引用计数值不为一,将所述第三引用计数值减一,将所述第三目标装备从所述游戏角色中移除。
可选地,在所述基础骨骼数据中查找是否存在与所述第一骨骼数据中的第一子节点相匹配的第一目标父节点的步骤,具体包括:
获取所述第一子节点的索引值,获取所述第一目标父节点的索引值;
判断所述第一子节点的索引值与所述第一目标父节点的索引值是否相同,若相同,判定第一子节点与所述第一目标父节点相匹配。
本发明实施例还提供了一种3D游戏骨骼增删装置,应用于游戏客户端,所述装置包括:
装备穿戴指令响应模块,用于响应用户输入的针对一游戏角色的装备穿戴指令,根据所述装备穿戴指令提取出预存的第一目标装备的第一骨骼数据;
骨骼数据增添模块,用于获取游戏角色的基础骨骼数据,在所述基础骨骼数据中查找是否存在与所述第一骨骼数据中的第一子节点相匹配的第一目标父节点,若存在,获取所述第一骨骼数据的第一引用计数值,判断所述第一引用计数值是否为零,若所述第一引用计数值为零,将所述第一子节点和所述第一目标父节点进行结合并将所述第一引用计数值记为一;
显示模块,用于将所述第一目标装备添加至所述游戏角色中所述第一子节点和所述第一目标父节点的结合处并进行显示。
可选地,所述装置还包括:
装备脱卸指令响应模块,用于响应用户输入的针对所述游戏角色的装备脱卸指令,获取第三目标装备的第三骨骼数据对应的第三引用计数值;
骨骼数据删除模块,用于判断所述第三引用计数值是否为一;若所述第三引用计数值为一,将所述第三引用计数值减一,并将所述第三骨骼数据与所述基础骨骼数据进行分离,将所述第三目标装备从所述游戏角色中移除。
可选地,所述骨骼数据增添模块在所述基础骨骼数据中查找是否存在与所述第一骨骼数据中的第一子节点相匹配的第一目标父节点,具体包括:
获取所述第一子节点的索引值,获取所述第一目标父节点的索引值;
判断所述第一子节点的索引值与所述第一目标父节点的索引值是否相同,若相同,判定第一子节点与所述第一目标父节点相匹配。
本发明实施例还提供了一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的3D游戏骨骼增删方法。
本发明实施例还提供了一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在电子设备执行上述的3D游戏骨骼增删方法。
有益效果
本发明实施例提供的3D游戏骨骼增删方法及装置,在游戏角色需要穿戴装备时,将第一目标装备的第一骨骼数据添加至游戏角色的基础骨骼数据,避免了对基础骨骼数据的调整,相比于现有的将装备的骨骼数据与游戏角色的基础骨骼数据融为一体然后整体替换,该方法能够明显减少骨骼数据更换的时间,提高骨骼数据更换的效率,减少骨骼数据的大小,进而减少对文件资源的占用。
进一步地,在将第一目标装备的第一骨骼数据添加至游戏角色的基础骨骼数据时,会判断第一骨骼数据是否已经存在,若存在,不会继续添加第一骨骼数据,如此,减少了第一骨骼数据的冗余,减少了对文件资源的占用,进一步提高了骨骼数据更换的效率。
进一步地,在穿戴不同的目标装备时,会判断不同的目标装备的骨骼数据是否相同,若相同,不会重复添加骨骼数据,进而减少骨骼数据的冗余,提高骨骼数据更换的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的一种电子设备10的方框示意图。
图2为本发明实施例所提供的一种3D游戏骨骼增删方法的第一流程图。
图3为本发明实施例所提供的一种3D游戏骨骼增删方法的第二流程图。
图4为本发明实施例所提供的一种3D游戏骨骼增删方法的第三流程图。
图5为本发明实施例所提供的一种3D游戏骨骼增删装置20的模块框图。
图标:
10-电子设备;11-存储器;12-处理器;13-网络模块;
20-3D游戏骨骼增删装置;21-装备穿戴指令响应模块;22-骨骼数据增添模块;23-显示模块;24-装备脱卸指令响应模块;25-骨骼数据删除模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
发明人经调查发现,现有技术在进行游戏角色装备更换时,会存在骨骼数据更换效率低、占用文件资源过大的问题。发明人针对这一问题进行了研究分析,发现现有技术在进行游戏角色装备更换时,通常采用如下方式进行:将装备的骨骼数据与游戏角色的某一部位的骨骼数据进行融合,在穿戴该装备时,会将游戏角色的某一部位的骨骼数据删除,然后将融合之后的骨骼数据进行添加,如此,游戏角色的某一部位的骨骼数据先后经历了删除、再添加的过程,处理过程不免有些繁琐,并且游戏角色的骨骼数据大多占用资源较多,频繁地对游戏角色的骨骼数据进行删除和添加,会降低装备更换时骨骼数据更换的效率,也占用了较多的文件资源。
此外,当对游戏角色的同一部位进行多次装备更换时,采用现有技术会显著增加对文件资源的占用。因为现有技术的装备更换,侧重点在于“替换”,也就是说,在替换的过程中,游戏角色的骨骼数据会被多次删除,然后被多次添加,如此,降低了骨骼数据更换的效率,会产生很多重复数据,占用过多的文件资源。
以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。
基于上述研究,本发明实施例提供了一种3D游戏骨骼增删方法及装置,能够在游戏角色进行装备更换时有效提高骨骼数据更换的效率,减少对文件资源的占用。
图1示出了本发明实施例所提供的一种电子设备10的方框示意图。本发明实施例中的电子设备10可以为具有数据存储、传输、处理功能的服务端,如图1所示,电子设备10包括:存储器11、处理器12、网络模块13和3D游戏骨骼增删装置20。
存储器11、处理器12和网络模块13之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件互相之间可以通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有3D游戏骨骼增删装置20,所述3D游戏骨骼增删装置20包括至少一个可以软件或固件(firmware)的形式储存于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,例如本发明实施例中的3D游戏骨骼增删装置20,从而执行各种功能应用以及数据处理,即实现本发明实施例中的3D游戏骨骼增删方法。
其中,所述存储器11可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。
所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
网络模块13用于通过网络建立电子设备10与其他通信终端设备之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。
可以理解,图1所示的结构仅为示意,电子设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序。所述计算机程序运行时控制所述可读存储介质所在电子设备10执行下面的3D游戏骨骼增删方法。
图2示出了本发明实施例所提供的一种3D游戏骨骼增删方法的第一流程图。所述方法有关的流程所定义的方法步骤应用于电子设备10,可以由所述处理器12实现。下面将对图2所示的具体流程进行详细阐述:
在本实施例中,电子设备10可以为安装有《寻仙》游戏客户端的PC机。可以理解,该方法应用于《寻仙》游戏客户端。
步骤S21,响应用户输入的针对一游戏角色的装备穿戴指令,根据装备穿戴指令提取出预存的第一目标装备的第一骨骼数据。
例如,用户通过双击PC机的鼠标实现装备穿戴指令的输入,游戏客户端响应该装备穿戴指令,根据该装备穿戴指令提取出预存的第一目标装备的第一骨骼数据,又例如,第一目标装备可以为头盔。头盔的第一骨骼数据在游戏开发阶段存储在模型关联的文件中,可以理解存在一存储装备的骨骼数据的预设数据库。
步骤S22,获取游戏角色的基础骨骼数据。
可以理解,游戏角色的基础骨骼数据也可以存储在预设数据库中。
步骤S23,在基础骨骼数据中查找是否存在与第一骨骼数据中的第一子节点相匹配的第一目标父节点。
在本实施例中,基础骨骼数据可以理解为游戏角色的裸模数据,也就是说基础骨骼数据可以包括头部骨骼数据、躯干骨骼数据、手臂骨骼数据和腿部骨骼数据等反映游戏角色身体部位的骨骼数据,可以理解,基础骨骼数据中存储有具有索引值的父节点,例如,头部骨骼数据中存储有索引值为X1的父节点F1,手臂骨骼数据中存储有索引值为X2的父节点F2。
相应地,头盔的第一骨骼数据中存储有索引值为X0的子节点Z0。
由于本实施例不是通过替换的方式实现装备的更换,因此,为了保证装备穿戴于游戏角色正确的身体部位,需要对第一骨骼数据和基础骨骼数据进行匹配,由上述说明可见,实现匹配的原理主要是通过父子节点索引值的比较实现的。
例如,查找基础骨骼数据的多个索引值(X1、X2等)中是否存在与索引值X0相同的索引值,又例如,若X0=X1,判定子节点Z0与父节点F1相匹配,其中,子节点Z0可以理解为第一子节点,父节点F1可以理解为第一目标父节点,转向步骤S24,若不存在,说明游戏角色无法穿戴头盔,此时游戏客户端不作任何操作。
步骤S24,获取第一骨骼数据的第一引用计数值,判断第一引用计数值是否为零。
可以理解,若X0=X1,说明游戏角色可以穿戴头盔,但是将第一骨骼数据添加至基础骨骼数据时,还需要判断基础骨骼数据是否已经添加了第一骨骼数据,此时会获得第一骨骼数据的第一引用计数值,其中,第一引用计数值为不小于零的整数。
若第一引用计数值为零,说明父节点F1对应的头部骨骼数据还没有添加第一骨骼数据,此时转向步骤S25。
若第一引用计数值不为零,说明父节点F1对应的头部骨骼数据已经添加了第一骨骼数据,此时转向步骤S26。
步骤S25,将第一子节点和第一目标父节点进行结合并将第一引用计数值记为一,将第一目标装备添加至游戏角色中第一子节点和第一目标父节点的结合处并进行显示。
可以理解,若第一引用计数值为零,此时将第一骨骼数据添加至头部骨骼数据,具体方式是将子节点Z0与父节点F1进行结合,然后将第一引用计数值记为一,并将头盔添加至游戏角色头部的子节点Z0与父节点F1结合处,如此,便能实现头盔的穿戴。
步骤S26,将第一引用计数值加一,将第一目标装备添加至游戏角色中第一子节点和第一目标父节点的结合处并进行显示。
若第一引用计数值不为零,说明第一骨骼数据已经添加到了头部骨骼数据,此时无需再将第一骨骼数据进行添加,直接将头盔添加至游戏角色头部子节点Z0与父节点F1结合处进行显示。如此,避免了重复添加第一骨骼数据,避免了第一骨骼数据的冗余,也减少了对文件资源的占用。
可选地,在步骤S26的基础上再次增添装备,其实现原理也是类似的,具体请参阅图3:
步骤S31,响应用户输入的针对游戏角色的另一装备穿戴指令,根据另一装备穿戴指令提取出预存的第二目标装备的第二骨骼数据。
例如,第二目标装备可以为头饰。
步骤S32,判断第二骨骼数据与第一骨骼数据是否相同。
在本实施例中,判断第二骨骼数据和第一骨骼数据是否相同的目的在于避免重复添加骨骼数据。
若第二骨骼数据与第一骨骼数据相同,转向步骤S33。
若第二骨骼数据与第一骨骼数据不相同,转向步骤S34。
步骤S33,将第一引用计数值加一,将第二目标装备添加至游戏角色中第一子节点和第一目标父节点的结合处并进行显示。
可以理解,若第二骨骼数据与第一骨骼数据相同,此时就没有必要再将第二骨骼数据添加至头部骨骼数据,避免了骨骼数据的重复和冗余。
进一步地,直接将头饰添加至游戏角色中第一子节点和第一目标父节点的结合处并进行显示,此时游戏角色的显示效果是头盔+头饰。
步骤S34,在基础骨骼数据中查找是否存在与第二骨骼数据中的第二子节点相匹配的第二目标父节点,根据查找结果对第二骨骼数据、第二引用计数值进行设置,并将第二目标装备添加至游戏角色中进行显示。
可以理解,若第二骨骼数据与第一骨骼数据不相同,说明第二骨骼数据会不会添加至头部骨骼数据而会添加到其他身体部位对应的骨骼数据,因此,此时会执行进一步的判断。
例如,在基础骨骼数据中查找是否存在与第二骨骼数据中的第二子节点相匹配的第二目标父节点,若存在,获取第二骨骼数据的第二引用计数值。
进一步地,判断第二引用计数值是否为零,若第二引用计数值为零,将第二子节点和第二目标父节点进行结合并将第二引用计数值记为一,将第二目标装备添加至游戏角色中第二子节点和第二目标父节点的结合处并进行显示,若第二引用计数值不为零,将第二引用计数值加一,将第二目标装备添加至游戏角色中第二子节点和第二目标父节点的结合处并进行显示。
可以理解,步骤S34的实现原理与图2所示的方法的实现原理类似,因此在此不作更多说明。
请结合参阅图2和图3,游戏人物在添加装备时,如果装备的骨骼数据一样,那么只会添加一次骨骼数据,进而避免了骨骼数据的重复和冗余,同时也减少了对文件资源的占用。
图4示出了本发明实施例所提供的一种3D游戏骨骼增删方法的第三流程图。
在本实施例中,图4主要是对装备脱卸进行说明。
步骤S41,响应用户输入的针对游戏角色的装备脱卸指令,获取第三目标装备的第三骨骼数据对应的第三引用计数值。
例如,第三目标装备可以为护腕。
步骤S42,判断第三引用计数值是否为一。
若第三引用计数的值为一,转向步骤S43。
若第三引用计数的值不为一,转向步骤S44。
可以理解,既然要脱卸装备,那么第三引用计数值至少为一,否则就不会响应装备脱卸指令。
步骤S43,将第三引用计数值减一,并将第三骨骼数据与基础骨骼数据进行分离,将第三目标装备从游戏角色中移除。
将第三引用计数值减一,此时第三引用计数值变为零,因此需要将第三骨骼数据与手臂骨骼数据分离,然后将护腕从游戏角色中移除。其中,将第三骨骼数据与手臂骨骼数据分离可以理解为从手臂骨骼数据中删除第三骨骼数据。
步骤S44,将第三引用计数值减一,将第三目标装备从游戏角色中移除。
由于第三引用计数值大于一,在执行减一之后,仍然不为零,此时无需删除第三骨骼数据,只需要将护腕从游戏角色中移除即可。
可以理解,对装备进行脱卸的时候也会根据装备对应的骨骼数据的引用计数进行,如此,能够避免每脱卸一次装备就删除一次骨骼数据,进而避免了对骨骼数据的额外处理,减少了文件资源的占用。
如此,能够灵活地实现装备穿戴和脱卸时对骨骼数据的处理,提高了对骨骼数据的处理效率,同时也减少了装备所对应的骨骼数据的大小,节省了文件资源空间。
在上述基础上,如图5所示,本发明实施例提供了一种3D游戏骨骼增删装置20,所述3D游戏骨骼增删装置20包括:装备穿戴指令响应模块21、骨骼数据增添模块22、显示模块23、装备脱卸指令响应模块24和骨骼数据删除模块25。
装备穿戴指令响应模块21,用于响应用户输入的针对一游戏角色的装备穿戴指令,根据所述装备穿戴指令提取出预存的第一目标装备的第一骨骼数据。
由于装备穿戴指令响应模块21和图2中步骤S21的实现原理类似,因此在此不作更多说明。
骨骼数据增添模块22,用于获取游戏角色的基础骨骼数据,在所述基础骨骼数据中查找是否存在与所述第一骨骼数据中的第一子节点相匹配的第一目标父节点,若存在,获取所述第一骨骼数据的第一引用计数值,判断所述第一引用计数值是否为零,若所述第一引用计数值为零,将所述第一子节点和所述第一目标父节点进行结合并将所述第一引用计数值记为一。
由于骨骼数据增添模块22和图2中步骤S22~步骤S26的实现原理类似,因此在此不作更多说明。
显示模块23,用于将所述第一目标装备添加至所述游戏角色中所述第一子节点和所述第一目标父节点的结合处并进行显示。
由于显示模块23和图2中步骤S25和步骤S26的实现原理类似,因此在此不作更多说明。
装备脱卸指令响应模块24,用于响应用户输入的针对所述游戏角色的装备脱卸指令,获取第三目标装备的第三骨骼数据对应的第三引用计数值
由于装备脱卸指令响应模块24和图4中步骤S41的实现原理类似,因此在此不作更多说明。
骨骼数据删除模块25,用于判断所述第三引用计数值是否为一;若所述第三引用计数值为一,将所述第三引用计数值减一,并将所述第三骨骼数据与所述基础骨骼数据进行分离,将所述第三目标装备从所述游戏角色中移除。
由于骨骼数据删除模块25和图4中步骤S42~步骤S44的实现原理类似,因此在此不作更多说明。
综上,本发明实施例所提供的3D游戏骨骼增删方法及装置,能够提高游戏角色在装备更换时骨骼数据的更换效率,减少对文件资源的占用。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备10,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种3D游戏骨骼增删方法,其特征在于,应用于游戏客户端,所述方法包括:
响应用户输入的针对一游戏角色的装备穿戴指令,根据所述装备穿戴指令提取出预存的第一目标装备的第一骨骼数据;
获取所述游戏角色的基础骨骼数据,在所述基础骨骼数据中查找是否存在与所述第一骨骼数据中的第一子节点相匹配的第一目标父节点,若存在,获取所述第一骨骼数据的第一引用计数值,判断所述第一引用计数值是否为零,若所述第一引用计数值为零,将所述第一子节点和所述第一目标父节点进行结合并将所述第一引用计数值记为一;
将所述第一目标装备添加至所述游戏角色中所述第一子节点和所述第一目标父节点的结合处并进行显示。
2.根据权利要求1所述的3D游戏骨骼增删方法,其特征在于,所述方法还包括:
若所述第一引用计数值不为零,将所述第一引用计数值加一,将所述第一目标装备添加至所述游戏角色中所述第一子节点和所述第一目标父节点的结合处并进行显示。
3.根据权利要求1所述的3D游戏骨骼增删方法,其特征在于,所述方法还包括:
响应用户输入的针对所述游戏角色的另一装备穿戴指令,根据所述另一装备穿戴指令提取出预存的第二目标装备的第二骨骼数据;
判断所述第二骨骼数据与所述第一骨骼数据是否相同;
若所述第二骨骼数据与所述第一骨骼数据相同,将所述第一引用计数值加一,将所述第二目标装备添加至所述游戏角色中所述第一子节点和所述第一目标父节点的结合处并进行显示;
若所述第二骨骼数据与所述第一骨骼数据不相同,在所述基础骨骼数据中查找是否存在与所述第二骨骼数据中的第二子节点相匹配的第二目标父节点,若存在,获取所述第二骨骼数据的第二引用计数值,判断所述第二引用计数值是否为零,若所述第二引用计数值为零,将所述第二子节点和所述第二目标父节点进行结合并将所述第二引用计数值记为一,将所述第二目标装备添加至所述游戏角色中所述第二子节点和所述第二目标父节点的结合处并进行显示。
4.根据权利要求3所述的3D游戏骨骼增删方法,其特征在于,所述方法还包括:
若所述第二引用计数值不为零,将所述第二引用计数值加一,将所述第二目标装备添加至所述游戏角色中所述第二子节点和所述第二目标父节点的结合处并进行显示。
5.根据权利要求1所述的3D游戏骨骼增删方法,其特征在于,所述方法还包括:
响应用户输入的针对所述游戏角色的装备脱卸指令,获取第三目标装备的第三骨骼数据对应的第三引用计数值;
判断所述第三引用计数值是否为一;
若所述第三引用计数值为一,将所述第三引用计数值减一,并将所述第三骨骼数据与所述基础骨骼数据进行分离,将所述第三目标装备从所述游戏角色中移除。
6.根据权利要求5所述的3D游戏骨骼增删方法,其特征在于,所述方法还包括:
若所述第三引用计数值不为一,将所述第三引用计数值减一,将所述第三目标装备从所述游戏角色中移除。
7.根据权利要求1所述的3D游戏骨骼增删方法,其特征在于,在所述基础骨骼数据中查找是否存在与所述第一骨骼数据中的第一子节点相匹配的第一目标父节点的步骤,具体包括:
获取所述第一子节点的索引值,获取所述第一目标父节点的索引值;
判断所述第一子节点的索引值与所述第一目标父节点的索引值是否相同,若相同,判定第一子节点与所述第一目标父节点相匹配。
8.一种3D游戏骨骼增删装置,其特征在于,应用于游戏客户端,所述装置包括:
装备穿戴指令响应模块,用于响应用户输入的针对一游戏角色的装备穿戴指令,根据所述装备穿戴指令提取出预存的第一目标装备的第一骨骼数据;
骨骼数据增添模块,用于获取所述游戏角色的基础骨骼数据,在所述基础骨骼数据中查找是否存在与所述第一骨骼数据中的第一子节点相匹配的第一目标父节点,若存在,获取所述第一骨骼数据的第一引用计数值,判断所述第一引用计数值是否为零,若所述第一引用计数值为零,将所述第一子节点和所述第一目标父节点进行结合并将所述第一引用计数值记为一;
显示模块,用于将所述第一目标装备添加至所述游戏角色中所述第一子节点和所述第一目标父节点的结合处并进行显示。
9.根据权利要求8所述的3D游戏骨骼增删装置,其特征在于,所述装置还包括:
装备脱卸指令响应模块,用于响应用户输入的针对所述游戏角色的装备脱卸指令,获取第三目标装备的第三骨骼数据对应的第三引用计数值;
骨骼数据删除模块,用于判断所述第三引用计数值是否为一;若所述第三引用计数值为一,将所述第三引用计数值减一,并将所述第三骨骼数据与所述基础骨骼数据进行分离,将所述第三目标装备从所述游戏角色中移除。
10.根据权利要求8所述的3D游戏骨骼增删装置,其特征在于,所述骨骼数据增添模块在所述基础骨骼数据中查找是否存在与所述第一骨骼数据中的第一子节点相匹配的第一目标父节点,具体包括:
获取所述第一子节点的索引值,获取所述第一目标父节点的索引值;
判断所述第一子节点的索引值与所述第一目标父节点的索引值是否相同,若相同,判定第一子节点与所述第一目标父节点相匹配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811396345.8A CN109529347B (zh) | 2018-11-21 | 2018-11-21 | 3d游戏骨骼增删方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811396345.8A CN109529347B (zh) | 2018-11-21 | 2018-11-21 | 3d游戏骨骼增删方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109529347A true CN109529347A (zh) | 2019-03-29 |
CN109529347B CN109529347B (zh) | 2022-05-17 |
Family
ID=65849053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811396345.8A Active CN109529347B (zh) | 2018-11-21 | 2018-11-21 | 3d游戏骨骼增删方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109529347B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111009025A (zh) * | 2019-12-06 | 2020-04-14 | 北京金山安全软件有限公司 | 骨骼动画的隐藏方法、装置及设备 |
CN112843701A (zh) * | 2021-03-09 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 可穿戴元素的替换方法、装置、终端及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010099210A (ja) * | 2008-10-23 | 2010-05-06 | Casio Computer Co Ltd | 競技モデルの参加認証装置 |
CN103218844A (zh) * | 2013-04-03 | 2013-07-24 | 腾讯科技(深圳)有限公司 | 虚拟形象的配置方法、实现方法、客户端、服务器及系统 |
CN103530897A (zh) * | 2013-09-30 | 2014-01-22 | 华为软件技术有限公司 | 运动重定向处理方法及装置 |
CN104732574A (zh) * | 2014-12-30 | 2015-06-24 | 北京像素软件科技股份有限公司 | 一种角色游戏的压缩装置及装置 |
CN106327589A (zh) * | 2016-08-17 | 2017-01-11 | 北京中达金桥技术股份有限公司 | 基于Kinect的3D虚拟试衣镜的实现方法及系统 |
CN108734758A (zh) * | 2017-04-25 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 一种形象模型配置方法、装置和计算机存储介质 |
-
2018
- 2018-11-21 CN CN201811396345.8A patent/CN109529347B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010099210A (ja) * | 2008-10-23 | 2010-05-06 | Casio Computer Co Ltd | 競技モデルの参加認証装置 |
CN103218844A (zh) * | 2013-04-03 | 2013-07-24 | 腾讯科技(深圳)有限公司 | 虚拟形象的配置方法、实现方法、客户端、服务器及系统 |
CN103530897A (zh) * | 2013-09-30 | 2014-01-22 | 华为软件技术有限公司 | 运动重定向处理方法及装置 |
CN104732574A (zh) * | 2014-12-30 | 2015-06-24 | 北京像素软件科技股份有限公司 | 一种角色游戏的压缩装置及装置 |
CN106327589A (zh) * | 2016-08-17 | 2017-01-11 | 北京中达金桥技术股份有限公司 | 基于Kinect的3D虚拟试衣镜的实现方法及系统 |
CN108734758A (zh) * | 2017-04-25 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 一种形象模型配置方法、装置和计算机存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111009025A (zh) * | 2019-12-06 | 2020-04-14 | 北京金山安全软件有限公司 | 骨骼动画的隐藏方法、装置及设备 |
CN111009025B (zh) * | 2019-12-06 | 2024-01-19 | 北京金山猎豹科技有限公司 | 骨骼动画的隐藏方法、装置及设备 |
CN112843701A (zh) * | 2021-03-09 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 可穿戴元素的替换方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109529347B (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2765524B1 (en) | Data processing method and device in cluster system | |
CN109359183A (zh) | 文本信息的查重方法、装置及电子设备 | |
CN109529347A (zh) | 3d游戏骨骼增删方法及装置 | |
CN108470364A (zh) | 一种曲线拟合方法和装置 | |
JP2021520567A (ja) | 顔マッチング方法および装置、記憶媒体 | |
CN105528804B (zh) | 计算机动画中骨骼链的处理方法及装置 | |
CN112084366A (zh) | 用于检索图像的方法、装置、设备以及存储介质 | |
CN105930527B (zh) | 搜索方法及装置 | |
CN107291779B (zh) | 缓存数据管理方法及装置 | |
CN108198083A (zh) | 保单多维度分析实现方法、装置、终端设备及存储介质 | |
CN107633062A (zh) | 敏感词查找方法、装置及电子设备 | |
CN108984783A (zh) | 一种使用大数据进行递减处理的方法 | |
CN109272526A (zh) | 图像处理方法、系统及电子设备 | |
CN106960008A (zh) | 一种浏览器进行搜索的方法以及浏览器 | |
CN109995834A (zh) | 大流量数据处理方法、装置、计算设备及存储介质 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN113204665B (zh) | 图像检索方法、装置、电子设备及计算机可读存储介质 | |
CN109710542A (zh) | 一种满n叉树构建方法及装置 | |
CN109529339A (zh) | 游戏角色换装方法及装置 | |
CN109646951A (zh) | 游戏信息同步方法及装置 | |
CN104050189B (zh) | 页面共享处理方法及装置 | |
JP2021520016A (ja) | データベース更新方法及び装置、電子機器、並びにコンピュータ記憶媒体 | |
JP5181825B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
EP3121736A1 (en) | Object display system for relatedness graph | |
CN110310731A (zh) | 一种信息匹配查询系统及其查询方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |