物体添加方法、装置及电子设备与流程

文档序号:14397010阅读:144来源:国知局

本发明涉及游戏制作技术领域,具体而言,涉及一种物体添加方法、装置及电子设备。



背景技术:

游戏是一种基于物质需求满足之上的,在特定时间、空间范围内遵循某种特定规则的,追求精神需求满足的社会行为方式。随着社会的进步,游戏行业蓬勃发展,成为人们生活乃至工作的重要组成部分。

在3d大型网游中,会涉及到许多游戏角色,这些游戏角色身上会佩戴或持有各种各样的武器、装备或饰品等物体。现有技术一般通过设置和计算挂点来实现物体的添加,但这种方式比较费时,占用的美术资源和游戏资源也很多。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种物体添加方法、装置及电子设备,以改善现有技术对物体进行添加时存在的费时和占用较多资源的问题。

本发明实施例提供了一种物体添加方法,应用于游戏客户端,所述方法包括:

获得被添加对象的原始姿态信息、动画姿态信息和待添加物体的原始姿态信息;

根据所述被添加对象的原始姿态信息、动画姿态信息和所述待添加物体的原始姿态信息,采用匹配算法计算获得所述待添加物体的动画姿态信息;

根据所述待添加物体的动画姿态信息确定反映该待添加物体形态的待加载骨骼信息;根据所述被添加对象的动画姿态信息获得反映所述被添加对象的添加位置的目标骨骼信息;

将所述待加载骨骼信息加载至所述目标骨骼信息,以实现将所述待添加物体添加至所述被添加对象。

可选地,所述匹配算法包括平移分量算法、旋转分量算法和缩放分量算法,所述待添加物体的动画姿态信息包括平移分量信息、旋转分量信息和缩放分量信息;采用匹配算法计算获得待添加物体的动画姿态信息的步骤,包括:

采用平移分量算法计算获得所述待添加物体的动画姿态信息中的平移分量信息;

采用旋转分量算法计算获得所述待添加物体的动画姿态信息中的旋转分量信息;

采用缩放分量算法计算获得所述待添加物体的动画姿态信息中的缩放分量信息。

可选地,采用平移分量算法计算获得所述待添加物体的动画姿态信息中的平移分量信息的步骤,包括:

采用平移计算公式计算获得所述待添加物体的动画姿态信息中的平移分量信息,所述平移计算公式如下:

b2.trans=a2.trans

其中:

a2.trans为所述待添加物体的原始姿态信息中的平移分量信息;

b2.trans为所述待添加物体的动画姿态信息中的平移分量信息。

可选地,采用旋转分量算法计算获得所述待添加物体的动画姿态信息中的旋转分量信息的步骤,包括:

采用旋转计算公式计算获得所述待添加物体的动画姿态信息中的旋转分量信息,所述旋转计算公式如下:

b2.quat=a2.quat*(b1.quat/a1.quat)

其中:

a1.quat为所述被添加对象的原始姿态信息中的旋转分量信息;

a2.quat为所述待添加物体的原始姿态信息中的旋转分量信息;

b1.quat为所述被添加对象的动画姿态信息中的旋转分量信息;

b2.quat为所述待添加物体的动画姿态信息中的旋转分量信息。

可选地,采用缩放分量算法计算获得所述待添加物体的动画姿态信息中的缩放分量信息的步骤,包括:

采用缩放计算公式计算获得所述待添加物体的动画姿态信息中的缩放分量信息,所述缩放计算公式如下:

b2.scale=a2.scale

其中:

a2.scale为所述被添加对象的动画姿态信息中的缩放分量信息;

b2.scale为所述待添加物体的动画姿态信息中的缩放分量信息。

可选地,所述被添加对象的动画姿态信息包括平移分量信息、旋转分量信息和缩放分量信息;根据所述待添加物体的动画姿态信息确定反映该待添加物体形态的待加载骨骼信息;根据所述被添加对象的动画姿态信息获得反映所述被添加对象的添加位置的目标骨骼信息的步骤,包括:

根据所述待添加物体的动画姿态信息中的平移分量信息、旋转分量信息和缩放分量信息确定反映该待添加物体形态的待加载骨骼信息;

根据所述被添加对象的动画姿态信息中的平移分量信息、旋转分量信息和缩放分量信息获得反映该被添加对象的添加位置的目标骨骼信息。

可选地,将所述待加载骨骼信息添加至所述目标骨骼信息的步骤,包括:

将所述待加载骨骼信息渲染至所述目标骨骼信息、并覆盖所述目标骨骼信息。

本发明实施例还提供了一种物体添加装置,所述物体添加装置应用于游戏客户端,所述物体添加装置包括:

