多虚拟角色的控制方法、装置、设备及存储介质转让专利

申请号 : CN201910544446.3

文献号 : CN110276840A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 庄亦舟周之易

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请公开了一种多虚拟角色的控制方法、装置、设备及存储介质,属于计算机领域。该方法通过显示有增强现实功能的应用程序的第一用户界面,第一用户界面包括多个虚拟角色的选择项目;接收第一用户界面上对至少两个虚拟角色的第一选择操作;显示应用程序的第二用户界面,第二用户界面包括至少两个虚拟角色;接收第二用户界面上的第二选择操作;根据第二选择操作和渲染顺序从至少两个虚拟角色中确定出目标虚拟角色。该方法通过深度信息确定渲染顺序,按照渲染顺序绘制至少两个虚拟角色,能够避免虚拟角色之间有叠加时发生穿模现象,从而使用户在对虚拟角色进行选择操作时,准确的确定出目标虚拟角色。

权利要求 :

1.一种多虚拟角色的控制方法,其特征在于,应用于终端中,所述终端中运行具有增强现实功能的应用程序,所述方法包括:显示所述应用程序的第一用户界面,所述第一用户界面包括:多个虚拟角色的选择项目;

接收所述第一用户界面上对至少两个所述虚拟角色的第一选择操作;

显示所述应用程序的第二用户界面,在所述第二用户界面上显示有真实世界的背景画面,以及位于所述背景画面上的至少两个所述虚拟角色,至少两个所述虚拟角色是根据深度信息确定至少两个所述虚拟角色的渲染顺序后渲染得到的,所述深度信息是根据所述第一选择操作的顺序设置的;

接收所述第二用户界面上的第二选择操作;

根据所述第二选择操作和所述渲染顺序从至少两个所述虚拟角色中确定出目标虚拟角色。

2.根据权利要求1所述的方法,其特征在于,所述根据所述第二选择操作和所述渲染顺序从至少两个所述虚拟角色中确定出目标虚拟角色,包括:当至少两个所述虚拟角色重叠时,根据所述第二选择操作将所述渲染顺序中位于前端的所述虚拟角色确定为所述目标虚拟角色。

3.根据权利要求2所述的方法,其特征在于,所述根据所述第二选择操作将所述渲染顺序中位于前端的所述虚拟角色确定为所述目标虚拟角色,包括:在所述虚拟角色所处的三维虚拟环境中,从所述第二选择操作的触发位置发射出物理射线;

将按照所述渲染顺序与所述物理射线发生碰撞的所述虚拟角色确定为所述目标虚拟角色;其中,所述物理射线与所述渲染顺序中位于前端的所述虚拟角色发生碰撞。

4.根据权利要求1至3任一所述的方法,其特征在于,所述根据所述第二选择操作和所述渲染顺序从至少两个所述虚拟角色中确定出目标虚拟角色之后,还包括:将所述目标虚拟角色确定为所述渲染顺序中位于顶端的所述虚拟角色,对所述渲染顺序进行更新;

根据更新后的所述渲染顺序显示至少两个所述虚拟角色。

5.根据权利要求1至3任一所述的方法,其特征在于,所述第二用户界面上包括拍照控件;

所述根据所述第二选择操作和所述渲染顺序从至少两个所述虚拟角色中确定出目标虚拟角色之后,还包括:接收对所述目标虚拟角色触发的姿势设置操作;

根据所述姿势设置操作设置所述目标虚拟角色的姿势信息;

接收所述拍照控件上触发的拍照操作;

根据所述拍照操作对至少两个所述虚拟角色进行拍照得到拍摄图片;所述拍摄图片中包括以所述姿势信息设置显示的所述目标虚拟角色。

6.根据权利要求5所述的方法,其特征在于,所述根据所述拍照操作对至少两个所述虚拟角色进行拍照得到的拍摄图片之后,包括:显示所述应用程序的第三用户界面,所述第三用户界面上包括所述拍摄图片和分享按钮控件;

接收所述分享按钮控件上的分享操作;

根据所述分享操作将信息编码从第一帐号分享至第二帐号;所述信息编码包括所述拍摄图片中至少两个所述虚拟角色的姿势信息,所述信息编码用于设置至少两个虚拟角色的姿势。

7.根据权利要求6所述的方法,其特征在于,所述根据所述分享操作将信息编码从第一帐号分享至第二帐号,包括:根据所述分享操作获取至少两个所述虚拟角色的所述姿势信息,生成所述信息编码;

将所述信息编码复制和粘贴至所述信息分享渠道中;

通过所述信息分享渠道将所述信息编码从所述第一帐号分享至所述第二帐号。

8.根据权利要求1至3任一所述的方法,其特征在于,所述显示所述应用程序的第二用户界面,包括:获取信息编码;所述信息编码是对目标姿势信息编码得到的,所述目标姿势信息用于设置至少两个所述虚拟角色的姿势;

在所述第二用户界面上显示设置有所述目标姿势信息的至少两个所述虚拟角色。

9.根据权利要求8所述的方法,其特征在于,所述目标姿势信息包括目标深度信息;

所述在所述第二用户界面上显示设置有所述目标姿势信息的至少两个所述虚拟角色,包括:确定所述目标深度信息与所述渲染顺序的第一对应关系;

根据所述第一对应关系确定n个所述目标姿势信息与n个所述虚拟角色之间的第二对应关系;

根据第二对应关系将第i个所述目标姿势信息设置为第j个所述虚拟角色的姿势信息;

在所述第二用户界面上显示第j个所述虚拟角色;n、i、j为正整数,i、j均小于n。

10.根据权利要求8所述的方法,其特征在于,所述获取信息编码,包括:接收第二帐号通过信息分享通道分享至第一帐号的所述信息编码。

11.一种多虚拟角色的控制装置,其特征在于,所述装置中运行具有增强现实功能的应用程序,所述装置包括:显示模块,用于显示所述应用程序的第一用户界面,所述第一用户界面包括:多个虚拟角色的选择项目;

接收模块,用于接收所述第一用户界面上对至少两个所述虚拟角色的第一选择操作;

所述显示模块,用于显示所述应用程序的第二用户界面,在所述第二用户界面上显示有真实世界的背景画面,以及位于所述背景画面上的至少两个所述虚拟角色,至少两个所述虚拟角色是根据深度信息确定至少两个所述虚拟角色的渲染顺序后渲染得到的,所述深度信息是根据所述第一选择操作的顺序设置的;

