3D游戏骨骼处理方法及装置与流程

文档序号:17337210发布日期:2019-04-05 22:39阅读:275来源:国知局
3D游戏骨骼处理方法及装置与流程

本发明实施例涉及游戏模拟技术领域,具体而言,涉及一种3d游戏骨骼处理方法及装置。



背景技术:

3d游戏是使用空间立体计算技术实现操作的游戏,现如今,3d游戏受到越来越多的玩家的青睐。但是现有的3d游戏大多存在这样一个问题:游戏人物执行游戏动作时拟真度不高。



技术实现要素:

有鉴于此,本发明提供了一种3d游戏骨骼处理方法及装置,能够提高游戏人物在执行游戏动作时的拟真度。

本发明实施例提供了一种3d游戏骨骼处理方法,应用于与客户端通信连接的服务端,所述方法包括:

获取所述客户端发送的游戏人物的实时状态信息;

从预设数据库中提取出所述游戏人物的原始柔体骨骼链以及该原始柔体骨骼链在所述实时状态信息下的偏转量,根据所述偏转量对所述原始柔体骨骼链进行偏转以获得实时柔体骨骼链;

根据所述实时状态信息对所述实时柔体骨骼链进行更新;

对完成更新的实时柔体骨骼链进行渲染,将完成渲染的实时柔体骨骼链发送至所述客户端并通过所述客户端进行显示。

可选地,所述原始柔体骨骼链包括多个柔体骨骼,根据所述偏转量对所述原始柔体骨骼链进行偏转以获得实时柔体骨骼链的步骤,包括:

根据所述偏转量对各所述柔体骨骼进行偏转;

将完成偏转的各个柔体骨骼进行组合以获得实时柔体骨骼链。

可选地,根据所述实时状态信息对所述实时柔体骨骼进行更新的步骤,包括:

从预设数据库中提取出在所述实时状态信息下的环境参数,其中,所述环境参数包括风力参数和重力参数;

根据所述环境参数对所述实时柔体骨骼进行二次偏转。

可选地,将完成渲染的实时柔体骨骼链发送至所述客户端并通过所述客户端进行显示的步骤,包括:

将完成渲染的实时柔体骨骼链发送至所述客户端,使所述客户端采用所述完成渲染的实时柔体骨骼链替换该客户端正在显示的柔体骨骼链。

本发明实施例还提供了一种3d游戏骨骼处理方法,应用于与服务端通信连接的客户端,所述方法包括:

响应用户输入的针对游戏人物的操作指令,根据所述操作指令生成所述游戏人物的实时状态信息,将所述实时状态信息发送至所述服务端,以使所述服务端根据所述实时状态信息从预设数据库中提取出所述游戏人物的原始柔体骨骼链以及该原始柔体骨骼链在所述实时状态信息下的偏转量,并使所述服务端根据所述偏转量对所述原始柔体骨骼链进行偏转以获得实时柔体骨骼链,再使所述服务端根据所述实时状态信息对所述实时柔体骨骼链进行更新,对完成更新的实时柔体骨骼链进行渲染以获得完成渲染的实时柔体骨骼链;

接收所述服务端发送的所述完成渲染的实时柔体骨骼链,采用所述完成渲染的实时柔体骨骼链替换正在显示的柔体骨骼链。

本发明实施例还提供了一种3d游戏骨骼处理装置,应用于与客户端通信连接的服务端,所述装置包括:

实时状态信息获取模块,用于获取所述客户端发送的游戏人物的实时状态信息;

偏转处理模块,用于从预设数据库中提取出所述游戏人物的原始柔体骨骼链以及该原始柔体骨骼链在所述实时状态信息下的偏转量,根据所述偏转量对所述原始柔体骨骼链进行偏转以获得实时柔体骨骼链;

更新模块,用于根据所述实时状态信息对所述实时柔体骨骼链进行更新;

渲染显示模块,用于对完成更新的实时柔体骨骼链进行渲染,将完成渲染的实时柔体骨骼链发送至所述客户端并通过所述客户端进行显示。

可选地,所述原始柔体骨骼链包括多个柔体骨骼,所述偏转处理模块根据所述偏转量对所述原始柔体骨骼链进行偏转以获得实时柔体骨骼链,具体包括:

根据所述偏转量对各所述柔体骨骼进行偏转;