获取模块,用于获得被添加对象的原始姿态信息、动画姿态信息和待添加物体的原始姿态信息;

计算模块,用于根据被添加对象的原始姿态信息、动画姿态信息和待添加物体的原始姿态信息,采用匹配算法计算获得待添加物体的动画姿态信息;

分析模块,用于根据所述待添加物体的动画姿态信息确定反映该待添加物体形态的待加载骨骼信息;根据所述被添加对象的动画姿态信息获得反映所述被添加对象的添加位置的目标骨骼信息;

添加模块,用于将所述待加载骨骼信息加载至所述目标骨骼信息,以实现将所述待添加物体添加至所述被添加对象。

本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述物体添加方法。

本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在电子设备执行上述物体添加方法。

本发明实施例提供的物体添加方法、装置及电子设备,通过匹配算法计算获得待添加物体的动画姿态信息,采用骨骼替换的方式将待添加物体添加至被添加对象,无需手工计算挂点,降低了工作量和资源消耗。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1为本发明较佳实施例提供的一种电子设备10的方框示意图。

图2为本发明较佳实施例提供的一种物体添加方法的流程图。

图3为一实施方式中图2所述步骤s22包括的另一子步骤的示意图。

图4为本发明实施例所提供的一种物体添加装置20的模块框图。

图标:10-电子设备;11-存储器;12-处理器;13-网络模块;20-物体添加装置;21-获取模块;22-计算模块;23-分析模块;24-添加模块。

具体实施方式

经研究发现,现有技术在对游戏角色身上的物件进行添加的方式一般采用骨骼挂点的方式,将物件挂载到游戏角色身上。该方法需要在编辑器中手工编辑和设置挂点,时间成本和人力成本太大,而且会占用较多的美术资源和游戏资源。

基于上述研究,本发明实施例提供了一种能够降低工作量和资源占用的物品添加方法。

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

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

如图1所示,是本发明较佳实施例提供的电子设备10的方框示意图。本发明实施例中的电子设备10可以为具有数据存储、传输、处理功能的服务端。如图1所示,电子设备10包括:存储器11、处理器12、网络模块13及物体添加装置20。

所述存储器11、处理器12以及网络模块13相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有物体添加装置20,所述物体添加装置20包括至少一个可以软件或固件(firmware)的形式存储于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,如本发明实施例中的物体添加装置20,从而执行各种功能应用以及数据处理,即实现本发明实施例中的物体添加方法。

其中,所述存储器11可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。

所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

网络模块13用于通过网络建立电子设备10与其他通信终端之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。

可以理解,图1所示的结构仅为示意,电子设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序。所述计算机程序运行时控制所述可读存储介质所在电子设备10执行下面的物体添加方法。

请参阅图2,是本发明较佳实施例提供的一种物体添加方法的流程图。所述方法有关的流程所定义的方法步骤应用于电子设备10,可以由所述处理器12实现。下面将对图2所示的具体流程进行详细阐述。

可以理解,该物体添加方法可以应用于游戏客户端,在本实施例中,该物体添加方法可以应用于3d网游《寻仙2》的游戏客户端中。

步骤s21,获得被添加对象的原始姿态信息、动画姿态信息和被添加物体的原始姿态信息。

在本实施例中,原始姿态信息可以为绑定姿态信息,绑定姿态信息和动画姿态信息可以在美术制作软件中制作。例如,绑定姿态信息和动画姿态信息可以通过3dmax得到。又例如,在3dmax中制作一个骨架,再制作模型,将该模型通过蒙皮的方式附到骨架上,再为骨架制作动画,骨架动起来之后会控制模型跟着动,实现动画效果。其中,骨架的初始姿态就是绑定姿态,相当于一个静止的雕塑,给骨架应用上动画数据,“静止的雕塑”就运动起来,运动的过程中每一帧的静止姿态的集合就是动画姿态。

可以理解为,游戏客户端获得被添加对象的原始姿态信息、动画姿态信息和被添加物体的原始姿态信息的渠道有很多种,并不限于本实施例给出的从3dmax中获取。

又例如,游戏客户端获得角色a的绑定姿态信息、动画姿态信息以及物件b的绑定姿态信息。物件b可以为武器、装备或饰品等其中的一个,在本实施例中,物件b可以为护腕b。

步骤s22,根据所述被添加对象的原始姿态信息、动画姿态信息和所述待添加物体的原始姿态信息,采用匹配算法计算获得所述待添加物体的动画姿态信息。

例如,根据角色a的绑定姿态信息、动画姿态信息和护腕b的原始姿态信息,采用匹配计算法获得护腕b的动画姿态信息。

