技术领域
本发明涉及计算机技术领域,具体涉及一种模拟对象外形特征更换的方法及装置。
背景技术
传统的交互式应用一般只会设计一个简单的纸娃娃(Avatar)系统,Avatar系统支持高层逻辑将交互式应用中的模拟对象分为若干部件,根据逻辑需求可以重新组合部件,产生不同外部特征的模拟对象。
对于内容简单的交互式应用,只需要按逻辑组织好当前用于拼接模拟对象的部件组即可。
而对于复杂一些的交互式应用,当需要较多不同外部特征的模拟对象时,就需要向Avatar系统添加更多的部件,同时要迭代开发高层逻辑,每增加一次迭代,都会增加高层逻辑的耦合度,而且,交互式应用中的模拟对象在更换外形特征时,需要从Avatar系统众多的部件中查找适合当前运行逻辑的部件,导致计算非常复杂。
发明内容
本发明实施例提供一种模拟对象外形特征更换的方法,可以快速确定模拟对象要更换的外形特征,从而简化了计算的复杂度,实现模拟对象外形特征的快速更换。本发明实施例还提供了相应的装置。
本发明第一方面提供一种模拟对象外形特征更换的方法,包括:
获取针对特定模拟对象的特征更换指令,所述特定模拟对象对应一个部件集合,所述部件集合中包括不同优先级的部件组,每个部件组中包括用于组合所述特定模拟对象的部件;
从可用的部件组中选择与当前特征更换逻辑对应的,且优先级最高的部件,确定用于更换所述特定模拟对象外形特征的当前部件组;
将所述特定模拟对象的外形特征更换为所述当前部件组中所包含的部件, 得到更换外形特征后的模拟对象。
本发明第二方面提供一种模拟对象外形特征更换的装置,包括:
获取单元,用于获取针对特定模拟对象的特征更换指令,所述特定模拟对象对应一个部件集合,所述部件集合中包括不同优先级的部件组,每个部件组中包括用于组合所述特定模拟对象的部件;
确定单元,用于根据所述获取单元获取的所述特征更换指令,从可用的部件组中选择与当前特征更换逻辑对应的,且优先级最高的部件,确定用于更换所述特定模拟对象外形特征的当前部件组;
特征更换单元,用于将所述特定模拟对象的外形特征更换为所述确定单元确定的所述当前部件组中所包含的部件,得到更换外形特征后的模拟对象。
与现有技术中当模拟对象有多个外形特征时,高层逻辑的耦合度大,模拟对象在更换外形特征时,需要从Avatar系统众多的部件中查找适合当前运行逻辑的部件,导致计算非常复杂相比,本发明实施例提供一种模拟对象外形特征更换的方法,通过模拟对象的部件组中不同优先级的部件来确定要更换的外形特征的当前部件组,从而根据当前部件组进行外形特征更换,可以快速确定模拟对象要更换的外形特征,从而简化了计算的复杂度,实现模拟对象外形特征的快速更换。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中模拟对象外形特征更换的方法的一实施例示意图;
图2是本发明实施例中模拟对象的部件集合示意图;
图3是本发明实施例中部件组与功能数据的对应关系示意图;
图4是本发明实施例中部件组示意图;
图5是本发明实施例中确定当前部件组的实例示意图;
图6是本发明实施例中确定当前部件组的实例示意图;
图7是本发明实施例中模拟对象外形特征更换的方法的另一实施例示意图;
图8是本发明实施例中模拟对象外形特征更换的装置的一实施例示意图;
图9是本发明实施例中模拟对象外形特征更换的装置的另一实施例示意图;
图10是本发明实施例中模拟对象外形特征更换的装置的另一实施例示意图。
具体实施方式
本发明实施例提供一种模拟对象外形特征更换的方法,可以快速确定模拟对象要更换的外形特征,从而简化了计算的复杂度,实现模拟对象外形特征的快速更换。本发明实施例还提供了相应的装置。以下分别进行详细说明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着互联网的普及,游戏产业也随之快速发展,游戏场景中角色的装备和服装也越来越多,当然角色还可以具有变身和易容等技能。在本发明实施例中,游戏场景中的角色用模拟对象来表达,变身、易容等技能用特征更换指令来表达。而且,模拟对象都是有多个部件组合而成的,只要对各个部件进行更换,即实现了模拟对象外形特征的更换。
模拟对象在游戏场景中,走进特定的房间、达到特定的位置、启动特定的技能都可能会启动特征更换指令,例如:走进魔法房间可启动更换魔法师的特征更换指令,模拟对象变身魔法师。
下面结合图1来描述模拟对象外形特征更换的过程。
图1为本发明实施例中模拟对象外形特征更换的方法的一实施例示意图。
如图1所示,本发明实施例提供的模拟对象外形特征更换的方法包括:特征更换逻辑模块、部件集合的桥接模块和Avatar接口,特征更换逻辑模块用于运行特征更换指令所触发的特征更换逻辑,部件集合的桥接模块中包含模拟对 象对应的部件集合,而且是一个模拟对象会对应一个部件集合,部件集合中包括多个不同优先级的部件组,每个部件组中都包括多个部件。部件集合可以参阅图2进行理解,如图2所示,一个模拟对象的部件集合可以包括部件组0、部件组1、部件组2和部件组3,0、1、2和3可以代表部件组的优先级,可以理解为优先级从小到大,以其中的部件组1为例说明部件组中可能包括的部件,部件组1中可包括如下部件:头部、身体、裤子、护腕、主武器、副武器、面具、背饰、腰饰和脸,当然,每个部件组中包括的部件可以相同,也可以不相同或不完全相同,部件也可以有重叠。
如图3所示,部件组0可以是装备层,优先级最低,依次部件组1可以是时装层、部件组2可以是变身层和部件组3可以是易容层,易容层的优先级最高,当然,部件组不限于这几个,而且,每个部件组还可以进行细分,实际上细分也就是将一个部件组划分为几个部件组,例如:时装层的部件组可以划分为时装层1、时装层2和时装层3等,可以为每个时装层设置不同的优先级。易容层有对应的易容数据、变身层有对应的变身数据,也就是说每个部件组都有对应的数据。
Avatar接口用于最终显示变换外形特征后的模拟对象。
在游戏场景中,模拟对象触发特征更换指令后,该特征更换指令对应的特征更换逻辑被启动,被启动的特征更换逻辑可以理解为是当前特征更换逻辑,该特征更换逻辑会包含要进行更换的外形特征的信息,例如:更换成衣服的类型、武器的类型、头部的样式和腿部的样式等,根据当前特征更换逻辑可以确定可用的部件组,可以为可用的部件组做个有效标记,为不可用的部件组做个无效标记,例如,如图4中,可以用对号来标记可用,用错号来标记不可用。
获取对特定模拟对象的特征更换指令后,从可用的部件组中选择与当前特征更换逻辑对应的,且优先级最高的部件,确定用于更换所述特定模拟对象外形特征的当前部件组。
若获取到一个变身的特征更换指令,根据与该变身的特征更换指令对应的当前特征更换逻辑确定可用的部件组,如图5所示,装备层和变身层可用,也就是部件组0和部件组2可用,易容层和时装层不可用。
根据当前特征更换逻辑确定本次对模拟对象更换外形特征需要的部件包括:头部、身体、裤子、脸和主武器。
确定当前部件组的过程可以参阅图5的过程进行理解,部件组可以用Record来表示,当前部件组可以用Current Record来表示。从变身层和装备层对应的部件组0和部件组2中选择对该特定模拟对象进行特征变换所需的部件,如图5所示,变身层的优先级高于装备层,则先从变身层中选择,变身层中包括头部2、身体2和裤子2,没有脸和主武器部件,则从装备层中选择脸0和主武器0,则确定出的当前部件组包括头部2、身体2、裤子2、脸0和主武器0。
确定当前部件组后,就可以将所述特定模拟对象的外形特征更换为所述当前部件组中所包含的部件,得到更换外形特征后的模拟对象。
当当前部件组中包括:头部2、身体2、裤子2、脸0和主武器0时,就可以将特定模拟对象的头部、身体、裤子、脸和主武器更换为头部2、身体2、裤子2、脸0和主武器0。
在做特征更换时,可以将所述特定模拟对象的部件组中所包含的部件与所述当前部件组中所包含的部件进行比较;确定所述特定模拟对象的部件组与所述当前部件组中不同部件;将所述特定模拟对象中与所述不同部件对应的外形特征更换为所述不同部件,得到更换外形特征后的模拟对象。
例如:当特定模拟对象在未做特征更换前头部即为头部2,只有身体、裤子、脸和主武器与当前部件组中的身体2、裤子2、脸0和主武器0不同,则针对头部2可不做更换,只更换身体2、裤子2、脸0和主武器0,这样可以提高特征更换的效率。
如果在变身的过程中又执行了一次易容,并且易容的优先级高于变身的优先级,也就是所述特征更换指令包括第一特征更换指令和第二特征更换指令,所述第一特征更换指令先于所述第二特征更换指令被执行,且所述第一特征更换指令对应部件组的优先级低于所述第二特征更换指令对应部件组的优先级,则可以按照所述第二特征更换指令对应的当前部件组所包含的部件,更换所述特定模拟对象的外形特征,得到更换外形特征后的模拟对象。
当确定当前部件组后,可以用当前部件组于上一次执行特征变换时所形成 的当前部件组进行比对,若比对后发现两个部件组相同,则不需要执行特征变换,可以减少计算量。
若执行第一特征变换指令时,又执行了第二特征变换指令,例如在变身的途中,又执行了一次易容。在易容尚未结束的时候,变身的逻辑结束,当检测出在这次解除变身操作前后,都是优先级最高的易容层上的部件在起作用,则表示前后两次的当前部件组是一样的。则在易容结束后,将会直接按最高优先级排序显示特定模拟对象的特征。
而且,本申请中,当需要添加针对该特定模拟对象的新游戏逻辑时,只需要考虑目前部件集合中各优先级的部件组是否满足该新逻辑的需要。如不满足,就新添加一层部件组,给予合适的优先级即可。这样,当该新逻辑运行时,就可以使用新添加的部件组,确定当前部件组。如图6所示,在新增加一个部件组后,就可以根据逻辑上不涉及与其他逻辑进行耦合的问题,从而也降低了逻辑开发的复杂度。
参阅图7,本发明实施例提供的模拟对象外形特征更换的方法的另一实施例包括:
101、获取针对特定模拟对象的特征更换指令,所述特定模拟对象对应一个部件集合,所述部件集合中包括不同优先级的部件组,每个部件组中包括用于组合所述特定模拟对象的部件。
102、从可用的部件组中选择与当前特征更换逻辑对应的,且优先级最高的部件,确定用于更换所述特定模拟对象外形特征的当前部件组。
103、将所述特定模拟对象的外形特征更换为所述当前部件组中所包含的部件,得到更换外形特征后的模拟对象。
与现有技术中当模拟对象有多个外形特征时,高层逻辑的耦合度大,模拟对象在更换外形特征时,需要从Avatar系统众多的部件中查找适合当前运行逻辑的部件,导致计算非常复杂相比,本发明实施例提供一种模拟对象外形特征更换的方法,通过模拟对象的部件组中不同优先级的部件来确定要更换的外形特征的当前部件组,从而根据当前部件组进行外形特征更换,可以快速确定模拟对象要更换的外形特征,从而简化了计算的复杂度,实现模拟对象外形特征 的快速更换。
可选地,在上述图7对应的实施例的基础上,本发明实施例提供的模拟对象外形特征更换的方法的第一个可选实施例中,所述从可用的部件组中选择与当前特征更换逻辑对应的,且优先级最高的部件,确定用于更换所述特定模拟对象外形特征的当前部件组,可以包括:
根据所述当前特征更换逻辑,确定更换所述特定模拟对象外形特征所需的部件的信息;
针对各个所述所需的部件的信息,从所述可用的部件组中选择最高优先级的部件,确定用于更换所述特定模拟对象外形特征的当前部件组。
可选地,在上述图7对应的实施例或第一个可选实施例的基础上,本发明实施例提供的模拟对象外形特征更换的方法的第二个可选实施例中,所述将所述特定模拟对象的外形特征更换为所述当前部件组中所包含的部件,得到更换外形特征后的模拟对象,可以包括:
将所述特定模拟对象的部件组中所包含的部件与所述当前部件组中所包含的部件进行比较;
确定所述特定模拟对象的部件组与所述当前部件组中不同部件;
将所述特定模拟对象中与所述不同部件对应的外形特征更换为所述不同部件,得到更换外形特征后的模拟对象。
本发明实施例中,只针对不同的部件进行更换,可以提供特征更换的效率。
可选地,可选地,在上述图7对应的实施例或第一个可选实施例的基础上,本发明实施例提供的模拟对象外形特征更换的方法的第三个可选实施例中,所述特征更换指令包括第一特征更换指令和第二特征更换指令,所述第一特征更换指令先于所述第二特征更换指令被执行,且所述第一特征更换指令对应部件组的优先级低于所述第二特征更换指令对应部件组的优先级,
所述将所述特定模拟对象的外形特征更换为所述当前部件组中所包含的部件,得到更换外形特征后的模拟对象,可以包括:
按照所述第二特征更换指令对应的当前部件组所包含的部件,更换所述特定模拟对象的外形特征,得到更换外形特征后的模拟对象。
本发明实施例中,当一个特征更换指令还未完成,另一个又开始进行时,在后的特征执行的优先级高于在先执行的特征更换指令的优先级,则可以直接按照在后的特征更换指令进行特征更换,这样,可以降低特征更换的复杂度。
可选地,所述从可用的部件组中选择与当前特征更换逻辑对应的,且优先级最高的部件,确定用于更换所述特定模拟对象外形特征的当前部件组之前,所述方法还可以包括:
根据所述当前特征更换逻辑,确定所述每个部件组中可用的部件组。
参阅图8,本发明实施例提供的一种模拟对象外形特征更换的装置20的一实施例包括:
获取单元201,用于获取针对特定模拟对象的特征更换指令,所述特定模拟对象对应一个部件集合,所述部件集合中包括不同优先级的部件组,每个部件组中包括用于组合所述特定模拟对象的部件;
确定单元202,用于根据所述获取单元201获取的所述特征更换指令,从可用的部件组中选择与当前特征更换逻辑对应的,且优先级最高的部件,确定用于更换所述特定模拟对象外形特征的当前部件组;
特征更换单元203,用于将所述特定模拟对象的外形特征更换为所述确定单元202确定的所述当前部件组中所包含的部件,得到更换外形特征后的模拟对象。
本发明实施例中,获取单元201获取针对特定模拟对象的特征更换指令,所述特定模拟对象对应一个部件集合,所述部件集合中包括不同优先级的部件组,每个部件组中包括用于组合所述特定模拟对象的部件;确定单元202根据所述获取单元201获取的所述特征更换指令,从可用的部件组中选择与当前特征更换逻辑对应的,且优先级最高的部件,确定用于更换所述特定模拟对象外形特征的当前部件组;特征更换单元203将所述特定模拟对象的外形特征更换为所述确定单元202确定的所述当前部件组中所包含的部件,得到更换外形特征后的模拟对象。与现有技术中当模拟对象有多个外形特征时,高层逻辑的耦合度大,模拟对象在更换外形特征时,需要从Avatar系统众多的部件中查找适合当前运行逻辑的部件,导致计算非常复杂相比,本发明实施例提供一种模拟 对象外形特征更换的装置,通过模拟对象的部件组中不同优先级的部件来确定要更换的外形特征的当前部件组,从而根据当前部件组进行外形特征更换,可以快速确定模拟对象要更换的外形特征,从而简化了计算的复杂度,实现模拟对象外形特征的快速更换。
可选地,在上述图8对应的实施例的基础上,本发明实施例提供的模拟对象外形特征更换的装置20的第一个可选实施例中,
所述确定单元202,用于根据所述当前特征更换逻辑,确定更换所述特定模拟对象外形特征所需的部件的信息,针对各个所述所需的部件的信息,从所述可用的部件组中选择最高优先级的部件,确定用于更换所述特定模拟对象外形特征的当前部件组。
可选地,在上述图8对应的实施例或第一个可选实施例的基础上,参阅图9,本发明实施例提供的模拟对象外形特征更换的装置20的第二个可选实施例中,所述特征更换单元203包括:
比较子单元2031,用于将所述特定模拟对象的部件组中所包含的部件与所述当前部件组中所包含的部件进行比较;
确定子单元2032,用于根据所述比较子单元2031的比较结果,确定所述特定模拟对象的部件组与所述当前部件组中不同部件;
更换子单元2033,用于将所述特定模拟对象中与所述确定子单元2032确定的所述不同部件对应的外形特征更换为所述不同部件,得到更换外形特征后的模拟对象。
可选地,在上述图8对应的实施例或第一个可选实施例的基础上,本发明实施例提供的模拟对象外形特征更换的装置20的第三个可选实施例中,
所述特征更换单元203,用于在所述特征更换指令包括第一特征更换指令和第二特征更换指令,所述第一特征更换指令先于所述第二特征更换指令被执行,且所述第一特征更换指令对应部件组的优先级低于所述第二特征更换指令对应部件组的优先级时,按照所述第二特征更换指令对应的当前部件组所包含的部件,更换所述特定模拟对象的外形特征,得到更换外形特征后的模拟对象。
可选地,在上述图8对应的实施例或第一个可选实施例的基础上,本发明 实施例提供的模拟对象外形特征更换的装置20的第四个可选实施例中,
所述确定单元202,还用于根据所述当前特征更换逻辑,确定所述每个部件组中可用的部件组。
图10是本发明实施例提供的模拟对象外形特征更换的装置30的结构示意图。所述模拟对象外形特征更换的装置30应用于移动轨迹校验的系统,所移动轨迹校验的系统包括用户设备和服务器,所述模拟对象外形特征更换的装置30包括处理器310、存储器350和输入/输出I/O设备330,存储器350可以包括只读存储器和随机存取存储器,并向处理器310提供操作指令和数据。存储器350的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器350存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
在本发明实施例中,通过调用存储器350存储的操作指令(该操作指令可存储在操作系统中),
获取针对特定模拟对象的特征更换指令,所述特定模拟对象对应一个部件集合,所述部件集合中包括不同优先级的部件组,每个部件组中包括用于组合所述特定模拟对象的部件;
从可用的部件组中选择与当前特征更换逻辑对应的,且优先级最高的部件,确定用于更换所述特定模拟对象外形特征的当前部件组;
将所述特定模拟对象的外形特征更换为所述当前部件组中所包含的部件,得到更换外形特征后的模拟对象。
与现有技术中当模拟对象有多个外形特征时,高层逻辑的耦合度大,模拟对象在更换外形特征时,需要从Avatar系统众多的部件中查找适合当前运行逻辑的部件,导致计算非常复杂相比,本发明实施例提供一种模拟对象外形特征更换的装置,通过模拟对象的部件组中不同优先级的部件来确定要更换的外形特征的当前部件组,从而根据当前部件组进行外形特征更换,可以快速确定模拟对象要更换的外形特征,从而简化了计算的复杂度,实现模拟对象外形特征的快速更换。
处理器310控制模拟对象外形特征更换的装置30的操作,处理器310还可以称为CPU(Central Processing Unit,中央处理单元)。存储器350可以包括只读存储器和随机存取存储器,并向处理器310提供指令和数据。存储器350的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中模拟对象外形特征更换的装置30的各个组件通过总线系统320耦合在一起,其中总线系统320除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统320。
上述本发明实施例揭示的方法可以应用于处理器310中,或者由处理器310实现。处理器310可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器310中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器310可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器350,处理器310读取存储器350中的信息,结合其硬件完成上述方法的步骤。
可选地,处理器310用于根据所述当前特征更换逻辑,确定更换所述特定模拟对象外形特征所需的部件的信息;针对各个所述所需的部件的信息,从所述可用的部件组中选择最高优先级的部件,确定用于更换所述特定模拟对象外形特征的当前部件组。
可选地,处理器310用于将所述特定模拟对象的部件组中所包含的部件与所述当前部件组中所包含的部件进行比较;确定所述特定模拟对象的部件组与所述当前部件组中不同部件;将所述特定模拟对象中与所述不同部件对应的外形特征更换为所述不同部件,得到更换外形特征后的模拟对象。
可选地,处理器310用于在所述特征更换指令包括第一特征更换指令和第二特征更换指令,所述第一特征更换指令先于所述第二特征更换指令被执行,且所述第一特征更换指令对应部件组的优先级低于所述第二特征更换指令对应部件组的优先级时,按照所述第二特征更换指令对应的当前部件组所包含的部件,更换所述特定模拟对象的外形特征,得到更换外形特征后的模拟对象。
可选地,处理器310还用于根据所述当前特征更换逻辑,确定所述每个部件组中可用的部件组。
以上的模拟对象外形特征更换的装置30可以参阅图1至图9部分的描述进行理解,本处不做过多赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的模拟对象外形特征更换的方法以及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。