所述接收模块,用于接收所述第二用户界面上的第二选择操作;

确定模块,用于根据所述第二选择操作和所述渲染顺序从至少两个所述虚拟角色中确定出目标虚拟角色。

12.根据权利要求11所述的装置,其特征在于,

所述确定模块,用于当至少两个所述虚拟角色重叠时,根据所述第二选择操作将所述渲染顺序中位于前端的所述虚拟角色确定为所述目标虚拟角色。

13.根据权利要求12所述的装置,其特征在于,

所述确定模块,用于在所述虚拟角色所处的三维虚拟环境中,从所述第二选择操作的触发位置发射出物理射线;将按照所述渲染顺序与所述物理射线发生碰撞的所述虚拟角色确定为所述目标虚拟角色;其中,所述物理射线与所述渲染顺序中位于前端的所述虚拟角色发生碰撞。

14.一种计算机设备,其特征在于,所述计算机设备包括:存储器;

与所述存储器电性相连的处理器;

其中,所述处理器用于加载并执行可执行指令以实现如权利要求1至10任一所述的多虚拟角色的控制方法。

15.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至10任一所述的多虚拟角色的控制方法。

说明书 :

多虚拟角色的控制方法、装置、设备及存储介质

技术领域

[0001] 本申请实施例涉及计算机领域,特别涉及一种多虚拟角色的控制方法、装置、设备及存储介质。

背景技术

[0002] 增强现实(Augmented Reality,AR)技术是一种将真实世界信息和虚拟世界信息无缝集成的技术,能够将真实环境和虚拟物体实时叠加到同一个画面中。
[0003] 在某些应用程序中应用有AR技术,该AR应用程序中提供有虚拟角色,该虚拟角色可以是具有动物或者动漫等等形象的对象。该AR应用程序可以将虚拟角色实时的叠加在真实环境中,比如,在视觉化的增强现实中,用户可以通过显示器观察到真实的环境环绕在虚拟角色周围。该AR应用程序还可以实现AR拍照技术,将真实环境与虚拟角色叠加后的增强现实拍摄至同一画面中。在AR拍照的过程中,用户可以对虚拟角色进行操作,比如,放大、缩小、拖动等等操作。
[0004] 但是,在进行AR拍照的过程中,如果将多个虚拟角色同时置于增强现实中,当虚拟角色之间有叠加现象时,会发生穿模现象,从而使用户在对虚拟角色进行选中操作时,会有错误操作的情况,比如,第一虚拟角色部分重叠在第二虚拟角色上,当用户点击重叠部分对第一虚拟角色进行选择时,最终选中的可能是第二虚拟角色,加大了人机交互难度。

发明内容

[0005] 本申请实施例提供了一种多虚拟角色的控制方法、装置、设备及存储介质,可以解决AR中存在多个虚拟角色时,人机交互难度大的问题。所述技术方案如下:
[0006] 根据本申请的一个方面,提供了一种多虚拟角色的控制方法,应用于终端中,终端中运行具有增强现实功能的应用程序,该方法包括:
[0007] 显示应用程序的第一用户界面,第一用户界面包括:多个虚拟角色的选择项目;
[0008] 接收第一用户界面上对至少两个虚拟角色的第一选择操作;
[0009] 显示应用程序的第二用户界面,在第二用户界面上显示有真实世界的背景画面,以及位于背景画面上的至少两个虚拟角色,至少两个虚拟角色是根据深度信息确定至少两个虚拟角色的渲染顺序后渲染得到的,深度信息是根据第一选择操作的顺序设置的;
[0010] 接收第二用户界面上的第二选择操作;
[0011] 根据第二选择操作和渲染顺序从至少两个虚拟角色中确定出目标虚拟角色。
[0012] 根据本申请的另一个方面,提供了一种多虚拟角色的控制装置,该装置中运行具有增强现实功能的应用程序,该装置包括:
[0013] 显示模块,用于显示应用程序的第一用户界面,第一用户界面包括:多个虚拟角色的选择项目;
[0014] 接收模块,用于接收第一用户界面上对至少两个虚拟角色的第一选择操作;
[0015] 显示模块,用于显示应用程序的第二用户界面,在第二用户界面上显示有真实世界的背景画面,以及位于背景画面上的至少两个虚拟角色,至少两个虚拟角色是根据深度信息确定至少两个虚拟角色的渲染顺序后渲染得到的,深度信息是根据第一选择操作的顺序设置的;
[0016] 接收模块,用于接收第二用户界面上的第二选择操作;
[0017] 确定模块,用于根据第二选择操作和渲染顺序从至少两个虚拟角色中确定出目标虚拟角色。
[0018] 根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:
[0019] 存储器;
[0020] 与所述存储器电性相连的处理器;
[0021] 其中,所述处理器用于加载并执行可执行指令以实现如上述一个方面所述的多虚拟角色的控制方法。
[0022] 根据本申请的另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述一个方面所述的多虚拟角色的控制方法。
[0023] 本申请实施例提供的技术方案带来的有益效果至少包括:
[0024] 在终端中运行有增强现实功能的应用程序时,显示应用程序的第一用户界面,第一用户界面包括:多个虚拟角色的选择项目;接收第一用户界面上对至少两个虚拟角色的第一选择操作;显示应用程序的第二用户界面,在第二用户界面上显示有真实世界的背景画面,以及位于背景画面上的至少两个虚拟角色,至少两个虚拟角色是根据深度信息确定至少两个虚拟角色的渲染顺序后渲染得到的,深度信息是根据第一选择操作的顺序设置的;接收第二用户界面上的第二选择操作;根据第二选择操作和渲染顺序从至少两个虚拟角色中确定出目标虚拟角色。
[0025] 上述方法中通过深度信息确定渲染顺序,按照渲染顺序绘制至少两个虚拟角色,能够避免虚拟角色之间有叠加时发生穿模现象,从而使用户在对虚拟角色进行选择操作时,准确的确定出目标虚拟角色;使用户在AR场景下能够像操作二维图片一样对三维模型进行控制操作,保证触摸判定与视觉一致,解决了针对三维虚拟角色的人机交互;比如,第一虚拟角色和第二虚拟角色重叠,且渲染顺序中第一虚拟角色先于第二虚拟角色时,终端能够根据选择操作准确的将第一虚拟角色确定为目标虚拟角色。

附图说明