将完成偏转的各个柔体骨骼进行组合以获得实时柔体骨骼链。

可选地,所述更新模块根据所述实时状态信息对所述实时柔体骨骼进行更新,具体包括:

从预设数据库中提取出在所述实时状态信息下的环境参数,其中,所述环境参数包括风力参数和重力参数;

根据所述环境参数对所述实时柔体骨骼进行二次偏转。

可选地,所述渲染显示模块将完成渲染的实时柔体骨骼链发送至所述客户端并通过所述客户端进行显示,具体包括:

将完成渲染的实时柔体骨骼链发送至所述客户端,使所述客户端采用所述完成渲染的实时柔体骨骼链替换该客户端正在显示的柔体骨骼链。

本发明实施例还提供了一种3d游戏骨骼处理装置,应用于与服务端通信连接的客户端,所述装置包括:

交互模块,用于响应用户输入的针对游戏人物的操作指令,根据所述操作指令生成所述游戏人物的实时状态信息,将所述实时状态信息发送至所述服务端,以使所述服务端根据所述实时状态信息从预设数据库中提取出所述游戏人物的原始柔体骨骼链以及该原始柔体骨骼链在所述实时状态信息下的偏转量,并使所述服务端根据所述偏转量对所述原始柔体骨骼链进行偏转以获得实时柔体骨骼链,再使所述服务端根据所述实时状态信息对所述实时柔体骨骼链进行更新,对完成更新的实时柔体骨骼链进行渲染以获得完成渲染的实时柔体骨骼链;

接收显示模块,用于接收所述服务端发送的所述完成渲染的实时柔体骨骼链,采用所述完成渲染的实时柔体骨骼链替换正在显示的柔体骨骼链。

有益效果

本发明实施例提供的3d游戏骨骼处理方法及装置,根据游戏人物的实时状态信息对提取出的原始柔体骨骼链进行偏转和更新以获得实时柔体骨骼链,然后对实时柔体骨骼链进行渲染,能够保证实时柔体骨骼链与实时状态信息之间的匹配,即保证游戏中物品装备与游戏人物动作的适配性,避免游戏人物在执行游戏动作时游戏人物的躯体与物品装备之间存在穿插,进而提高游戏人物在执行游戏动作时的拟真度,提升游戏效果。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例所提供的一种3d游戏骨骼处理系统的方框示意图。

图2为本发明实施例所提供的一种3d游戏骨骼处理方法的流程图。

图3为本发明实施例所提供的一种3d游戏骨骼处理方法的另一流程图。

图4为本发明实施例所提供的一种3d游戏骨骼处理装置20的模块框图。

图标:

10-3d游戏骨骼处理系统;11-服务端;12-客户端;

20-3d游戏骨骼处理装置;21-实时状态信息获取模块;22-偏转处理模块;23-更新模块;24-渲染显示模块;25-交互模块;26-接收显示模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

发明人经调查发现,现有的3d游戏中,当游戏人物执行一系列游戏动作,例如跑步、跳跃、游泳等动作时,往往会出现拟真度不高的现象。发明人经进一步分析发现,这是由于游戏人物骨骼和物品装备骨骼的不同导致的。

在三维游戏中,游戏人物的骨骼受动画数据的影响,例如,通过改变游戏人物的骨骼节点的位移,对游戏人物的骨骼节点进行旋转和缩放来改变模型渲染的效果,因此,游戏人物在执行游戏动作时,通常是受动画数据的影响的。但是,一些物品装备的骨骼却不受动画数据的影响,这是因为一些物品装备的骨骼(例如衣服下摆的骨骼)是柔体骨骼,柔体骨骼是控制柔体模型的骨骼,这类骨骼不受动画数据的影响而受风力数据、重力数据的影响。

而正是由于柔体骨骼不受动画数据的影响,当游戏人物的骨骼在动画数据的作用下执行游戏动作时,柔体骨骼基本保持不变(受少量风力数据和重力数据的影响),此时会出现游戏人物的骨骼与柔体骨骼互相穿插的现象。例如,游戏人物在跑步时,腿部会和衣服下摆互相穿插,进而导致游戏人物在跑步时的拟真度较低。

