一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种房间合并方法、装置、计算机设备及存储介质与流程

2023-02-10 20:42:10 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,具体而言,涉及一种房间合并方法、装置、计算机设备及存储介质。


背景技术:

2.互联网在为用户提供聊天功能的基础上,还提供了新兴的社交方式,比如利用虚拟人物形象作为用户在互联网中的虚拟角色进行聊天等社交活动,以使用户在社交活动中具有身临其境的沉浸式体验。
3.在上述场景下,一般地,位于同一个虚拟房间内的虚拟角色可以互相聊天,而位于不同虚拟房间的虚拟角色之间是无法进行沟通的。比如,如果一个虚拟房间内的虚拟角色想要与另一个虚拟房间内的虚拟角色聊天,还需要先主动操作离开原来虚拟房间,并加入想要聊天的虚拟角色所在虚拟房间,操作比较繁琐,而且不符合现实中的聊天场景,体验不够自然。


技术实现要素:

4.本公开实施例至少提供一种房间合并方法、装置、计算机设备及存储介质。
5.第一方面,本公开实施例提供了一种房间合并方法,包括:获取三维场景内第一虚拟房间和第二虚拟房间分别对应的状态信息;基于所述第一虚拟房间和所述第二虚拟房间分别对应的状态信息,确定所述第一虚拟房间和所述第二虚拟房间之间的距离关系和速度关系;基于所述距离关系,确定合并条件中的第一条件,以及基于所述速度关系,确定合并条件中的第二条件;若所述第一虚拟房间和所述第二虚拟房间满足所述合并条件中的所述第一条件和所述第二条件,则合并所述第一虚拟房间与所述第二虚拟房间,得到目标虚拟房间。
6.一种可选的实施方式中,任一虚拟房间的所述状态信息包括下述至少一种信息:所述任一虚拟房间内的用户数量;所述任一虚拟房间中各用户在所述三维场景中的位置信息;所述任一虚拟房间在所述三维场景中的房间位置信息;所述房间位置信息为利用所述任一虚拟房间中各用户的用户位置信息确定的中心位置信息;所述任一虚拟房间在所述三维场景所对应的区域;所述区域基于所述任一虚拟房间的房间位置信息以及所述任一虚拟房间的预设区域尺寸确定;所述任一虚拟房间的运动信息;所述运动信息包括运动方向和运动速度。
7.一种可选的实施方式中,所述第一条件包括从以下条件中的至少一种:用户数量少的虚拟房间中各用户对应的用户位置满足全部落入用户数量多的虚拟房间所对应的区域内;所述第一虚拟房间与所述第二虚拟房间之间的距离,小于预设距离阈值;所述第一虚拟房间与所述第二虚拟房间之间的距离,基于所述第一虚拟房间和所述第二虚拟房间分别在所述三维场景中的房间位置信息确定;所述第一虚拟房间和所述第二虚拟房间的各用户全部落入预合并的第三虚拟房间所对应的区域中;所述第三虚拟房间为将所述第一虚拟房
间和所述第二虚拟房间进行预合并处理得到的。
8.一种可选的实施方式中,基于所述距离关系,确定合并条件中的第一条件,包括:确定所述第一虚拟房间的用户数量与所述第二虚拟房间的用户数量的数量差值;在所述数量差值大于预设数量阈值的情况下,确定所述第一条件包括:所述用户数量少的虚拟房间中各用户对应的用户位置满足全部落入用户数量多的虚拟房间所对应的区域内;在所述数量差值小于所述预设数量阈值的情况下,确定所述第一条件包括:所述第一虚拟房间与所述第二虚拟房间之间的距离小于预设距离阈值;在所述数量差值小于所述预设数量阈值、且所述第一虚拟房间与所述第二虚拟房间之间的距离大于或等于所述预设距离阈值的情况下,确定所述第一条件包括:所述第一虚拟房间和所述第二虚拟房间的各用户全部落入预合并的第三虚拟房间所对应的区域中。
9.一种可选的实施方式中,根据以下步骤对所述第一虚拟房间和所述第二虚拟房间进行预合并处理:将所述第一虚拟房间中各用户以及所述第二虚拟房间中各用户均作为预合并处理后的第三虚拟房间中的各用户,并将利用所述第一虚拟房间中各用户的用户位置信息以及所述第二虚拟房间中各用户的用户位置信息确定的中心位置信息,作为所述第三虚拟房间的房间位置信息;基于所述第三虚拟房间的房间位置信息和预先确定的区域尺寸确定所述第三虚拟房间所对应的区域,以得到预合并处理后的所述第三虚拟房间。
10.一种可选的实施方式中,所述第二条件包括以下条件中的至少一种:所述第一虚拟房间的运动方向和所述第二虚拟房间的运动方向之间的夹角小于预设夹角;所述第一虚拟房间的运动速度和所述第二虚拟房间的运动速度均小于预设运动速度。
11.一种可选的实施方式中,基于所述速度关系,确定合并条件中的第二条件,包括:在所述第一虚拟房间的运动速度和所述第二虚拟房间的运动速度均大于预设运动速度的情况下,确定所述第二条件包括:所述第一虚拟房间的运动方向和所述第二虚拟房间的运动方向之间的夹角小于预设夹角;否则,确定所述第二条件包括:所述第一虚拟房间的运动速度和所述第二虚拟房间的运动速度均小于预设运动速度。
12.一种可选的实施方式中,合并所述第一虚拟房间与所述第二虚拟房间,得到目标虚拟房间,包括:确定所述第一虚拟房间的各用户和所述第二虚拟房间中的各用户的用户位置信息的中心位置信息;确定以所述中心位置信息为房间位置信息、以预设区域尺寸为房间尺寸的所述目标虚拟房间。
13.一种可选的实施方式中,确定以所述中心位置信息为房间位置信息、以预设区域尺寸为房间尺寸的所述目标虚拟房间,包括:基于所述目标虚拟房间的初始区域尺寸、以及所述目标虚拟房间的房间位置信息,确定所述目标虚拟房间所对应的区域;所述初始区域尺寸大于所述预设区域尺寸,所述初始区域尺寸下的所述目标虚拟房间能够容纳所述第一虚拟房间和所述第二虚拟房间的所有用户;每隔预设时长,按照预设尺寸步长减小所述目标虚拟房间所对应的区域,直至所述目标虚拟房间所对应的区域尺寸调整至所述预设区域尺寸,并在所述目标虚拟房间的区域调整过程中,将所述第一虚拟房间和所述第二虚拟房间中的各用户中,一直位于所述目标虚拟房间内的用户,作为所述目标虚拟房间中的用户。
14.第二方面,本公开实施例还提供一种房间合并装置,包括:获取模块,用于获取三维场景内第一虚拟房间和第二虚拟房间分别对应的状态信息;第一确定模块,用于基于所述第一虚拟房间和所述第二虚拟房间分别对应的状态信息,确定所述第一虚拟房间和所述
第二虚拟房间之间的距离关系和速度关系;第二确定模块,用于基于所述距离关系,确定合并条件中的第一条件,以及基于所述速度关系,确定合并条件中的第二条件;合并模块,用于若所述第一虚拟房间和所述第二虚拟房间满足所述合并条件中的所述第一条件和所述第二条件,则合并所述第一虚拟房间与所述第二虚拟房间,得到目标虚拟房间。
15.一种可选的实施方式中,任一虚拟房间的所述状态信息包括下述至少一种信息:所述任一虚拟房间内的用户数量;所述任一虚拟房间中各用户在所述三维场景中的位置信息;所述任一虚拟房间在所述三维场景中的房间位置信息;所述房间位置信息为利用所述任一虚拟房间中各用户的用户位置信息确定的中心位置信息;所述任一虚拟房间在所述三维场景所对应的区域;所述区域基于所述任一虚拟房间的房间位置信息以及所述任一虚拟房间的预设区域尺寸确定;所述任一虚拟房间的运动信息;所述运动信息包括运动方向和运动速度。
16.一种可选的实施方式中,所述第一条件包括以下条件中的至少一种:用户数量少的虚拟房间中各用户对应的用户位置满足全部落入用户数量多的虚拟房间所对应的区域内;所述第一虚拟房间与所述第二虚拟房间之间的距离,小于预设距离阈值;所述第一虚拟房间与所述第二虚拟房间之间的距离,基于所述第一虚拟房间和所述第二虚拟房间分别在所述三维场景中的房间位置信息确定;所述第一虚拟房间和所述第二虚拟房间的各用户全部落入预合并的第三虚拟房间所对应的区域中;所述第三虚拟房间为将所述第一虚拟房间和所述第二虚拟房间进行预合并处理得到的。
17.一种可选的实施方式中,第二确定模块在基于所述距离关系,确定合并条件中的第一条件时,用于:确定所述第一虚拟房间的用户数量与所述第二虚拟房间的用户数量的数量差值;在所述数量差值大于预设数量阈值的情况下,确定所述第一条件包括:所述用户数量少的虚拟房间中各用户对应的用户位置满足全部落入用户数量多的虚拟房间所对应的区域内;在所述数量差值小于所述预设数量阈值的情况下,确定所述第一条件包括:所述第一虚拟房间与所述第二虚拟房间之间的距离小于预设距离阈值;在所述数量差值小于所述预设数量阈值、且所述第一虚拟房间与所述第二虚拟房间之间的距离大于或等于所述预设距离阈值的情况下,确定所述第一条件包括:所述第一虚拟房间和所述第二虚拟房间的各用户全部落入预合并的第三虚拟房间所对应的区域中。
18.一种可选的实施方式中,根据以下步骤对所述第一虚拟房间和所述第二虚拟房间进行预合并处理:将所述第一虚拟房间中各用户以及所述第二虚拟房间中各用户均作为预合并处理后的第三虚拟房间中的各用户,并将利用所述第一虚拟房间中各用户的用户位置信息以及所述第二虚拟房间中各用户的用户位置信息确定的中心位置信息,作为所述第三虚拟房间的房间位置信息;基于所述第三虚拟房间的房间位置信息和预先确定的区域尺寸确定所述第三虚拟房间所对应的区域,以得到预合并处理后的所述第三虚拟房间。
19.一种可选的实施方式中,所述第二条件包括以下条件中的至少一种:所述第一虚拟房间的运动方向和所述第二虚拟房间的运动方向之间的夹角小于预设夹角;所述第一虚拟房间的运动速度和所述第二虚拟房间的运动速度均小于预设运动速度。
20.一种可选的实施方式中,第二确定模块在基于所述速度关系,确定合并条件中的第二条件时,用于:在所述第一虚拟房间的运动速度和所述第二虚拟房间的运动速度均大于预设运动速度的情况下,确定所述第二条件包括:所述第一虚拟房间的运动方向和所述
第二虚拟房间的运动方向之间的夹角小于预设夹角;否则,确定所述第二条件包括:所述第一虚拟房间的运动速度和所述第二虚拟房间的运动速度均小于预设运动速度。
21.一种可选的实施方式中,合并模块在合并所述第一虚拟房间与所述第二虚拟房间,得到目标虚拟房间时,用于:确定所述第一虚拟房间的各用户和所述第二虚拟房间中的各用户的用户位置信息的中心位置信息;确定以所述中心位置信息为房间位置信息、以预设区域尺寸为房间尺寸的所述目标虚拟房间。
22.一种可选的实施方式中,合并模块在确定以所述中心位置信息为房间位置信息、以预设区域尺寸为房间尺寸的所述目标虚拟房间时,用于:基于所述目标虚拟房间的初始区域尺寸、以及所述目标虚拟房间的房间位置信息,确定所述目标虚拟房间所对应的区域;所述初始区域尺寸大于所述预设区域尺寸,所述初始区域尺寸下的所述目标虚拟房间能够容纳所述第一虚拟房间和所述第二虚拟房间的所有用户;每隔预设时长,按照预设尺寸步长减小所述目标虚拟房间所对应的区域,直至所述目标虚拟房间所对应的区域尺寸调整至所述预设区域尺寸,并在所述目标虚拟房间的区域调整过程中,将所述第一虚拟房间和所述第二虚拟房间中的各用户中,一直位于所述目标虚拟房间内的用户,作为所述目标虚拟房间中的用户。
23.第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
24.第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
25.本公开实施例提供的一种房间合并方法,通过获取两个虚拟房间分别对应的状态信息,确定第一虚拟房间和第二虚拟房间之间的距离关系与速度关系,从而判断第一虚拟房间和第二虚拟房间当前是否处于类似于现实场景中两群人见面的场景。若满足该场景下的判断条件,也即合并条件,则将两个虚拟房间进行合并,以使两个虚拟房间中虚拟角色可以进行沟通;从而本公开实施例简化了不同虚拟房间的虚拟角色之间进行沟通的操作复杂度,使得聊天场景更加贴近现实场景。
26.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
27.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
28.图1示出了本公开实施例所提供的一种房间合并方法的流程图;
29.图2示出了本公开实施例所提供的第一种进行虚拟房间合并时的示意图;
30.图3示出了本公开实施例所提供的第二种进行虚拟房间合并时的示意图;
31.图4示出了本公开实施例所提供的一种确定第一条件的具体流程图;
32.图5示出了本公开实施例所提供的一种房间合并装置;
33.图6示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
34.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
35.经研究发现,在互联网中用户通过虚拟人物形象进行聊天社交时,可以设置使相互靠近的两个虚拟人物进行沟通,但在不同虚拟房间内的虚拟角色之间无法进行沟通,具体需要通过离开当前虚拟房间并加入新的虚拟房间,才能实现与另一虚拟房间中的虚拟角色聊天。这种方式下操作比较繁琐,并不符合现实中的聊天场景,体验不够自然。
36.基于上述研究,本公开提供了一种房间合并方法,具体针对虚拟房间选取是否进行虚拟房间的合并,以使不同的两个群体之间实现聊天社交。本技术中具体通过获取两个虚拟房间分别对应的状态信息,确定第一虚拟房间和第二虚拟房间之间的距离关系与速度关系,从而判断第一虚拟房间和第二虚拟房间当前是否处于类似于现实场景中两群人见面的场景。若满足该场景下的判断条件,也即合并条件,则将两个虚拟房间进行合并,以使两个虚拟房间中虚拟角色可以进行沟通;从而本公开实施例简化了不同虚拟房间的虚拟角色之间进行沟通的操作复杂度,使得聊天场景更加贴近现实场景。
37.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
38.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
39.为便于对本实施例进行理解,首先对本公开实施例所公开的一种房间合并方法进行详细介绍,本公开实施例所提供的房间合并方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该房间合并方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
40.下面以执行主体为服务器为例对本公开实施例提供的房间合并方法加以说明。本公开实施例提供的房间合并方法可以应用于虚拟社交应用中,在虚拟社交软件中真实世界的用户可以选择对应的虚拟人物形象,作为在虚拟社交平台上的虚拟人物,进行与其他用
户的虚拟人物之间的聊天等社交活动。这种虚拟社交应用可以存在于仅用于进行聊天沟通等常规社交活动的沟通的社交软件中,也可以应用于游戏软件中,以使游戏中的用户群体之间可以在靠近时进行沟通,这两种场景下对虚拟人物的控制具体可以基于用户的操作动作。进一步地,本公开实施例提供的方法也可以应用于增强现实(augmented reality,ar)领域或者虚拟现实(virtual reality,vr)领域,以通过用户的行为动作进行对虚拟人物的控制,并实现两个用户群体之间的靠近沟通。具体可以根据实际的场景需求选取将本技术提供的房间合并方法用以实际应用,在此并不做出场景的限定。
41.参见图1所示,为本公开实施例提供的一种房间合并方法的流程图,所述方法包括步骤s101~s104,其中:
42.s101:获取三维场景内第一虚拟房间和第二虚拟房间分别对应的状态信息;
43.s102:基于所述第一虚拟房间和所述第二虚拟房间分别对应的状态信息,确定所述第一虚拟房间和所述第二虚拟房间之间的距离关系和速度关系;
44.s103:基于所述距离关系,确定合并条件中的第一条件,以及基于所述速度关系,确定合并条件中的第二条件;
45.s104:若所述第一虚拟房间和所述第二虚拟房间之间满足所述合并条件中的所述第一条件和所述第二条件,则合并所述第一虚拟房间与所述第二虚拟房间,得到目标虚拟房间。
46.下面对上述s101~s104加以详细说明。
47.针对上述s101,首先对三维场景、第一虚拟房间和第二虚拟房间的概念进行说明。以上述说明的虚拟社交软件为例,现实中用户通过虚拟人物在虚拟社交软件上进行社交,具体可以将虚拟人物显示在某一场景内,为了提高真实性,通常会将该场景设置为与现实场景相似的虚拟场景,比如渲染为广场、公园、电影院等的虚拟场景,并将虚拟人物显示在虚拟场景中,使用户在对虚拟人物进行行为操控时,显示出与现实相似的虚拟人物在虚拟场景中执行实际行为动作的效果。此处,构建的用于显示虚拟人物的虚拟场景,也即本技术中说明的三维场景。另外,对于上述说明的ar或vr领域下的应用场景,也可以直接将真实世界中的场景作为三维场景。
48.三维场景具体还可以用于确定坐标系,由于在后续确定的各虚拟房间的状态信息时需要考虑用户的位置等信息,因此为了使确定的位置更易于确定虚拟房间之间的关系,采用统一的坐标系是较优的,因此可以采用三维场景确定坐标系,以便于确定状态信息时与定位有关的信息可以处于统一坐标系下。
49.对于第一虚拟房间和第二虚拟房间,虚拟房间为包括至少两个用户的房间,实际反应了具有多个用户可以在同一聊天环境下可以进行沟通。在确定第一虚拟房间和第二虚拟房间时,具体可以将三维场景下任意两个不同的虚拟房间分别作为第一虚拟房间和第二虚拟房间。
50.在一种可能的情况下,在三维场景中也可以通过区域范围的划定确定第一虚拟房间和第二虚拟房间。比如,在三维场景下划定某一区域,比如某一聊天广场区域,并确定该聊天广场区域的用途为使进入该区域的虚拟房间可以与靠近的其他虚拟房间进行沟通,则将落入该聊天广场区域的多个虚拟房间作为第一虚拟房间或第二虚拟房间,并采用本公开实施例提供的方法确定是否进行虚拟房间的合并,以使其中的用户可以进行沟通。此处仅
提供一种选取第一虚拟房间和第二虚拟房间时的可能示例,具体也可以根据实际应用场景下的实际设置方式进行选取,在此并不进行逐一列举。
51.对于在三维场景中确定的第一虚拟房间和第二虚拟房间,为了确定是否可以进行虚拟房间的合并,可以获取二者分别对应的状态信息,以利用状态信息确定是否满足房间合并的具体合并条件。
52.此处,任一虚拟房间的所述状态信息包括下述至少一种信息:
53.a1.所述任一虚拟房间内的用户数量。
54.此处,由于虚拟房间为包括至少两个用户的房间,因此相应的在虚拟房间内的用户数量至少大于或等于两人。在具体实施中,若在一个虚拟房间内的用户数量具有上限,比如一个虚拟房间内的用户上限为50人,则相应可以确定的任一虚拟房间的用户数量不超过50人。
55.a2.所述任一虚拟房间中各用户在所述三维场景中的位置信息。
56.此处,由于在确定虚拟房间所处的三维场景时即可以确定三维场景下的坐标系,因此在确定用户在三维场景中的位置信息时,可以确定用户在三维场景下的坐标系中对应的坐标值,作为三维场景中的位置信息。
57.a3.所述任一虚拟房间在所述三维场景中的房间位置信息;所述房间位置信息为利用所述任一虚拟房间中各用户的用户位置信息确定的中心位置信息。
58.此处,根据上述a2的说明,虚拟房间中的各用户的位置信息可以确定。对于虚拟房间而言,具体是由多个用户构成的,而每个用户都可能会有在房间内不同方向的移动,因此虚拟房间在三维场景中的位置会跟随其中用户的位置移动变化而发生变化。因此在确定虚拟房间的房间位置信息时,可以确定将多个用户所处位置的中心,作为房间的中心位置。由于多个用户的位置信息是处于统一坐标系下的,因此即便用户的位置发生了改变,也不会对虚拟房间的位置确定造成影响。
59.在具体实施中,在通过各用户的用户位置信息确定虚拟房间的中心位置信息时,可以对各用户位置信息中在不同坐标方向上的分量求取平均值,作为中心位置信息在不同坐标方向上的坐标值。这样在计算处理时的逻辑较为简单。另外,在确定房间位置信息时,可以有时间间隔的确认,比如间隔1秒确认一次房间位置信息,以在能够较大程度的减少计算量的同时,保证及时的利用状态信息对虚拟房间是否能合并做出判断。
60.a4.所述任一虚拟房间在所述三维场景所对应的区域;所述区域基于所述任一虚拟房间的房间位置信息以及所述任一虚拟房间的预设区域尺寸确定。
61.此处,虚拟房间中虽然各用户可以控制在三维场景中自由移动,但并不应该超过一定的范围限制,比如若虚拟房间内的某一用户移动至与其他用户相距较远的位置下,并不能认为该虚拟房间所对应的区域可以相应的扩张到更大的范围内。因此,对于虚拟房间而言,应当确定合理的所对应区域尺寸,比如预先确定预设区域尺寸,此处说明的预设区域尺寸具体可以是一个圆形区域的尺寸。这样,对于任一虚拟房间而言,在确定所对应的区域时,可以根据在上述a3中确定的房间位置信息,以及预设区域尺寸,确定该虚拟房间在三维场景中所对应的区域,也即虚拟房间在三维场景中当前所对应的区域。比如,以预设区域尺寸为圆形区域的尺寸为例,通过设置固定数值的半径长度,利用确定的虚拟房间的房间位置信息、以及半径长度,即可以确定虚拟房间在三维场景中所对应的区域。
62.a5.所述任一虚拟房间的运动信息;所述运动信息包括运动方向和运动速度。
63.此处,由于在虚拟房间中用户运动时,虚拟房间的房间位置信息也会发生改变,这种由于运动发生的改变可以通过运动信息确定,这里说明的运动信息包括运动方向和运动速度两种信息。在确定运动方向和运动速度时,具体可以根据虚拟房间的房间位置信息在三维场景中变化情况确定。由于根据上述a3可以连续地或间隔地确定虚拟房间在三维场景中的房间位置信息的变化,因此可以通过这种变化信息分析计算得到运动方向和运动速度,并作为虚拟房间的运动信息。
64.这样,对于在三维场景中选取的第一虚拟房间以及第二虚拟房间,采用上述各状态信息下说明的具体确定方式,均可以得到相应的状态信息,以进一步确定第一虚拟房间和第二虚拟房间是否满足合并条件。
65.针对上述s102以及s103,在根据上述步骤确定第一虚拟房间和第二虚拟房间分别对应的状态信息的情况下,可以确定第一虚拟房间和第二虚拟房间之间运动关系,具体包括距离关系和速度关系,以确定第一虚拟房间和第二虚拟房间是否可以进行合并处理。
66.此处,对距离关系和速度关系进行说明。距离关系和速度关系具体用于确定合并条件,其中距离关系用于表示虚拟房间在距离上是否具有“包含”关系,或者距离相近,而可以选择进行合并,又或者是否适宜进行合并构成新的虚拟房间,以保证新的虚拟房间仍符合预设区域尺寸的需求,或者不会出现合并后的虚拟房间无法容纳原有的两个合并前的虚拟房间中用户的情况。速度关系用于表示两个虚拟房间之间的运动情况,比如是否向着相同的方向前进,也即具有“相遇”的场景,或者是一齐向某一方向前进,也即具有“结伴”的场景,又或者是保持在一种相对“静止”的状态下,也即均停留在原地的场景,以在满足这些场景的情况下,确定是否可以满足合并条件。
67.在具体实施中,具体选取使用距离关系以及速度关系一并确定合并条件,具体原因如下:
68.在一种可能的情况下,若仅选取距离关系确定合并条件,则在两个虚拟房间中有一个虚拟房间在运动中经过另一个虚拟房间时,比如第二虚拟房间在三维场景中移动时经过第一虚拟房间时,仅使用距离关系应当判断第一虚拟房间和第二虚拟房间合并,但实际上这种“经过”的场景下,两个虚拟房间在移动时表达的意图并非是希望进行虚拟房间的合并以及沟通社交,因此仅采用距离关系判断合并条件并不能准确地对当前场景进行判断,并确定是否进行虚拟房间的合并。
69.在另一种可能的情况下,若仅选取速度关系确定合并条件,则在两个虚拟房间均向同一个方向运动时,比如均从三维场景的西侧走向东侧时,仅使用运动关系应当判断第一虚拟房间和第二虚拟房间合并。但在该种场景下,若两个虚拟房间相距较远,比如第一虚拟房间在移动时是从三维场景中的西北侧走向东北侧,而第二虚拟房间在移动时是从三维场景中的西南侧走向东南侧,则并不可能具有虚拟房间合并的需求,因此仅采用速度关系也并不能准确地确定是否进行虚拟房间的合并。
70.上述仅列举出部分在仅选一种相对关系下可能出现的不能合并的场景,实际上还有其他的场景下可能出现的情况需要规避,比如在新建立虚拟房间时,虚拟房间一般均处于一种相对“静止”的状态,也即运动的速度较小的状态(具体在下文中详细说明),则仅采用速度关系确定合并条件,则会将这些新建立的虚拟房间直接进行合并,这显然也不符合
合并虚拟房间的实际需求。因此,在本公开实施例中,具体在确定合并条件时,利用距离关系确定第一条件,利用速度关系确定第二条件,并利用第一条件和第二条件构成合并条件,以规避上述说明的以及未列举出的各种场景下的合并问题。
71.下面,分别对第一条件和第二条件进行说明。在具体实施中,第一条件和第二条件可以同步确定。
72.首先,对第一条件进行说明,第一条件具体可以包括在可选的多个条件中的至少一种。在本公开实施例中,具体提供了三种可用于构成第一条件的可选条件,具体包括:
73.b1.用户数量少的虚拟房间中各用户对应的用户位置满足全部落入用户数量多的虚拟房间所对应的区域内。
74.此处,第一条件实际具有两个部分,首先需要具有用户数量的差异,比如两个虚拟房间的数量差异较大,比如具有数量级之间的差异,如第一虚拟房间中的用户数量为2人,而第二虚拟房间中的用户数量为20人的情况。在确定用户数量的差异后,例如可以选择将用户数量较少的虚拟房间作为第一虚拟房间,另一虚拟房间作为第二虚拟房间。然后进行用户位置的确定,若第一虚拟房间中的各用户的用户位置,均在第二虚拟房间所对应的区域中,则第一虚拟房间中的各用户可以直接合并至第二虚拟房间中,也即满足在虚拟房间合并时的距离关系下的条件。
75.示例性的,参见图2所示,为本公开实施例提供的第一种进行虚拟房间合并时的示意图。其中,虚拟房间所对应的区域具体为圆形区域。第一虚拟房间所对应的区域以实线表示。在第一虚拟房间中的用户以实心圆表示,第二虚拟房间中的用户以空心圆表示。在图2中,第一虚拟房间中的用户有四个,且呈“十”字分布,对于第一虚拟房间的房间位置,具体在“十”字分布的中心位置。下述图3与此处的标记相似,因此在下文中省略重复的说明部分。
76.对于b1中说明的第一条件,反应在图2中,在第二虚拟房间的人数较少时,比如仅有2个的情况,且第二虚拟房间的用户均落入第一虚拟房间所对应的区域中,比如均处于第一虚拟房间的房间位置靠右侧,也会由于人数较少,并且完全落入第一虚拟房间中对合并后得到的虚拟房间的房间位置的偏移较少,在合并后并不会出现第一虚拟房间中用户超出合并后的虚拟房间所对应的范围内的情况,因此可以进行虚拟房间的合并。在图2中(b)具体表示出了合并后的虚拟房间,包括以灰色实线标注的圆形区域,其对应的房间位置以
“×”
表示。由图2中(b)容易看出,合并后的虚拟房间的房间位置相较于第一虚拟房间的房间位置向右偏移,但偏移量较少,对于合并后的虚拟房间,第一虚拟房间和第二虚拟房间中用户对应的用户均可以落入。
77.b2.所述第一虚拟房间与所述第二虚拟房间之间的距离,小于预设距离阈值;所述第一虚拟房间与所述第二虚拟房间之间的距离,基于所述第一虚拟房间和所述第二虚拟房间分别在所述三维场景中的房间位置信息确定。
78.此处,预设距离阈值可以根据实际情况确定,并具体可以和选取的三维场景相关。在一种可能的情况下,在选取的三维场景为虚拟场景时,具体例如可以以像素点为单位;若选取的三维场景为现实场景时,具体可以以的米为单位,以确定合理的距离阈值。这里的距离阈值用于指示虚拟房间在合并时合理地距离界限,若超过该距离阈值,则认为两个虚拟房间之间的距离过远,并不能反应出二者之间需要进行合并。
79.在确定第一虚拟房间和第二虚拟房间之间的距离时,相较于通过二者所对应的区域的边缘之间的距离时需要先判断在边缘上最接近的位置,然后再进行计算的方式,采用房间位置信息进行计算时由于仅需要确定两点之间的距离,因此在计算上更容易,也能有效地减少算力。
80.示例性的,参见图3所示,为本公开实施例提供的第二种进行虚拟房间合并时的示意图,第二虚拟房间所对应的区域以虚线表示。图3中示出的第一虚拟房间和第二虚拟房间人数差异较小,第二虚拟房间中的用户也均在第一虚拟房间的靠右侧。此处,若将图2中的合并情况视为临界情况,也即认为对于图2示出的合并情况,在合并后已有用户对应用户在图中反映出处于合并后的虚拟房间所对应区域的边界位置,则在图3中(a)下,相较于图2中的情况,由于第二虚拟房间的偏右侧还存在一个新的用户,因此对第一虚拟房间和第二虚拟房间进行合并后,对虚拟房间的位置偏移会相较于图2中更大,则会出现图3中(b)内合并后的虚拟房间并不能使第一虚拟房间中靠左侧的用户落入其中的情况。在这种情况下,第一虚拟房间和第二虚拟房间之间的距离也即超出预设距离阈值的情况,导致在合并虚拟房间时房间位置的偏移量过大,致使用户无法加入合并后的虚拟房间。
81.b3.所述第一虚拟房间和所述第二虚拟房间的各用户全部落入预合并的第三虚拟房间所对应的区域中;所述第三虚拟房间为将所述第一虚拟房间和所述第二虚拟房间进行预合并处理得到的。
82.此处,由于的虚拟房间所对应的预设区域尺寸是固定的,为了避免出现虚拟房间合并后,对于远离合并后虚拟房间的房间位置的用户,其对应的位置可能不会落入合并后虚拟房间所对应的范围内的情况,具体可以先进行对第一虚拟房间和第二虚拟房间的预合并处理,得到第三虚拟房间。若第一虚拟房间和第二虚拟房间中的各用户均能落入第三虚拟房间中,则可选取进行虚拟房间的合并。
83.在具体实施中,在对第一虚拟房间和第二虚拟房间进行预合并处理时,具体可以采用下述方式:将所述第一虚拟房间中各用户以及所述第二虚拟房间中各用户均作为预合并处理后的第三虚拟房间中的各用户,并将利用所述第一虚拟房间中各用户的用户位置信息以及所述第二虚拟房间中各用户的用户位置信息确定的中心位置信息,作为所述第三虚拟房间的房间位置信息;基于所述第三虚拟房间的房间位置信息和预先确定的区域尺寸确定所述第三虚拟房间所对应的区域,以得到预合并处理后的所述第三虚拟房间。
84.此处,对第一虚拟房间和第二虚拟房间进行预合并处理,也即先假设第一虚拟房间和第二虚拟房间可以进行合并处理,然后确定合并处理后的虚拟房间是否能将原有的第一虚拟房间和第二虚拟房间中的所有用户均包括在所对应的区域内。因此,在进行预合并处理时,可以确定合并后的第三虚拟房间中包括的用户为第一虚拟房间和第二虚拟房间中包括的所有用户,然后利用这些用户分别对应的用户位置信息,采用如上述说明的确定虚拟房间的房间位置信息的方式,得到第三虚拟房间的房间位置。而由于虚拟房间所对应的区域尺寸是固定的,为预设区域尺寸,因此可以为合并后的第三虚拟房间确定所对应的区域。
85.这样,即可以确定上述b3中说明的第一条件中,第一虚拟房间和所述第二虚拟房间的各用户全部落入预合并的第三虚拟房间所对应的区域中的具体条件。
86.对于上述说明的第一条件,由于满足其一即可确定在距离关系上可以满足第一虚
拟房间和第二虚拟房间的合并条件,因此可以根据第一条件判断的难以程度进行判断时的先后排序。由于在处理难度上,判断用户数量差异较为容易,可以直接利用状态信息作简单减法运算进行判断;判断虚拟房间之间的距离次之,因为得到距离需要对两个虚拟房间的状态信息下的房间位置信息进行两点间距离的计算;而选用预合并处理的方式是其中最繁琐的,需要获取至少四个用户的位置信息,并在预合并后还需要逐一确认是否所有用户对应的用户是否均能落入预合并后虚拟房间所对应的区域中。
87.因此,在具体实施中,根据上述说明的各种第一条件的判断难易程度,在根据距离关系,确定第一条件时,具体可以采用下述方式:确定所述第一虚拟房间的用户数量与所述第二虚拟房间的用户数量的数量差值;在所述数量差值大于预设数量阈值的情况下,确定所述第一条件包括:所述用户数量少的虚拟房间中各用户对应的用户位置满足全部落入用户数量多的虚拟房间所对应的区域内;在所述数量差值小于所述预设数量阈值的情况下,确定所述第一条件包括:所述第一虚拟房间与所述第二虚拟房间之间的距离小于预设距离阈值;在所述数量差值小于所述预设数量阈值、且所述第一虚拟房间与所述第二虚拟房间之间的距离大于或等于所述预设距离阈值的情况下,确定所述第一条件包括:所述第一虚拟房间和所述第二虚拟房间的各用户全部落入预合并的第三虚拟房间所对应的区域中。
88.为便于对确定第一条件时的实际执行步骤进行说明,示例性的,参见图4所示,为本公开实施例中提供的一种确定第一条件的具体流程图,其中:
89.s401:判断第一虚拟房间的用户数量与第二虚拟房间的用户数量的数量差值,是否大于预设数量阈值;若是,执行s402;若否,执行s403。
90.s402:确定第一条件包括:用户数量少的虚拟房间中各用户对应的用户位置满足全部落入用户数量多的虚拟房间所对应的区域内。
91.s403:判断第一虚拟房间与第二虚拟房间之间的距离是否小于预设距离阈值;若是,执行s404;若否,执行s405。
92.s404:确定第一条件包括:第一虚拟房间与第二虚拟房间之间的距离小于预设距离阈值。
93.s405:确定第一条件包括:第一虚拟房间和第二虚拟房间的各用户全部落入预合并的第三虚拟房间所对应的区域中。
94.其次,对第二条件进行说明,第二条件具体可以包括在可选的多个条件中的至少一种。在本公开实施例中,具体提供了两种可用于构成第二条件的可选条件,具体包括:
95.c1.所述第一虚拟房间的运动方向和所述第二虚拟房间的运动方向之间的夹角小于预设夹角。
96.此处,若第一虚拟房间和第二虚拟房间具有合并的需求,则会在运动上反应出相互靠近的趋势。这种相互靠近的趋势可以量化为运动方向之间的夹角。一般地,若夹角较小,说明第一虚拟房间和第二虚拟房间在移动中,可能的运动轨迹会逐渐相交,也即第一虚拟房间和第二虚拟房间可以进行虚拟房间的合并。而在夹角加大的情况下,第一虚拟房间和第二虚拟房间的背离,并不能反应二者之间存在沟通等的需求,因此也不会选择将第一虚拟房间和第二虚拟房间进行合并。
97.另外,对于二者运动夹角约为0的特殊情况,也即两个虚拟房间并行向同一方向运动的情况,具体可以对应于两个虚拟房间中的用户结伴而行的情况,比如一起向三维场景
中的影院所在位置移动时,一边移动一边沟通的情景。在这种情况下,也可以判断确定将第一虚拟房间与第二虚拟房间合并。
98.c2.所述第一虚拟房间的运动速度和所述第二虚拟房间的运动速度均小于预设运动速度。
99.此处,在一种可能的情况下,若第一虚拟房间和第二虚拟房间中用户具有共同沟通的需求时,可能会处于一种相对“静止”的状态,这种相对“静止”的状态表现为第一虚拟房间和第二虚拟房间内虽然可能存在有用户的活动行为,但这种活动行为并不对虚拟房间整体的运动行为有较大的影响,比如在人数较多的虚拟房间内仅有少数用户在活动的情况。而由于在两个虚拟房间中的用户沟通的过程中,一般不会进行较大的动作,因此也可以判断是否将两个虚拟房间进行合并。
100.这里,预设运动速度可以根据实际情况确定,比如以像素每秒为单位或者米每秒为单位,并设置一个相对较小的预设运动速度,以判断第一虚拟房间和第二虚拟房间是否处于相对“静止”的状态。
101.与上述说明的第一条件相似的,对于第二条件而言,满足其一也能够确定在速度关系上可以满足第一虚拟房间和第二虚拟房间的合并条件。而对于上述提供的两种不同的第二条件而言,通过第一虚拟房间和第二虚拟房间分别对应的运动速度进行判断的方式,相比确定第一虚拟房间和第二虚拟房间在运动方向之间的夹角的方式,是更易计算的。因此在具体实施中,在基于速度关系,确定合并条件中的第二条件时,具体可以采用下述方式:在所述第一虚拟房间的运动速度和所述第二虚拟房间的运动速度均大于预设运动速度的情况下,确定所述第二条件包括:所述第一虚拟房间的运动方向和所述第二虚拟房间的运动方向之间的夹角小于预设夹角;否则,确定所述第二条件包括:所述第一虚拟房间的运动速度和所述第二虚拟房间的运动速度均小于预设运动速度。
102.这样,对于确定的第一虚拟房间和第二虚拟房间,利用各自分别对应的状态信息,即可以确定在判断是否进行虚拟房间合并时包括第一条件和第二条件的合并条件。由于具体考虑到了第一虚拟房间和第二虚拟房间之间的距离关系和速度关系,因此可以避免在特殊场景下仅由一种关系确定合并时可能出现的问题,在判断是否对第一虚拟房间和第二虚拟房间进行合并时的准确性更高。
103.针对上述s104,对于上述确定的合并条件,若第一虚拟房间和第二虚拟房间之间满足合并条件中的第一条件和第二条件,则可以对第一虚拟房间和第二虚拟房间合并,得到目标虚拟房间。
104.其中,通过上述步骤可以确定合适的第一条件和第二条件,利用条件中的具体要求,即能够判断是否满足合并条件。
105.示例性的,若选取的第一虚拟房间和第二虚拟房间的用户数量之间的差值,小于预设数量阈值,则确定第一条件包括用户数量少的虚拟房间中各用户对应的用户位置满足全部落入用户数量多的虚拟房间所对应的区域内。继而,若确定在两个虚拟房间中第一虚拟房间中的用户数量为较少的,并且第一虚拟房间中各用户的用户位置均落入第二虚拟房间所对应的区域内,则判断此处选取的第一虚拟房间和第二虚拟房间满足第一条件。
106.同时,若确定第一虚拟房间和第二虚拟房间的运动速度均小于预设速度,则确定第二条件包括第一虚拟房间的运动速度和所述第二虚拟房间的运动速度均小于预设运动
速度。而在确定第二条件时,实际已对第二条件下包括的具体判断条件进行了确认,因此判断此处选取的第一虚拟房间和第二虚拟房间满足第二条件。
107.这样,对于选取的第一虚拟房间和第二虚拟房间,由于满足了合并条件中的第一条件和第二条件,则确定对选取的第一虚拟房间和第二虚拟房间进行合并。
108.在具体实施中,在合并第一虚拟房间和第二虚拟房间,得到目标虚拟房间时,可以采用下述方式:确定所述第一虚拟房间的各用户和所述第二虚拟房间中的各用户的用户位置信息的中心位置信息;确定以所述中心位置信息为房间位置信息、以预设区域尺寸为房间尺寸的所述目标虚拟房间。
109.此处,对第一虚拟房间和第二虚拟房间的合并方式,与上述说明的对第一虚拟房间和第二虚拟房间进行预合并,得到第三虚拟房间的方式相似,在此不再重复赘述。
110.在一种可能的情况下,由于在对第一虚拟房间和第二虚拟房间进行合并后,可能会有在目标虚拟房间中的用户出现在目标虚拟房间所处的区域的边缘处,则若选取将第一虚拟房间和第二虚拟房间进行快速的合并,若这些处于边缘处的用户有小幅度偏离目标虚拟房间所处的区域的行为,则会判断为离开目标虚拟房间,但这种情况显然是不合理的。
111.因此在本公开实施例中,为了避免这种情况,选取了采用一段时间对虚拟房间的合并处理的方式进行。具体地,对于在合并处理时采用的确定以所述中心位置信息为房间位置信息、以预设区域尺寸为房间尺寸的所述目标虚拟房间的方式,可以进一步地选取采用下述方式进行,具体包括步骤d1以及d2:
112.d1:基于所述目标虚拟房间的初始区域尺寸、以及所述目标虚拟房间的房间位置信息,确定所述目标虚拟房间所对应的区域;所述初始区域尺寸大于所述预设区域尺寸,所述初始区域尺寸下的所述目标虚拟房间能够容纳所述第一虚拟房间和所述第二虚拟房间的所有用户。
113.在该步骤中,可以预先确定初始区域尺寸,此处的初始区域尺寸相对于一个虚拟房间应当具有的预设区域尺寸较大,以使在合并的过程中,能够先划定一个相对较大的区域,并使得在这个过程中仅有较小幅度运动的用户,仍能处于该区域中,以在合并的过程中不会在用户希望进入合并后的目标虚拟房间的情况下,由于目标虚拟房间所对应的区域发生变动,导致该用户脱离目标虚拟房间。
114.此处,目标虚拟房间的房间位置信息确定后即固定,并不会在后续步骤中随其中用户的位置变化而发生变动。
115.d2:每隔预设时长,按照预设尺寸步长减小所述目标虚拟房间所对应的区域,直至所述目标虚拟房间所对应的区域尺寸调整至所述预设区域尺寸,并在所述目标虚拟房间的区域调整过程中,将所述第一虚拟房间和所述第二虚拟房间中的各用户中,一直位于所述目标虚拟房间内的用户,作为所述目标虚拟房间中的用户。
116.在该步骤中,由于合并后的目标虚拟房间仍需要恢复到正常的虚拟房间对应的预设区域尺寸下,为了给其中的用户充足的时间选择和移动至目标虚拟房间中,可以每隔预设时长,按照预设步长逐渐减小目标虚拟房间所对应的区域,直至目标虚拟房间所对应的区域尺寸变化为预设区域尺寸。在实际操作中,可以通过闪烁的光圈等标注不断变化中的区域边缘位置,以提示用户当前正在进行虚拟房间的合并,并提示用户若希望进入合并后的目标虚拟房间,则运动靠近光圈的内侧,也即向着目标虚拟房间内部运动。
117.因此,对于在区域调整的过程中,一直位于目标虚拟房间的用户,可以认为该用户的意图是进入合并后的目标虚拟房间,则相应的将其作为目标虚拟房间中的用户。而对于在区域调整的过程中,无论任何时间下未进入目标虚拟房间中的原有的第一虚拟房间或第二虚拟房间中的用户,则认为其意图是不进去目标虚拟房间,则不会选取将其作为目标虚拟房间中的用户。
118.此处,对于在第一虚拟房间或第二虚拟房间中未进入目标虚拟房间中的用户,比如突然离线或者希望再次进入目标虚拟房间中的用户,具体可以选取以用户加入虚拟房间的方式进行处理。相似的,对于其他的用户,若希望加入该目标虚拟房间,也同样选取以用户加入虚拟房间的方式进行处理,也即均以用户的身份加入虚拟房间,而并非以虚拟房间为对象与另一虚拟房间合并,这与本技术实施例中虚拟房间之间的合并方式不同,具体采用相对应的用户加入虚拟房间的具体方式进行,在本技术中不进行详细说明。
119.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
120.基于同一发明构思,本公开实施例中还提供了与房间合并方法对应的房间合并装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述房间合并方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
121.参照图5所示,为本公开实施例提供的一种房间合并装置的示意图,所述装置包括:获取模块51、第一确定模块52、第二确定模块53、以及合并模块54;其中,
122.获取模块51,用于获取三维场景内第一虚拟房间和第二虚拟房间分别对应的状态信息;
123.第一确定模块52,用于基于所述第一虚拟房间和所述第二虚拟房间分别对应的状态信息,确定所述第一虚拟房间和所述第二虚拟房间之间的距离关系和速度关系;
124.第二确定模块53,用于基于所述距离关系,确定合并条件中的第一条件,以及基于所述速度关系,确定合并条件中的第二条件;
125.合并模块54,用于若所述第一虚拟房间和所述第二虚拟房间满足所述合并条件中的所述第一条件和所述第二条件,则合并所述第一虚拟房间与所述第二虚拟房间,得到目标虚拟房间。
126.一种可选的实施方式中,任一虚拟房间的所述状态信息包括下述至少一种信息:所述任一虚拟房间内的用户数量;所述任一虚拟房间中各用户在所述三维场景中的位置信息;所述任一虚拟房间在所述三维场景中的房间位置信息;所述房间位置信息为利用所述任一虚拟房间中各用户的用户位置信息确定的中心位置信息;所述任一虚拟房间在所述三维场景所对应的区域;所述区域基于所述任一虚拟房间的房间位置信息以及所述任一虚拟房间的预设区域尺寸确定;所述任一虚拟房间的运动信息;所述运动信息包括运动方向和运动速度。
127.一种可选的实施方式中,所述第一条件包括以下条件中的至少一种:用户数量少的虚拟房间中各用户对应的用户位置满足全部落入用户数量多的虚拟房间所对应的区域内;所述第一虚拟房间与所述第二虚拟房间之间的距离,小于预设距离阈值;所述第一虚拟房间与所述第二虚拟房间之间的距离,基于所述第一虚拟房间和所述第二虚拟房间分别在
所述三维场景中的房间位置信息确定;所述第一虚拟房间和所述第二虚拟房间的各用户全部落入预合并的第三虚拟房间所对应的区域中;所述第三虚拟房间为将所述第一虚拟房间和所述第二虚拟房间进行预合并处理得到的。
128.一种可选的实施方式中,第二确定模块53在基于所述距离关系,确定合并条件中的第一条件时,用于:确定所述第一虚拟房间的用户数量与所述第二虚拟房间的用户数量的数量差值;在所述数量差值大于预设数量阈值的情况下,确定所述第一条件包括:所述用户数量少的虚拟房间中各用户对应的用户位置满足全部落入用户数量多的虚拟房间所对应的区域内;在所述数量差值小于所述预设数量阈值的情况下,确定所述第一条件包括:所述第一虚拟房间与所述第二虚拟房间之间的距离小于预设距离阈值;在所述数量差值小于所述预设数量阈值、且所述第一虚拟房间与所述第二虚拟房间之间的距离大于或等于所述预设距离阈值的情况下,确定所述第一条件包括:所述第一虚拟房间和所述第二虚拟房间的各用户全部落入预合并的第三虚拟房间所对应的区域中。
129.一种可选的实施方式中,根据以下步骤对所述第一虚拟房间和所述第二虚拟房间进行预合并处理:将所述第一虚拟房间中各用户以及所述第二虚拟房间中各用户均作为预合并处理后的第三虚拟房间中的各用户,并将利用所述第一虚拟房间中各用户的用户位置信息以及所述第二虚拟房间中各用户的用户位置信息确定的中心位置信息,作为所述第三虚拟房间的房间位置信息;基于所述第三虚拟房间的房间位置信息和预先确定的区域尺寸确定所述第三虚拟房间所对应的区域,以得到预合并处理后的所述第三虚拟房间。
130.一种可选的实施方式中,所述第二条件包括以下条件中的至少一种:所述第一虚拟房间的运动方向和所述第二虚拟房间的运动方向之间的夹角小于预设夹角;所述第一虚拟房间的运动速度和所述第二虚拟房间的运动速度均小于预设运动速度。
131.一种可选的实施方式中,第二确定模块53在基于所述速度关系,确定合并条件中的第二条件时,用于:在所述第一虚拟房间的运动速度和所述第二虚拟房间的运动速度均大于预设运动速度的情况下,确定所述第二条件包括:所述第一虚拟房间的运动方向和所述第二虚拟房间的运动方向之间的夹角小于预设夹角;否则,确定所述第二条件包括:所述第一虚拟房间的运动速度和所述第二虚拟房间的运动速度均小于预设运动速度。
132.一种可选的实施方式中,合并模块54在合并所述第一虚拟房间与所述第二虚拟房间,得到目标虚拟房间时,用于:确定所述第一虚拟房间的各用户和所述第二虚拟房间中的各用户的用户位置信息的中心位置信息;确定以所述中心位置信息为房间位置信息、以预设区域尺寸为房间尺寸的所述目标虚拟房间。
133.一种可选的实施方式中,合并模块54在确定以所述中心位置信息为房间位置信息、以预设区域尺寸为房间尺寸的所述目标虚拟房间时,用于:基于所述目标虚拟房间的初始区域尺寸、以及所述目标虚拟房间的房间位置信息,确定所述目标虚拟房间所对应的区域;所述初始区域尺寸大于所述预设区域尺寸,所述初始区域尺寸下的所述目标虚拟房间能够容纳所述第一虚拟房间和所述第二虚拟房间的所有用户;每隔预设时长,按照预设尺寸步长减小所述目标虚拟房间所对应的区域,直至所述目标虚拟房间所对应的区域尺寸调整至所述预设区域尺寸,并在所述目标虚拟房间的区域调整过程中,将所述第一虚拟房间和所述第二虚拟房间中的各用户中,一直位于所述目标虚拟房间内的用户,作为所述目标虚拟房间中的用户。
134.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
135.本公开实施例还提供了一种计算机设备,如图6所示,为本公开实施例提供的计算机设备结构示意图,包括:
136.处理器10和存储器20;所述存储器20存储有处理器10可执行的机器可读指令,处理器10用于执行存储器20中存储的机器可读指令,所述机器可读指令被处理器10执行时,处理器10执行下述步骤:
137.获取三维场景内第一虚拟房间和第二虚拟房间分别对应的状态信息;基于所述第一虚拟房间和所述第二虚拟房间分别对应的状态信息,确定所述第一虚拟房间和所述第二虚拟房间之间的距离关系和速度关系;基于所述距离关系,确定合并条件中的第一条件,以及基于所述速度关系,确定合并条件中的第二条件;若所述第一虚拟房间和所述第二虚拟房间满足所述合并条件中的所述第一条件和所述第二条件,则合并所述第一虚拟房间与所述第二虚拟房间,得到目标虚拟房间。
138.上述存储器20包括内存210和外部存储器220;这里的内存210也称内存储器,用于暂时存放处理器10中的运算数据,以及与硬盘等外部存储器220交换的数据,处理器10通过内存210与外部存储器220进行数据交换。
139.上述指令的具体执行过程可以参考本公开实施例中所述的房间合并方法的步骤,此处不再赘述。
140.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的房间合并方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
141.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的房间合并方法的步骤,具体可参见上述方法实施例,在此不再赘述。
142.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
143.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
144.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
145.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
146.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
147.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献