[0026] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027] 图1是本申请一个示例性实施例提供的多虚拟角色的控制方法的实施环境示意图;
[0028] 图2是本申请一个示例性实施例提供的多虚拟角色的控制方法的流程图;
[0029] 图3是本申请一个示例性实施例提供的多虚拟角色的控制方法实现的界面示意图;
[0030] 图4是本申请另一个示例性实施例提供的多虚拟角色的控制方法实现的界面示意图;
[0031] 图5是本申请一个示例性实施例提供的虚拟角色的像素处理方法的流程图;
[0032] 图6是本申请另一个示例性实施例提供的多虚拟角色的控制方法实现的界面示意图;
[0033] 图7是本申请另一个示例性实施例提供的多虚拟角色的控制方法的流程图;
[0034] 图8是本申请另一个示例性实施例提供的多虚拟角色的控制方法实现的界面示意图;
[0035] 图9是本申请另一个示例性实施例提供的多虚拟角色的控制方法的流程图;
[0036] 图10是本申请另一个示例性实施例提供的多虚拟角色的控制方法实现的界面示意图;
[0037] 图11是本申请一个示例性实施例提供的网格示意图;
[0038] 图12是本申请一个示例性实施例提供的信息编码的信息结构的示意图;
[0039] 图13是本申请另一个示例性实施例提供的多虚拟角色的控制方法实现的界面示意图;
[0040] 图14是本申请另一个示例性实施例提供的多虚拟角色的控制方法实现的界面示意图;
[0041] 图15是本申请另一个示例性实施例提供的多虚拟角色的控制方法实现的界面示意图;
[0042] 图16是本申请另一个示例性实施例提供的多虚拟角色的控制方法实现的界面示意图;
[0043] 图17是本申请另一个示例性实施例提供的多虚拟角色的控制方法实现的界面示意图;
[0044] 图18是本申请另一个示例性实施例提供的多虚拟角色的控制方法的流程图;
[0045] 图19是本申请另一个示例性实施例提供的多虚拟角色的控制方法实现的界面示意图;
[0046] 图20是本申请一个示例性实施例提供的多虚拟角色的控制装置的框图;
[0047] 图21是本申请一个示例性实施例提供的终端的框图;
[0048] 图22是本申请一个示例性实施例提供的服务器的框图。

具体实施方式