总体而言,由于柔体骨骼是不受动画数据影响的,因此游戏人物在根据动画数据执行游戏动作时,柔体骨骼的相对静止会导致游戏人物的躯体与物品装备之间存在穿插,进而导致拟真度较低。

以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。

基于上述研究,本发明实施例提供了一种3d游戏骨骼处理方法及装置,能够提高游戏人物在执行游戏动作时的拟真度。

图1示出了本发明实施例所提供的一种3d游戏骨骼处理系统10的结构框图,有图可见,该3d游戏骨骼处理系统10包括一服务端11和至少一个客户端12。为便于说明,本实施例以一个客户端12为例进行说明。请继续参阅图1,服务端11与客户端12通信连接。在本实施例中,客户端12可以电脑,也可以是移动设备,服务端11可以为《寻仙》的游戏客户端,负责整个《寻仙》游戏的数据处理和运营。

其中,服务端11中存在一预设数据库,该预设数据库中存储有游戏人物的原始柔体骨骼链,以及该原始柔体骨骼链在游戏人物的多个动作状态下的偏转量(偏转角度)。例如,在游戏设计初期,可以在角色编辑器中对每个原始柔体骨骼链在每个动作状态下设置一个偏转量。

又例如,游戏人物a在静止站立状态下的衣服下摆b可以作为原始柔体骨骼链c,游戏人物a在跑步时,该原始柔体骨骼链c对应的偏转量为x。

本实施例基于上述3d游戏骨骼处理系统10,能够在游戏人物a处于不同动作状态时,对衣服下摆b进行对应调整,避免游戏人物a与衣服下摆b出现穿插,进而提高游戏人物在执行游戏动作时的拟真度。

图2示出了本发明实施例所提供的一种3d游戏骨骼处理方法的流程图。所述方法有关的流程所定义的方法步骤应用于图1中的服务端11,下面将对图2所示的具体流程进行详细阐述:

步骤s21,获取客户端发送的游戏人物的实时状态信息。

例如,用户在电脑上运行《寻仙》游戏客户端进行游戏,通过鼠标或者键盘控制游戏人物a在游戏中跑动,此时,客户端12(电脑)会获取游戏人物a跑动的这一实时状态信息,将实时状态信息发送至服务端11(《寻仙》游戏客户端)。服务端11会获取客户端12发送的针对游戏人物a的实时状态信息。

步骤s22,从预设数据库中提取出游戏人物的原始柔体骨骼链以及该原始柔体骨骼链在实时状态信息下的偏转量,根据偏转量对原始柔体骨骼链进行偏转以获得实时柔体骨骼链。

服务端11在获得了实时状态信息后,会从预设数据库中提取出游戏人物a的原始柔体骨骼链c以及原始柔体骨骼链c在实时状态信息下的偏转量x,其中,偏转量x可以理解为偏转角度。然后根据偏转量x对原始柔体骨骼链c进行偏转以获得实时柔体骨骼链cx。

在本实施例中,原始柔体骨骼链c包括多个柔体骨骼,具体地,可以根据偏转量x对每个柔体骨骼进行偏转,在将完成偏转的每个柔体骨骼进行组合以获得实时柔体骨骼链cx。

例如,实时状态信息为“跑步”,那么实时柔体骨骼链cx对应的衣服下摆b在视觉上可以体现为朝向游戏人物a的躯体的斜后方。通过上述方法可以实现对原始柔体骨骼链的朝向的改变,如此,能够避免游戏人物a在跑动时,下肢与衣服下摆b出现穿插,进而提高游戏人物a在执行游戏动作时的拟真度。

步骤s23,根据实时状态信息对实时柔体骨骼链进行更新。

例如,当完成了原始柔体骨骼链c的朝向改变之后,为了进一步提高游戏人物a在执行游戏动作时的拟真度,会对实时柔体骨骼链cx作进一步优化和更新。

具体地,服务端11从预设数据库中提取出实时状态信息下的环境参数,其中,环境参数包括风力参数和重力参数等。服务端11根据环境参数对实时柔体骨骼链cx进行二次偏转,以实现实时柔体骨骼链cx的柔体效果,进一步提高游戏人物a在执行游戏动作时的拟真度。

步骤s24,对完成更新的实时柔体骨骼链进行渲染,将完成渲染的实时柔体骨骼链发送至客户端并通过客户端进行显示。