又例如,角色a的绑定姿态信息可以为a1,角色a的动画姿态信息可以为b1。护腕b的绑定姿态信息可以为a2,护腕b的动画姿态信息可以为b2。其中,各姿态信息可以包括平移分量信息、旋转分量信息和缩放分量信息。匹配算法可以理解为骨骼替换算法,该骨骼替换算法包括平移分量算法、旋转分量算法和缩放分量算法。

请结合参阅图3,本发明实施例中通过步骤s221、步骤s222和步骤s223列举了步骤s22的其中一种实现方式。

步骤s221,采用平移分量算法计算获得所述待添加物体的动画姿态信息中的平移分量信息。

例如,采用平移计算公式计算获得护腕b的动画姿态信息中的平移分量信息,该平移计算公式如下:

b2.trans=a2.trans

其中,

a2.trans为护腕b的原始姿态信息中的平移分量信息;

b2.trans为护腕b的动画姿态信息中的平移分量信息。

步骤s222,采用旋转分量算法计算获得所述待添加物体的动画姿态信息中的旋转分量信息。

例如,采用旋转计算公式计算获得护腕b的动画姿态信息中的旋转分量信息,该旋转计算公式如下:

b2.quat=a2.quat*(b1.quat/a1.quat)

其中,

a1.quat为角色a的原始姿态信息中的旋转分量信息;

a2.quat为护腕b的原始姿态信息中的旋转分量信息;

b1.quat为角色a的动画姿态信息中的旋转分量信息;

b2.quat为护腕b的动画姿态信息中的旋转分量信息。

步骤s223,采用缩放分量算法计算获得所述待添加物体的动画姿态信息中的缩放分量信息。

例如,采用缩放计算公式计算获得护腕b的动画姿态信息中的缩放分量信息,该缩放计算公式如下:

b2.scale=a2.scale

其中,

a2.scale为护腕b的原始姿态信息中的缩放分量信息;

b2.scale为护腕b的动画姿态信息中的缩放分量信息。

可以理解为,针对平移分量信息和缩放分量信息采用直接赋值的方式,针对旋转分量信息采用差值公式计算得到。

采用以上算法不用额外编辑挂点,节约了美术资源。

步骤s23,根据所述待添加物体的动画姿态信息确定反映该待添加物体形态的待加载骨骼信息;根据所述被添加对象的动画姿态信息获得反映所述被添加对象的添加位置的目标骨骼信息。

例如,根据b2.trans、b2.quat和b2.scale确定反映护腕b形态的待加载骨骼信息;根据b1.trans、b1.quat和b1.scale确定反映角色a的添加位置的目标骨骼信息。

又例如,护腕b可以添加至角色a的右手手腕处,可以根据b1.trans、b1.quat和b1.scale确定角色a手腕处的目标骨骼信息a-wrist,相应地,根据b2.trans、b2.quat和b2.scale获得反映护腕b形态的待加载骨骼信息b-model。

步骤s24,将所述待加载骨骼信息加载至所述目标骨骼信息,以实现将所述待添加物体添加至所述被添加对象。

例如,将b-model渲染至a-wrist,并覆盖a-wrist,以实现将护腕b添加至角色a的右手手腕处,无需进行额外的挂点计算,减少了编辑工作量和游戏资源的占用。若采用传统的手工编辑,占用游戏资源较多,在游戏进行的过程中会出现卡顿情况,降低用户的体验度。

在上述基础上,如图4所示,本发明实施例提供了一种物体添加装置20,所述物体添加装置包括获取模块21、计算模块22、分析模块23和添加模块24。

获取模块21,用于获得被添加对象的原始姿态信息、动画姿态信息和待添加物体的原始姿态信息。

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

计算模块22,用于根据被添加对象的原始姿态信息、动画姿态信息和待添加物体的原始姿态信息,采用匹配算法计算获得待添加物体的动画姿态信息。

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

分析模块23,用于根据所述待添加物体的动画姿态信息确定反映该待添加物体形态的待加载骨骼信息;根据所述被添加对象的动画姿态信息获得反映所述被添加对象的添加位置的目标骨骼信息。

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

添加模块24,用于将所述待加载骨骼信息加载至所述目标骨骼信息,以实现将所述待添加物体添加至所述被添加对象。

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

本发明实施例中的物体添加方法、装置及电子设备,会根据被添加对象和待添加物体的相关信息采用匹配算法计算获得待添加物体的动画姿态信息,并计算获得相关的骨骼信息,采用骨骼替换的方式将待添加物体添加至被添加对象,无需手工计算挂点,降低了美术工作量,提高了资源的可维护性和游戏动画资源的大小。

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

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

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

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

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