[0049] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0050] 首先对本申请涉及到的几个名词进行解释。
[0051] AR技术:是一种将真实世界信息和虚拟世界信息无缝集成的技术,能够将真实环境和虚拟物体实时叠加到同一个画面中。
[0052] 在本申请提供的实施例中,应用程序采用AR技术在终端上运行时提供了三维虚拟环境,三维虚拟环境中包括摄像机采集到的真实环境和电脑仿真生成的虚拟物体、虚拟角色等等。
[0053] 其中,虚拟角色是指在上述三维虚拟环境中的可活动对象,该可活动对象可以是虚拟人物、虚拟动物、动漫人物中的至少一种。可选地,虚拟角色是基于动画骨骼技术创建的三维立体模型。每个虚拟角色在三维虚拟环境中具有自身的形状和体积,占据增强现实环境中的一部分空间。
[0054] 请参考图1,示出了本申请一个示例性实施例提供的多虚拟角色的控制方法的实施环境示意图。该实施环境中包括:终端120、服务器集群140和通信网络160。
[0055] 终端120通过通信网络160与服务器集群140相连。终端120中安装和运行有具有增强现实功能的应用程序,该应用程序还具有支持虚拟角色的功能。可选地,该应用程序可以是增强现实(Augmented Reality,AR)游戏程序、AR教育程序和AR导航程序中的任意一种。
[0056] 可选地,终端120中还安装运行有具有信息分享渠道的应用程序,该应用程序中登录有第一帐号或第二帐号。
[0057] 可选地,终端120可以是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,MP3)播放器、MP4(Moving Picture Experts Group Layer IV,MP4)播放器和膝上型便携计算机中的至少一种。
[0058] 服务器集群140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器集群140用于为具有增强现实功能的应用程序提供后台服务。可选地,服务器集群140承担主要计算工作,终端120承担次要计算工作;或者,服务器集群140承担次要计算工作,终端120承担主要计算工作;或者,服务器集群140和终端120两者之间采用分布式计算架构进行协同计算。
[0059] 可选地,服务器集群140包括:接入服务器和后台服务器。接入服务器用于提供终端120的接入服务和信息收发服务,并将有效信息在终端120和后台服务器之间转发。后台服务器用于提供应用程序的后台服务,比如:游戏逻辑服务、素材提供服务、虚拟角色的生成服务、虚拟角色的三维形象生成服务、虚拟角色的二维图像转化以及存储服务、虚拟角色的交易服务、虚拟角色的展示服务中的至少一种。后台服务器可以是一台或多台。当后台服务器是多台时,存在至少两台后台服务器用于提供不同的服务,和/或,存在至少两台后台服务器用于提供相同的服务,本申请实施例对此不加以限定。
[0060] 通信网络160可以是有线网络和/或无线网络,有线网络可以是城域网、局域网、光纤网等,无线网络可以是移动通信网络或无线保真网络(WIreless Fidelity,WiFi)。
[0061] 本申请中实施例提供的多虚拟角色的控制方法应用于上述实施环境中,支持以下应用场景:
[0062] 多虚拟角色的控制方法应用于AR游戏程序中,通过AR游戏程序在用户界面上展示多个虚拟角色;接收用户界面上触发的选择操作,从选择操作的触发位置发射出物理射线,将与物理射线发生碰撞的虚拟角色确定为目标虚拟角色,通过控制操作对目标虚拟角色实现控制,比如,控制虚拟角色移动在三维虚拟环境中的位置,控制虚拟角色做出连续动作等等。
[0063] 多虚拟角色的控制方法应用于AR教育程序中,通过AR教育程序在用户界面展示并控制多个虚拟角色,比如,通过AR教育程序模拟化学实验,在用户界面中展示实验器具和药品;接收用户界面上触发的选择操作,从选择操作的触发位置发射的物理射线,将与物理射线发生碰撞的实验器具(药品)确定为目标器具(药品);通过控制操作实现目标器具的摆放、实验装置的组装、药品的添加、测量、称重等等。
[0064] 多虚拟角色的控制方法应用于AR军事仿真程序中,通过AR军事仿真程序在用户界面中展示并控制多个虚拟角色,比如,通过AR教育程序进行军事布局,在用户界面中展示多个哨台;接收用户界面上触发的选择操作,从选择操作的触发位置反射的物理射线,将与物理射线发生碰撞的炮台确定为目标哨台;通过拖动操作将目标哨台摆放至合理的位置,搭建警戒线。
[0065] 多虚拟角色的控制方法应用于AR建筑程序中,通过AR建筑程序在用户界面中展示多种建筑,比如,住宅、商铺、车库、红绿灯、高架桥等等;接收用户界面上触发的选择操作,从选择操作的触发位置发射物理射线,将与物理射线发生碰撞的建筑确定为目标建筑,通过控制操作设置目标建筑的地理位置或者目标建筑的显示角度。
[0066] 上述应用场景仅作为举例对本申请提供的多虚拟角色的控制方法的应用场景进行说明,但不仅仅限于上述的应用场景内。
[0067] 请参考图2,示出了本申请一个示例性实施例提供的多虚拟角色的控制方法的流程图。本实施例以该方法应用于图1所示的实施环境中来举例说明。该方法包括:
[0068] 步骤201,显示应用程序的第一用户界面。
[0069] 终端中运行有具有增强显示功能的应用程序,该应用程序具有支持虚拟角色的功能。在终端上显示该应用程序的第一用户界面,上述第一用户界面包括:多个虚拟角色的选择项目。
[0070] 可选地,该应用程序包括AR游戏程序、AR教育程序、AR军事仿真程序、AR建筑程序和AR导航程序中的至少一种。
[0071] 可选地,终端显示应用程序的第一用户界面可以包括以下示意性步骤:
[0072] 在终端上显示应用程序的第二用户界面,第二用户界面上包括列表项控件;该列表项控件是用于触发显示多个虚拟角色的选择项目的控件;
[0073] 终端接收选择项控件上的触发操作;
[0074] 根据上述触发操作显示应用程序的第一用户界面,第一用户界面上包括多个虚拟角色的选择项目;其中,在AR拍照界面上显示有真实世界的背景画面。
[0075] 也就是说,终端在执行本实施例中步骤203之后,重新选择虚拟角色或者选择增加虚拟角色时,通过触发第二用户界面上的列表项控件来显示第一用户界面。
[0076] 或者,终端显示应用程序的第一用户界面还可以包括以下示意性步骤:
[0077] 在终端上显示应用程序的AR主页面,AR主页面上包括显示控件;该显示控件是用于触发显示多个虚拟角色的选择项目的控件;
[0078] 终端接收显示控件上的触发操作;
[0079] 根据上述触发操作显示应用程序的第一用户界面,第一用户界面上包括多个虚拟角色的选择项目;其中,在AR主页面上显示有真实世界的背景画面。
[0080] 可选地,上述触发操作包括单击操作、多次点击操作、长按操作和滑动操作中的至少一种。
[0081] 示意性的,如图3所示,在终端上显示AR应用程序的AR主页面11,AR主页面11上包括显示控件12;终端接收显示控件12上的长按操作;在终端上显示第一用户界面13,在第一用户界面13上显示有多个虚拟角色的选择项目14。
[0082] 步骤202,接收第一用户界面上对至少两个虚拟角色的第一选择操作。
[0083] 终端接收第一用户界面上对至少两个虚拟角色的第一选择操作;可选地,第一选择操作包括单击操作、多次点击操作和长按操作中的至少一种。
[0084] 步骤203,显示应用程序的第二用户界面。
[0085] 在第二用户界面上显示有真实世界的背景画面,以及位于背景画面上的至少两个虚拟角色,至少两个虚拟角色是根据深度信息确定至少两个虚拟角色的渲染顺序后渲染得到的,深度信息是根据第一选择操作的顺序设置的。
[0086] 可选的,虚拟角色的深度信息包括虚拟角色的景深;其中,景深是指摄像机镜头或者其他成像器前沿所测定的被摄物体前后范围距离,该距离内被摄物体能够清晰成像。
[0087] 可选地,终端显示应用程序的第二用户界面可以包括以下示意性步骤:
[0088] 根据第一选择操作对至少两个虚拟角色的选择顺序设置至少两个虚拟角色的深度信息;
[0089] 根据深度信息确定对至少两个虚拟角色的渲染顺序;
[0090] 按照渲染顺序对至少两个虚拟角色进行渲染并显示在第二用户界面中。
[0091] 其中,渲染是指遵循真实摄像机的原理对虚拟角色的模型进行着色;本实施例中,终端将虚拟角色的模型进行渲染,是虚拟角色在三维虚拟环境中呈现出立体感;渲染顺序是指对至少两个虚拟角色的模型进行渲染的先后顺序。
[0092] 示意性的,如图4,在第一用户界面13上单击依次选中选择项目1、选择项目2和选择项目3,再单击确定按钮控件15,确定显示上述选择项目1、选择项目2和选择项目3对应的3个虚拟角色;在第二用户界面19上显示虚拟角色16、虚拟角色17、虚拟角色18。其中,上述3个虚拟角色的绘制顺序是按照深度信息确定的,深度信息是根据第一选择操作决定的,比如,选择项目1对应虚拟角色17,选择项目2对应虚拟角色18,根据先选择项目1后选择项目2的选择顺序,将虚拟角色17的深度信息设置为6,将虚拟角色18的深度信息设置为无穷大,则渲染顺序是先虚拟角色17后虚拟角色18,在图4中,视觉效果上第二用户界面中的虚拟角色17比虚拟角色的位置靠前。
[0093] 如图5,终端绘制虚拟角色的每个像素的过程为:
[0094] 2031、绘制相机纹理;
[0095] 终端绘制虚拟角色在该像素点上对应的相机纹理。相机纹理是指相机采集到的物体表面的沟纹和/或图案;相机是指用户观看虚拟世界时的相机。
[0096] 2032、绘制描边;
[0097] 描边是指做出边缘线条;在图5所示的过程中,当该像素点为有效像素点时,终端对该像素描边;有效像素是指该像素点位于虚拟角色的图像的边缘上。
[0098] 2033、绘制特效;
[0099] 特效是指特殊效果,比如,虚拟角色的衣着会不断变化颜色,或者,虚拟角色的裙摆会不断的摆动等等。当该像素点上包括特效时,终端绘制该像素点上的特效。
[0100] 2034、绘制模型;
[0101] 模型是指阐述物体形态结构的结构体;终端绘制该像素点上的模型。
[0102] 2035、清除深度;
[0103] 清除当前像素点的深度信息,返回执行步骤2032,绘制下一个像素点;直至对虚拟角色的绘制完成,执行步骤2036。
[0104] 2036、结束。
[0105] 步骤204,接收第二用户界面上的第二选择操作。
[0106] 终端接收第二用户界面上对虚拟角色的第二选择操作;可选地,第二选择操作包括单击操作、多次点击操作和长按操作中的至少一种。
[0107] 步骤205,根据第二选择操作和渲染顺序从至少两个虚拟角色中确定出目标虚拟角色。
[0108] 当虚拟角色之间不重叠时,终端将第二选择操作对应选择的虚拟角色确定为目标虚拟角色。
[0109] 可选地,终端从第二选择操作的触发位置发射出物理射线;将与物理射线发生碰撞的虚拟角色确定为目标虚拟角色。比如,如图6,根据第二选择操作的触发位置位于虚拟角色18所在的区域时,从触发位置发射的物理射线与虚拟角色18发生碰撞,将虚拟角色18确定为目标虚拟角色。
[0110] 当至少两个虚拟角色重叠时,终端根据第二选择操作将渲染顺序中位于前端的虚拟角色确定为目标虚拟角色。
[0111] 可选地,当至少两个虚拟角色重叠时,终端确定目标虚拟角色的示意性步骤可以如下:
[0112] 1)在虚拟角色所处的三维虚拟环境中,终端从第二选择操作的触发位置发射出物理射线;
[0113] 2)终端将按照渲染顺序与物理射线发生碰撞的虚拟角色确定为目标虚拟角色。
[0114] 物理射线与虚拟角色的碰撞是指物理射线的元素与虚拟角色的元素的碰撞。终端通过碰撞检测来确定得出物理射线与虚拟角色发生碰撞的结论。其中,物理射线与渲染顺序中位于前端的虚拟角色发生碰撞。
[0115] 比如,如图6,虚拟角色16和虚拟角色17之间部分重叠,虚拟角色17的渲染顺序先于虚拟角色16,当第二选择操作的触发位置位于重叠区域时,终端从触发位置发射的物理射线与虚拟角色17发生碰撞,将虚拟角色17确定为目标虚拟角色。
[0116] 综上所述,本实施例提供的多虚拟角色的控制方法,在终端中运行有增强现实功能的应用程序时,通过显示应用程序的第一用户界面,第一用户界面包括:多个虚拟角色的选择项目;接收第一用户界面上对至少两个虚拟角色的第一选择操作;显示应用程序的第二用户界面,在第二用户界面上显示有真实世界的背景画面,以及位于背景画面上的至少两个虚拟角色,至少两个虚拟角色是根据深度信息确定至少两个虚拟角色的渲染顺序后渲染得到的,深度信息是根据第一选择操作的顺序设置的;接收第二用户界面上的第二选择操作;根据第二选择操作和渲染顺序从至少两个虚拟角色中确定出目标虚拟角色。
[0117] 上述方法中通过深度信息确定渲染顺序,按照渲染顺序绘制至少两个虚拟角色,能够避免虚拟角色之间有叠加时发生穿模现象,从而使用户在对虚拟角色进行选择操作时,准确的确定出目标虚拟角色;使用户在AR场景下能够像操作二维图片一样对三维模型进行控制操作,保证触摸判定与视觉一致,解决了针对三维虚拟角色的人机交互;比如,第一虚拟角色和第二虚拟角色重叠,且渲染顺序中第一虚拟角色先于第二虚拟角色时,终端能够根据选择操作准确的将第一虚拟角色确定为目标虚拟角色。
[0118] 需要说明的是,本实施例中终端显示的用户界面为二维图像,比如,第一用户界面和第二用户界面均为二维图像。
[0119] 需要说明的是,基于图2,在步骤205之后增加步骤301至步骤302,终端在确定出目标虚拟角色之后更新第二用户界面,如图7,示意性步骤如下:
[0120] 步骤301,将目标虚拟角色确定为渲染顺序中位于顶端的虚拟角色,对渲染顺序进行更新。
[0121] 终端在原渲染顺序的基础上,将目标虚拟角色的渲染顺序设置至顶端,其余虚拟角色的渲染顺序不变,对渲染顺序进行更新。
[0122] 比如,对虚拟角色16、虚拟角色17和虚拟角色18的渲染顺序为:虚拟角色16、虚拟角色17、虚拟角色18;当终端将虚拟角色17确定为目标虚拟角色时,则渲染顺序更新为:虚拟角色17、虚拟角色16、虚拟角色18。
[0123] 步骤302,根据更新后的渲染顺序显示至少两个虚拟角色。
[0124] 终端根据更新后的渲染顺序重新绘制并显示至少两个虚拟角色。示意性的,如图8,第二用户界面19中3个虚拟角色的渲染顺序为:虚拟角色17、虚拟角色16、虚拟角色18;终端将虚拟角色18确定为目标虚拟角色之后,渲染顺序更新为:虚拟角色18、虚拟角色17、虚拟角色16;在第二用户界面中23中,按照更新后的渲染顺序对上述3个虚拟角色进行显示,视觉效果上,虚拟角色18明显靠前于虚拟角色16和虚拟角色17。
[0125] 在一些实施例中,第二用户界面为拍照界面,基于图2,在步骤205之后增加步骤401至步骤407,终端实现对多虚拟角色的拍照功能以及拍照分享功能,如图9,示意性步骤如下:
[0126] 步骤401,接收对目标虚拟角色触发的姿势设置操作。
[0127] 姿势设置操作用于设置目标虚拟角色的姿势信息;可选地,姿势信息包括虚拟角色的位置信息、动作信息和尺寸信息中的至少一种。可选地,位置信息包括目标虚拟角色在三维虚拟环境中的地理位置信息和自身的旋转信息。
[0128] 可选地,姿势设置操作包括滑动操作、单击操作、多次点击操作、拖动操作和缩放操作中的至少一种。
[0129] 示意性的,终端接收对目标虚拟角色触发的设置操作可以包括如下示意性步骤:
[0130] 接收对目标虚拟角色的滑动操作;上述滑动操作用于设置目标虚拟角色在三维虚拟环境中的位置信息。
[0131] 或者,接收对目标虚拟角色的拖动操作;上述拖动操作用于设置目标虚拟角色在三维虚拟环境中的位置信息。
[0132] 或者,接收对目标虚拟角色的缩放操作;上述缩放操作用于设置目标虚拟角色的尺寸信息。
[0133] 或者,播放目标虚拟角色的连续动作;
[0134] 接收第二用户界面上的单击操作;上述单击操作用于定格目标虚拟角色的动作,上述定格的动作用于设置目标虚拟角色的动作信息。
[0135] 步骤402,根据姿势设置操作设置目标虚拟角色的姿势信息。
[0136] 可选地,终端根据姿势设置操作旋转目标虚拟角色的显示角度;比如,终端根据左右方向上的滑动操作对目标虚拟角色的显示角度进行旋转调整。
[0137] 或者,终端根据姿势设置操作设置目标虚拟角色在三维虚拟环境中的地理位置;比如,终端根据上下方向上的拖动操作将目标虚拟角色在第二用户界面中上下移动。
[0138] 或者,终端根据姿势设置操作设置目标虚拟角色的尺寸信息;比如,终端根据缩放操作设置目标虚拟对象的尺寸大小。
[0139] 或者,终端根据姿势设置操作设置目标虚拟角色的动作信息;比如,终端播放目标虚拟角色的连续动作,根据单击操作定格目标虚拟角色的动作。
[0140] 步骤403,接收拍照控件上触发的拍照操作。
[0141] 第二用户界面上包括拍照控件;终端接收拍照控件上触发的拍照操作。该拍照操作用于对设置姿势信息后的至少两个虚拟角色进行拍照,或者,用于与设置姿势信息后的至少两个虚拟角色进行合照。
[0142] 步骤404,根据拍照操作对至少两个虚拟角色进行拍照得到拍摄图片。
[0143] 终端根据拍照操作对至少两个虚拟角色进行拍照得到拍摄图片;其中,拍摄图片中包括以姿势信息设置显示的目标虚拟角色。可选地,拍摄图片中还包括真实环境中的对象。比如,真实环境中的对象可以是真实的物体、真实的动物、真实的人。
[0144] 在一些实施例中,当首次在应用程序中对至少两个虚拟角色拍照时,终端提示可横屏拍照。示意性的,如图10,用户界面31中显示提示语32:“旋转手机可横屏拍照”。此时,当手机横屏是锁定状态时,终端提示解锁手机屏幕。比如,在用户界面中显示提示语“请先解锁手机屏幕”。
[0145] 步骤405,显示应用程序的第三用户界面。
[0146] 终端将拍摄图片显示到应用程序的第三用户界面,第三用户界面上还包括分享按钮控件。分享按钮控件用于分享拍摄图片和拍摄图片中至少两个虚拟角色的姿势信息中的至少一种。
[0147] 步骤406,接收分享按钮控件上的分享操作。
[0148] 终端接收分享按钮控件上的分享操作。比如,分享操作可以是单击操作。
[0149] 步骤407,根据分享操作将信息编码从第一帐号分享至第二帐号。
[0150] 上述信息编码包括拍摄图片中至少两个虚拟角色的姿势信息,信息编码用于设置至少两个虚拟角色的姿势。
[0151] 终端根据分享操作将信息编码从第一帐号分享至第二帐号的示意性步骤如下:
[0152] 1)根据分享操作获取至少两个虚拟角色的姿势信息,生成信息编码。
[0153] 可选地,终端将地理位置信息映射至网格(Grid布局)中,进行编码;比如,终端将表示地理位置信息的16个浮点数转换成两个上限已知的整数,上述上限是根据终端屏幕的显示尺寸确定的。
[0154] 可选地,终端将表示旋转信息的欧拉角映射到二维平面中,并通过哈希函数欧拉角映射之后的哈希值,进行编码;比如,终端将欧拉角通过0度至360度范围内的角度值进行表示,并将角度值进行哈希得到一个哈希值。
[0155] 可选地,终端对尺寸信息降低精度,将降低精度后的尺寸信息编码。
[0156] 示意性的,如图11和图12,上述地理位置信息可以通过两个整数表示,比如Grid原点(0,0),将每一个整数编码为一个16比特(bit)索引,如“xGrid索引”和“yGrid索引”;上述旋转信息将三个16bit整数(表示欧拉角)合并为一个1个32bit的整数,如“旋转Hash”;上述尺寸信息可以将三个浮点数降低精度至一个16bit的整数,如“缩放”;其中,图中每一个小格表示8bit。上述姿势信息可以通过10字节“byte”的信息编码进行传播。
[0157] 可选地,终端对姿势信息编码得到信息编码之后,还可以对信息编码进行处理。比如,终端通过Base64对信息编码进行加密。
[0158] 可选地,姿势信息的数据类型为转置型(Transform)。
[0159] 2)将信息编码复制和粘贴至信息分享渠道中。
[0160] 可选地,终端根据分享操作将信息编码自动复制和粘贴至信息分享渠道中;或者,用户将信息编码复制和粘贴至信息分享渠道中。
[0161] 可选地,信息分享渠道可以是即时通信程序或者网络平台。
[0162] 3)通过信息分享渠道将信息编码从第一帐号分享至第二帐号。
[0163] 终端的应用程序中登录有第一帐号,通过第一帐号向第二帐号分享信息编码。
[0164] 示意性的,终端的应用程序为即时通信程序,该即时通信程序登录有第一帐号,第一帐号与第二帐号是社交好友,终端通过第一帐号向第二帐号发送信息编码。
[0165] 或者,终端的应用程序为网络平台,该网络平台登录有第一帐号,第一帐号与第二帐号是陌生人,终端通过第一帐号在网络平台上发布信息编码,第二帐号可以访问该网络平台获取信息编码。
[0166] 如图13,第三用户界面43上包括分享按钮控件41,点击分享按钮控件41能够获得信息编码;当信息编码获取成功时,终端上显示提示信息“信息编码已复制,快去分享吧~”。第三用户界面上还包括分享按钮控件42,该分享按钮控件42用于拍摄图片的分享。
[0167] 综上所述,本实施例提供的多虚拟角色的控制方法,还通过使用信息编码分享至少两个虚拟角色的姿势信息,使用户之间可以分享虚拟角色的各种摆拍姿势;且信息编码能够使用很短的字符串来进行传播,降低了姿势信息的传播难度;比如,图12中信息编码仅占用了10个字节。
[0168] 示意性的,终端可以通过进度条设置虚拟角色的动作;比如,图14中,终端接收选择控件51上的触发操作,显示动作选择项;接收动作选择项52上的触发操作,对动作选择项52对应的动作进行播放,即虚拟角色54执行上述动作;接收进度条53上的拖动操作可以选择动作画面;接收进度条53上的定格操作,定格虚拟角色54的动作;定格的动作即为最终确定的动作。
[0169] 其中,动作可以包括休闲、蓄力、待机、跳跃、攻击、技能、倒地、眩晕等等。
[0170] 其次,终端可以对目标虚拟角色进行删除;如图14,当终端确定出目标虚拟角色为虚拟角色54时,用户界面56上显示有删除按钮控件55;终端接收删除按钮控件55上的触发操作时,删除虚拟角色54,显示用户界面57。
[0171] 再次,终端可以将摄像头在前置和后置之间进行切换,如图14,用户界面57中包括摄像头的切换按钮58。
[0172] 在对虚拟角色设置姿势信息后,终端还可以将虚拟角色的姿势信息一键还原为默认姿势信息,如图14,用户界面57中包括还原控件59;终端接收到还原控件59的触发操作,显示卡片60,卡片60中包括提醒信息,通过确定或者取消操作来确定是否还原。
[0173] 再有,终端在显示第二用户界面后,可以增加显示的虚拟角色。如图15,用户界面61上包括列表控件62;终端接收列表控件62上的触发操作,显示虚拟角色的选择项目63;终端可以根据选择操作增加并显示虚拟角色。
[0174] 还需要说明的是,终端可以为虚拟角色增加滤镜或者美颜。如图16,用户界面64上显示有滤镜控件65;接收滤镜控件65上的触发操作,显示滤镜列表;当终端接收到滤镜控件66上的触发操作时,显示滤镜下对应的滤镜列表;如图中用户界面67中所示,当终端接收到美颜控件68上的触发操作,显示美颜下对应的滤镜列表。终端中还通过进度条来设置滤镜的相应数值,比如,调节美颜的百分比。
[0175] 终端还可以在拍照过程中,在用户界面中进行贴图。如图17,用户界面71中包括贴图按钮控件72;终端接收贴图按钮控件72上的触发操作,显示贴图列表;终端接收对模板的选择操作,显示模板75。模板75上包括关闭按钮74,当终端接收到关闭按钮74上的触发操作时,取消贴图。模板75上包括旋转按钮73,当终端接收到旋转按钮73上的拖动操作时,终端根据拖动操作转动模板75。当终端接收到模板75的文本控件上的触发操作时,显示用户界面76,用户界面76中包括键盘77,用于在模板75中输入文本内容。
[0176] 在一些实施例中,终端可以通过信息编码来设置虚拟角色的姿势信息,示意性的,基于图2,将步骤203替换为步骤501至步骤502,如图18,步骤如下:
[0177] 步骤501,获取信息编码。
[0178] 信息编码是对目标姿势信息编码得到的,目标姿势信息用于设置至少两个虚拟角色的姿势。
[0179] 可选地,终端接收第二帐号通过信息分享通道分享至第一帐号的信息编码。
[0180] 步骤502,在第二用户界面上显示设置有目标姿势信息的至少两个虚拟角色。
[0181] 可选地,目标姿势信息包括目标深度信息;至少两个虚拟角色的姿势信息的设置包括如下示意性步骤:
[0182] 1)终端确定目标深度信息与渲染顺序的第一对应关系。
[0183] 2)根据第一对应关系确定n个目标姿势信息与n个虚拟角色之间的第二对应关系。
[0184] 3)根据第二对应关系将第i个目标姿势信息设置为第j个虚拟角色的姿势信息。
[0185] 4)在第二用户界面上显示第j个虚拟角色。
[0186] 其中,n、i、j为正整数,i、j均小于n。
[0187] 示意性的,如表一,包括了第一对应关系和第二对应关系,当目标深度信息a>b>c,则目标姿势信息对应的渲染顺序依次为1、2、3,则第3个目标姿势信息与第1个虚拟角色对应,第2个目标姿势信息与第2个虚拟角色对应,第1个目标姿势信息与第3个虚拟角色对应;终端将第3个目标姿势信息设置为第1个虚拟角色的姿势信息,将第2个目标姿势信息设置为第2个虚拟角色的姿势信息,将第1个目标姿势信息设置为第3个虚拟角色的姿势信息。
[0188] 表一
[0189]
[0190] 示意性的,信息编码的获取方式可以如图19所示,第一用户界面81包括编码控件82;终端接收编码控件82上的触发操作,显示卡片83;卡片83显示有编码输入控件,用户可以将信息编码复制和粘贴至编码输入控件中,并点击确定按钮对虚拟角色的姿势信息进行设置;显示用户界面84,用户界面84中包括提示信息“信息编码对应4个角色”,提示用户信息编码对应的虚拟角色的数量。
[0191] 综上所述,本实施例提供的多虚拟角色的控制方法,还通过使用信息编码分享至少两个虚拟角色的姿势信息,使用户之间可以分享虚拟角色的各种摆拍姿势;且信息编码能够使用很短的字符串来进行传播,降低了姿势信息的传播难度。
[0192] 请参考图20,示出了本申请一个示例性实施例提供的多虚拟角色的控制装置,该装置中运行具有增强现实功能的应用程序,该装置包括:
[0193] 显示模块601,用于显示应用程序的第一用户界面,第一用户界面包括:多个虚拟角色的选择项目;
[0194] 第一接收模块602,用于接收第一用户界面上对至少两个虚拟角色的第一选择操作;
[0195] 显示模块601,用于显示应用程序的第二用户界面,在第二用户界面上显示有真实世界的背景画面,以及位于背景画面上的至少两个虚拟角色,至少两个虚拟角色是根据深度信息确定至少两个虚拟角色的渲染顺序后渲染得到的,深度信息是根据第一选择操作的顺序设置的;
[0196] 第一接收模块602,用于接收第二用户界面上的第二选择操作;
[0197] 确定模块603,用于根据第二选择操作和渲染顺序从至少两个虚拟角色中确定出目标虚拟角色。
[0198] 在一些实施例中,确定模块603,用于当至少两个虚拟角色重叠时,根据第二选择操作将渲染顺序中位于前端的虚拟角色确定为目标虚拟角色。
[0199] 在一些实施例中,确定模块603,用于在虚拟角色所处的三维虚拟环境中,从第二选择操作的触发位置发射出物理射线;将按照渲染顺序与物理射线发生碰撞的虚拟角色确定为目标虚拟角色;其中,物理射线与渲染顺序中位于前端的虚拟角色发生碰撞。
[0200] 在一些实施例中,该装置还包括:
[0201] 更新模块604,用于将目标虚拟角色确定为渲染顺序中位于顶端的虚拟角色,对渲染顺序进行更新;
[0202] 显示模块601,用于根据更新后的渲染顺序显示至少两个虚拟角色。
[0203] 在一些实施例中,第二用户界面上包括拍照控件;
[0204] 该装置还包括:
[0205] 第一接收模块602,用于接收对目标虚拟角色触发的姿势设置操作;
[0206] 设置模块605,用于根据姿势设置操作设置目标虚拟角色的姿势信息;
[0207] 第一接收模块602,用于接收拍照控件上触发的拍照操作;
[0208] 拍照模块606,用于根据拍照操作对至少两个虚拟角色进行拍照得到拍摄图片;拍摄图片中包括以姿势信息设置显示的目标虚拟角色。
[0209] 在一些实施例中,该装置还包括:
[0210] 显示模块601,用于显示应用程序的第三用户界面,第三用户界面上包括拍摄图片和分享按钮控件;
[0211] 第一接收模块602,用于接收分享按钮控件上的分享操作;
[0212] 分享模块607,用于根据分享操作将信息编码从第一帐号分享至第二帐号;信息编码包括拍摄图片中至少两个虚拟角色的姿势信息,信息编码用于设置至少两个虚拟角色的姿势。
[0213] 在一些实施例中,分享模块607,用于根据分享操作获取至少两个虚拟角色的姿势信息,生成信息编码;将信息编码复制和粘贴至信息分享渠道中;通过信息分享渠道将信息编码从第一帐号分享至第二帐号。
[0214] 在一些实施例中,显示模块601,用于获取信息编码;信息编码是对目标姿势信息编码得到的,目标姿势信息用于设置至少两个虚拟角色的姿势;在第二用户界面上显示设置有目标姿势信息的至少两个虚拟角色。
[0215] 在一些实施例中,目标姿势信息包括目标深度信息;
[0216] 显示模块601,用于确定目标深度信息与渲染顺序的第一对应关系;根据第一对应关系确定n个目标姿势信息与n个虚拟角色之间的第二对应关系;根据第二对应关系将第i个目标姿势信息设置为第j个虚拟角色的姿势信息;在第二用户界面上显示第j个虚拟角色;n、i、j为正整数,i、j均小于n。
[0217] 在一些实施例中,该装置还包括:
[0218] 第二接收模块608,用于接收第二帐号通过信息分享通道分享至第一帐号的信息编码。
[0219] 本实施例提供的多虚拟角色的控制装置,在装置中运行有增强现实功能的应用程序时,通过显示应用程序的第一用户界面,第一用户界面包括:多个虚拟角色的选择项目;接收第一用户界面上对至少两个虚拟角色的第一选择操作;显示应用程序的第二用户界面,在第二用户界面上显示有真实世界的背景画面,以及位于背景画面上的至少两个虚拟角色,至少两个虚拟角色是根据深度信息确定至少两个虚拟角色的渲染顺序后渲染得到的,深度信息是根据第一选择操作的顺序设置的;接收第二用户界面上的第二选择操作;根据第二选择操作和渲染顺序从至少两个虚拟角色中确定出目标虚拟角色。
[0220] 上述装置中通过深度信息确定渲染顺序,按照渲染顺序绘制至少两个虚拟角色,能够避免虚拟角色之间有叠加时发生穿模现象,从而使用户在对虚拟角色进行选择操作时,准确的确定出目标虚拟角色;使用户在AR场景下能够像操作二维图片一样对三维模型进行控制操作,保证触摸判定与视觉一致,解决了针对三维虚拟角色的人机交互;比如,第一虚拟角色和第二虚拟角色重叠,且渲染顺序中第一虚拟角色先于第二虚拟角色时,终端能够根据选择操作准确的将第一虚拟角色确定为目标虚拟角色。
[0221] 图21示出了本申请一个示例性实施例提供的终端700的结构框图。该终端700可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0222] 通常,终端700包括有:处理器701和存储器702。
[0223] 处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
[0224] 存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的多虚拟角色的控制方法。
[0225] 在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路
704、触摸显示屏705、摄像头706、音频电路707、定位组件708和电源709中的至少一种。
[0226] 外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0227] 射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
[0228] 显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置终端700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
[0229] 摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0230] 音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路
704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
[0231] 定位组件708用于定位终端700的当前地理位置,以实现导航或LBS(Location Based  Service,基于位置的服务)。定位组件708可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
[0232] 电源709用于为终端700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0233] 在一些实施例中,终端700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
[0234] 加速度传感器711可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制触摸显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
[0235] 陀螺仪传感器712可以检测终端700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0236] 压力传感器713可以设置在终端700的侧边框和/或触摸显示屏705的下层。当压力传感器713设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在触摸显示屏705的下层时,由处理器701根据用户对触摸显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0237] 指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。
[0238] 光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制触摸显示屏705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏705的显示亮度;当环境光强度较低时,调低触摸显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
[0239] 接近传感器716,也称距离传感器,通常设置在终端700的前面板。接近传感器716用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制触摸显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制触摸显示屏705从息屏状态切换为亮屏状态。
[0240] 本领域技术人员可以理解,图21中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0241] 本申请还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法实施例提供的多虚拟角色的控制方法。
[0242] 图22是本申请一个实施例提供的服务器的结构示意图。具体来讲:服务器800包括中央处理单元(英文:Central Processing Unit,简称:CPU)801、包括随机存取存储器(英文:random access memory,简称:RAM)802和只读存储器(英文:read-only memory,简称:ROM)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。所述服务器800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
[0243] 所述基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中所述显示器808和输入设备809都通过连接到系统总线805的输入/输出控制器810连接到中央处理单元801。所述基本输入/输出系统806还可以包括输入/输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
[0244] 所述大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备807及其相关联的计算机可读介质为服务器800提供非易失性存储。也就是说,所述大容量存储设备807可以包括诸如硬盘或者只读光盘(英文:Compact Disc Read-Only Memory,简称:CD-ROM)驱动器之类的计算机可读介质(未示出)。
[0245] 不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(英文:erasable programmable read-only memory,简称:EPROM)、电可擦除可编程只读存储器(英文:electrically erasable programmable read-only memory,简称:EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(英文:Digital Versatile Disc,简称:DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
[0246] 根据本申请的各种实施例,所述服务器800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器800可以通过连接在所述系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机系统(未示出)。
[0247] 本申请还提供了一种计算机程序产品,当其在电子设备上运行时,使得电子设备执行上述各个方法实施例所述的多虚拟角色的控制方法。
[0248] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0249] 以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。