服务端11在对完成更新的实时柔体骨骼链cx进行渲染后,将其发送至客户端12,以使客户端12采用完成渲染的实时柔体骨骼链cx替换该客户端正在显示的柔体骨骼链,如此,能够达到游戏人物a在执行“跑步”这个游戏动作时的拟真度,提升了游戏效果。

应当理解,服务端11和客户端12之间的数据、信息交互时实时的。

图3示出了本发明实施例所提供的一种3d游戏骨骼处理方法的另一流程图。所述方法有关的流程所定义的方法步骤应用于图1中的客户端12,下面将对图3所示的具体流程进行详细阐述:

步骤s31,响应用户输入的针对游戏人物的操作指令,根据操作指令生成游戏人物的实时状态信息,将实时状态信息发送至服务端,以使服务端根据实时状态信息从预设数据库中提取出游戏人物的原始柔体骨骼链以及该原始柔体骨骼链在实时状态信息下的偏转量,并使服务端根据偏转量对原始柔体骨骼链进行偏转以获得实时柔体骨骼链,再使服务端根据实时状态信息对实时柔体骨骼链进行更新,对完成更新的实时柔体骨骼链进行渲染以获得完成渲染的实时柔体骨骼链。

步骤s32,接收服务端发送的完成渲染的实时柔体骨骼链,采用完成渲染的实时柔体骨骼链替换正在显示的柔体骨骼链。

由于步骤s31和步骤s32实现原理与图2中所示方法的实现原理类似,区别仅在于从不同的执行主体的角度进行说明,因此,步骤s31和步骤s32的具体实现步骤在此不作更多解释。

在上述基础上,如图4所示,本发明实施例提供了一种3d游戏骨骼处理装置20,所述3d游戏骨骼处理装置20包括:实时状态信息获取模块21、偏转处理模块22、更新模块23、渲染显示模块24、交互模块25和接收显示模块26。

实时状态信息获取模块21,用于获取所述客户端发送的游戏人物的实时状态信息。

由于实时状态信息获取模块21和图2中步骤s21的实现原理类似,因此在此不作更多说明。

偏转处理模块22,用于从预设数据库中提取出所述游戏人物的原始柔体骨骼链以及该原始柔体骨骼链在所述实时状态信息下的偏转量,根据所述偏转量对所述原始柔体骨骼链进行偏转以获得实时柔体骨骼链。

由于偏转处理模块22和图2中步骤s22的实现原理类似,因此在此不作更多说明。

更新模块23,用于根据所述实时状态信息对所述实时柔体骨骼链进行更新。

由于更新模块23和图2中步骤s23的实现原理类似,因此在此不作更多说明。

渲染显示模块24,用于对完成更新的实时柔体骨骼链进行渲染,将完成渲染的实时柔体骨骼链发送至所述客户端并通过所述客户端进行显示。

由于渲染显示模块24和图2中步骤s24的实现原理类似,因此在此不作更多说明。

交互模块25,用于响应用户输入的针对游戏人物的操作指令,根据所述操作指令生成所述游戏人物的实时状态信息,将所述实时状态信息发送至所述服务端,以使所述服务端根据所述实时状态信息从预设数据库中提取出所述游戏人物的原始柔体骨骼链以及该原始柔体骨骼链在所述实时状态信息下的偏转量,并使所述服务端根据所述偏转量对所述原始柔体骨骼链进行偏转以获得实时柔体骨骼链,再使所述服务端根据所述实时状态信息对所述实时柔体骨骼链进行更新,对完成更新的实时柔体骨骼链进行渲染以获得完成渲染的实时柔体骨骼链。

由于交互模块25和图3中步骤s31的实现原理类似,因此在此不作更多说明。

接收显示模块26,用于接收所述服务端发送的所述完成渲染的实时柔体骨骼链,采用所述完成渲染的实时柔体骨骼链替换正在显示的柔体骨骼链

由于接收显示模块26和图3中步骤s32的实现原理类似,因此在此不作更多说明。

综上,本发明实施例所提供的3d游戏骨骼处理方法及装置,通过分析游戏人物的实时状态信息,然后对柔体骨骼链的朝向进行偏转,能够避免游戏人物在执行游戏动作时躯体与物品装备之间出现穿插,进而保证了游戏人物在执行游戏动作时的拟真度,提升了游戏效果。

在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1