CN114445604A - 虚拟对象处理方法、装置、设备及存储介质 - Google Patents

虚拟对象处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114445604A
CN114445604A CN202210118233.6A CN202210118233A CN114445604A CN 114445604 A CN114445604 A CN 114445604A CN 202210118233 A CN202210118233 A CN 202210118233A CN 114445604 A CN114445604 A CN 114445604A
Authority
CN
China
Prior art keywords
virtual object
virtual
coordinate axis
determining
space scene
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210118233.6A
Other languages
English (en)
Inventor
张冠南
赵弯弯
李煜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202210118233.6A priority Critical patent/CN114445604A/zh
Publication of CN114445604A publication Critical patent/CN114445604A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种虚拟对象处理方法、装置、设备及存储介质,该方法包括:确定虚拟空间场景中需要与第一虚拟对象贴合的至少一个第二虚拟对象;针对虚拟空间场景中每个坐标轴,确定第一虚拟对象与第二虚拟对象在坐标轴上的相对位置关系;如果第一虚拟对象与第二虚拟对象在坐标轴上的相对位置关系满足设定的吸附条件,将第一虚拟对象沿坐标轴吸附到第二虚拟对象上。本申请的方案可以降低调整虚拟空间场景中虚拟对象与其他虚拟对象的平面贴合关系的复杂度。

Description

虚拟对象处理方法、装置、设备及存储介质
技术领域
本申请涉及图像处理技术领域,更具体地说,涉及一种虚拟对象处理方法、装置、设备及存储介质。
背景技术
随着科技的发展,虚拟现实(VirtualReality,VR)和增强现实(AugmentedReality,AR)等虚拟场景技术的应用日益广泛。
在构建VR和AR等虚拟三维场景的过程中,经常需要向虚拟三维场景中添加虚拟对象。很多情况下,向虚拟三维场景中添加的虚拟对象需要贴合到虚拟三维场景中的其他对象的一个或者多个平面上。为了使得所需添加的虚拟对象能够准确贴合到各平面上,在向虚拟三维场景中添加虚拟对象之后,可能需要用户分别从多个角度查看并调整该虚拟对象的位置,复杂度较高。
发明内容
本申请提供了一种虚拟对象处理方法、装置、设备及存储介质。
其中,一种虚拟对象处理方法,包括:
确定虚拟空间场景中需要与第一虚拟对象贴合的至少一个第二虚拟对象;
针对所述虚拟空间场景中每个坐标轴,确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系;
如果所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系满足设定的吸附条件,将所述第一虚拟对象沿所述坐标轴吸附到所述第二虚拟对象上。
在一种可能的实现方式中,所述针对所述虚拟空间场景中每个坐标轴,确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系,包括:
确定所述第一虚拟对象在所述虚拟空间场景中存在位置变化;
响应于所述第一虚拟对象的位置变化,针对所述虚拟空间场景中每个坐标轴,确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系。
在又一种可能的实现方式中,所述确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系,包括:
确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的最短平面距离,所述最短平面距离为所述第一虚拟对象与所述第二虚拟对象中垂直于所述坐标轴且距离最近的两个平面之间的距离;
确定所述第一虚拟对象与所述第二虚拟对象在垂直于所述坐标轴上的投影关系。
在又一种可能的实现方式中,所述吸附条件包括:
所述最短平面距离小于设定距离,且所述投影关系表征所述第一虚拟对象与所述第二虚拟对象在垂直于所述坐标轴上的投影存在重叠。
在又一种可能的实现方式中,所述将所述第一虚拟对象沿所述坐标轴吸附到所述第二虚拟对象上,包括:
将所述第一虚拟对象沿着所述坐标轴朝向所述第二虚拟对象移动,使得所述第一虚拟对象与所述第二虚拟对象中所述距离最近的两个平面相互贴合。
在又一种可能的实现方式中,在所述确定所述虚拟空间场景中需要与第一虚拟对象贴合的至少一个第二虚拟对象之前,还包括:
确定所述虚拟空间场景中添加或者移动的第一虚拟对象。
其中,一种虚拟对象处理装置,包括:
吸附对象确定单元,用于确定虚拟空间场景中需要与第一虚拟对象贴合的至少一个第二虚拟对象;
位置关系确定单元,用于针对所述虚拟空间场景中每个坐标轴,确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系;
吸附处理单元,用于如果所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系满足设定的吸附条件,将所述第一虚拟对象沿所述坐标轴吸附到所述第二虚拟对象上。
在又一种可能的实现方式中,所述位置关系确定单元,包括:
位置变化确定子单元,用于确定所述第一虚拟对象在所述虚拟空间场景中存在位置变化;
位置关系确定子单元,用于响应于所述第一虚拟对象的位置变化,针对所述虚拟空间场景中每个坐标轴,确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系。
又一方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上任意一项所述的虚拟对象处理方法。
又一方面,本申请还提供了一种电子设备,至少包括存储器和处理器;
其中,所述处理器,用于执行本申请任意一个实施例所述的虚拟对象处理方法;
所述存储器,用于存储处理器执行操作所需的程序。
通过以上方案可知,本申请在确定虚拟空间场景中需要与第一虚拟对象贴合的至少一个第二虚拟对象之后,会针对该虚拟空间场景中每个坐标轴,确定该第一虚拟对象与该第二虚拟对象在该坐标轴上的相对位置关系。在此基础上,针对虚拟空间场景中每个坐标轴向,只有第一虚拟对象与第二虚拟对象在该坐标轴向上的相对位置关系满足吸附条件,便可以自动将第一虚拟对象沿着坐标轴向与第二虚拟对象吸附,从而无需用户分别在各个轴向上查看并调整待处理的虚拟对象与其他虚拟对象的位置关系,也可以有效保证待处理的虚拟对象与其他虚拟对象在各个轴向上的可靠吸附,降低了调整虚拟空间场景中虚拟对象与其他虚拟对象的平面贴合关系的复杂度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的虚拟对象处理方法的一种流程示意图;
图2为本申请实施例提供的虚拟对象处理方法的又一种流程示意图;
图3为本申请实施例适用的虚拟空间场景的一种示意图;
图4为在图3所示的虚拟空间场景中虚拟对象C和虚拟对象A在Y坐标轴上的最短平面距离的示意图;
图5为在图3所示的虚拟空间场景中虚拟对象C和虚拟对象A在XZ坐标平面上的投影关系的示意图;
图6为本申请实施例提供的虚拟对象处理方法在一种应用场景中的一种流程示意图;
图7为本申请实施例提供的虚拟对象处理装置的一种组成结构示意图;
图8为本申请实施例提供的一种电子设备的一种组成架构示意图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,其示出了本申请实施例提供的虚拟对象处理方法的一种流程示意图,本实施例的方法可以包括:
S101,确定虚拟空间场景中需要与第一虚拟对象贴合的至少一个第二虚拟对象。
其中,该虚拟空间场景为构建出的虚拟的空间场景,如,该虚拟空间场景可以为三维虚拟空间场景或者多维虚拟空间场景等,对此不加限制。
例如,在实际应用中,该虚拟空间场景可以为虚拟现实VR或者增强现实AR等场景下的虚拟空间场景。
可以理解的是,构建或者调整虚拟空间场景的过程中,可以根据需要向虚拟空间场景中添加虚拟对象,或者调整虚拟空间场景中的虚拟对象。相应的,虚拟空间场景中可以有一个或者多个虚拟对象,虚拟对象可以为虚拟空间场景中除背景之外的虚拟物体、虚拟动物以及虚拟人物等等对象,对此不加限制。
在本申请中,为了便于区分,将虚拟空间场景中需要调整的虚拟对象称为第一虚拟对象。
可以理解的是,根据实际需求不同,可以设置第一虚拟对象在虚拟空间场景中的位置,在本申请中主要关心在需要将第一虚拟对象与其他虚拟对象贴合的情况下,能够保证该第一虚拟对象能够与其他虚拟对象的平面可靠贴合,而不出现悬空或者空间重叠等异常情况。相应的,将虚拟空间场景中需要与该第一虚拟对象贴合的虚拟对象称为第二虚拟对象。
其中,该第二虚拟对象可以是由用户选定的虚拟对象。如,在向虚拟空间场景中添加第一虚拟对象之前或者之后,又或者,在需要调整第一虚拟对象在虚拟空间场景中位置时,从虚拟空间场景中选择该第一虚拟对象所需贴合的至少一个第二虚拟对象。
该第二虚拟对象也可以是根据第一虚拟对象当前在虚拟空间场景中空间位置,确定能够与第一虚拟对象贴合的至少一个第二虚拟对象。如,将与第一虚拟对象的空间位置距离小于设定距离的虚拟对象确定为第二虚拟对象。
S102,针对虚拟空间场景中每个坐标轴,确定第一虚拟对象与第二虚拟对象在坐标轴上的相对位置关系。
本申请中,每个坐标轴就是一个坐标轴向,代表了虚拟空间场景中一个基准方向。
其中,根据虚拟空间场景的不同,虚拟空间场景的坐标轴的数量也会有所不同。如,以虚拟空间场景为三维的虚拟空间场景为例,该虚拟空间场景具有三个相互垂直的坐标轴。
可以理解的是,第一虚拟对象可能会有多个平面,在实际应用中,第一虚拟对象可能会有一个或者多个平面需要与其他不同虚拟对象的平面进行贴合。在此基础上,为了保证第一虚拟对象中需要贴合的各个平面都能够可靠贴合到其他虚拟对象的相应平面上,需要针对每个坐标轴,来分析该坐标轴方向上第一虚拟对象与各第二虚拟对象的位置关系,以便后续判断该第一虚拟对象在该坐标轴向上是否适合与第二虚拟对象进行贴合。
在本申请中,第一虚拟对象与第二虚拟对象在坐标轴上的相对位置关系是指从该坐标轴所在的标准方向上来看,第一虚拟对象与第二虚拟对象之间的相对位置关系。
如,该相对位置关系可以包括:第一虚拟对象与第二虚拟对象在该坐标轴上的相对距离,以及,第一虚拟对象与第二虚拟对象在垂直于该坐标轴的平面上的投影关系等等位置关系中的一种或者几种,对此不加限制。
S103,如果第一虚拟对象与第二虚拟对象在坐标轴上的相对位置关系满足设定的吸附条件,将第一虚拟对象沿坐标轴吸附到第二虚拟对象上。
其中,该吸附条件是表征第一虚拟对象与第二虚拟对象适合沿着该坐标轴相互吸附,以使得第一虚拟对象与第二虚拟对象中垂直于该坐标轴且临近的平面相互贴合的条件。
该吸附条件可以根据需要设定。
其中,针对每个坐标轴,将第一虚拟对象沿坐标轴吸附到第二虚拟对象上,可以使得第一虚拟对象与该第二虚拟对象中垂直于该坐标轴且相对的两个平面相互贴合,从而避免出现这两个平面之间存在缝隙或者交叠等异常状况。
在一种可能的实现方式中,在将第一虚拟对象沿着坐标轴吸附到第二虚拟对象可以是:结合第二虚拟对象的中心点相对坐标轴的相对位置,调整第一虚拟对象的中心点相对该坐标轴的相对位置,以使得第一虚拟对象的中心点与第二虚拟对象的中心点处于平行于该坐标轴的直线上。然后,将第一虚拟对象沿着坐标轴方向吸附到该第二虚拟对象上,以使得第一虚拟对象与第二虚拟对象贴合后,第一虚拟对象位于第二虚拟对象中与该第一虚拟对象贴合的平面的中心位置,实现自动居中贴合的效果。
由以上内容可知,本申请在确定虚拟空间场景中需要与第一虚拟对象贴合的至少一个第二虚拟对象之后,会针对该虚拟空间场景中每个坐标轴,确定该第一虚拟对象与该第二虚拟对象在该坐标轴上的相对位置关系。在此基础上,针对虚拟空间场景中每个坐标轴向,只有第一虚拟对象与第二虚拟对象在该坐标轴向上的相对位置关系满足吸附条件,便可以自动将第一虚拟对象沿着坐标轴向与第二虚拟对象吸附,从而无需用户分别在各个轴向上查看并调整待处理的虚拟对象与其他虚拟对象的位置关系,也可以有效保证待处理的虚拟对象与其他虚拟对象在各个轴向上的可靠吸附,降低了调整虚拟空间场景中虚拟对象以及虚拟对象与其他虚拟对象的平面贴合关系的复杂度。
为了便于理解本申请的方案,下面以第一虚拟对象与第二虚拟对象的相对位置关系以及吸附条件的一种可能情况为例进行说明。
如图2所示,其示出了本申请实施例提供的虚拟对象处理方法的又一种流程示意图,本实施例的方法可以包括:
S201,确定虚拟空间场景中需要与第一虚拟对象贴合的至少一个第二虚拟对象。
该步骤可以参见前面实施例的相关介绍,在此不再赘述。
S202,针对每个坐标轴,确定第一虚拟对象与第二虚拟对象在该坐标轴上的最短平面距离。
其中,针对每个坐标轴,该最短平面距离为第一虚拟对象与该第二虚拟对象中垂直于该坐标轴且距离最近的两个平面之间的距离。
可以理解的是,对于虚拟空间场景中的每个虚拟对象,该虚拟对象垂直于一个坐标轴的平面可能会有两个。在该种情况下,如果两个虚拟对象能够沿着一个坐标轴相互贴合,那么只能是分别来自这两个虚拟对象,垂直于该坐标轴且相对的两个平面贴合,这两个平面也就是这两个虚拟对象中垂直于坐标轴且距离最近的两个平面。
为了便于理解,结合一个例子进行说明。如图3所示,其示出了本申请的方案适用的一种虚拟空间场景的示意图。
在图3中,该虚拟空间场景为三维虚拟空间,相应的,该三维虚拟空间具有相互垂直的3个坐标轴,分别为图3中所示的X轴、Y轴和Z轴。
在该虚拟空间场景中包括虚拟对象A、虚拟对象B和虚拟对象C。
假设虚拟对象C为待调整位置的第一虚拟对象,而虚拟对象A为虚拟对象C需要贴合的第二虚拟对象。
以坐标轴Y轴为例说明,由图3可以看出,虚拟对象A中垂直于Y轴的平面有虚拟对象A的上表面和下表面,相应的,虚拟对象C中垂直于Y轴的平面也有虚拟对象C的上表面和下表面。但是,在图3所示的虚拟空间场景中,虚拟对象C与虚拟对象A沿着Y轴贴合的话,只能是虚拟对象C的下表面与虚拟对象A的上表面才有可能贴合。
在此基础上,针对Y轴,本申请需要获得虚拟对象C的下表面与虚拟对象A的上表面在Y轴上的相对距离。相应的,虚拟对象C与虚拟对象A的最短平面距离就是虚拟对象C的下表面与虚拟对象A的上表面之间的距离。
可以理解的是,针对每个坐标轴,计算第一虚拟对象与第二虚拟对象在该坐标轴上的最短平面距离,可以结合目前各种数学算法等计算得到,对于具体方式不加限制。
举例说明,仍以图3的场景为例说明。虚拟对象C和虚拟对象A在Y轴上的最短平面距离L可以参见图4。
由图4可以看出,该最短平面距离L的计算公式可以参见如下公式:
L=C.y-A.y-(C.size.y+A.size.y)/2;
其中,C.y为虚拟对象C的中心点在Y轴上的坐标位置,A.y为虚拟对象A的中心点在Y轴上的坐标位置。
C.size.y为虚拟对象C在Y轴的高度,A.size.y为虚拟对象A在Y轴上的高度。
由图4可以看出,最终可以通过如上公式计算出该最短平面距离L。当然,图4以及以上计算方式仅仅是一个示例,通过其他计算出该最短平面距离L也同样适用。
S203,针对每个坐标轴以及每个第二虚拟对象,确定第一虚拟对象与该第二虚拟对象在垂直于该坐标轴上的投影关系。
该投影关系表征的是,从该坐标轴所在方向上来看,第一虚拟对象与第二虚拟对象中垂直于该坐标轴的平面之间的相对位置关系。
在本申请中,该投影关系可以反映的是,第一虚拟对象是否能够沿着该坐标轴与第二虚拟对象重合。在此基础上,投影关系至少可以反映,从该坐标轴方向上看,第一虚拟对象与第二虚拟对象中垂直于该坐标轴的平面之间是否存在重叠。即,第一虚拟对象与第二虚拟对象在垂直于坐标轴上的投影之间是否存在重叠。
如,投影关系可以为第一虚拟对象在垂直于坐标轴的设定平面上的第一投影,与第二虚拟对象在该设定平面上的第二投影之间关系。其中,该设定平面为垂直于该坐标轴的两条坐标轴所构成的平面。相应的,投影关系至少可以表征该第一投影与第二投影是否存在重叠。当然,第一投影与第二投影之间的关系还可以包括:第一投影与第二投影之间的重叠区域的区域大小或者区域占比等等信息中的一种或者几种。
例如,仍以图3所示的虚拟空间场景为例说明,对于Y轴而言,可以确定虚拟对象C与虚拟对象A在垂直于Y轴上的投影关系可以为:确定虚拟对象C与虚拟对象A在垂直于Y轴的X轴与Z轴所在的XZ平面上的投影关系,该投影关系可以如图5所示。
由图5可以看出,虚拟对象C和虚拟对象A在XZ平面上的投影存在部分重叠。
S204,对于每个坐标轴,如果第一虚拟对象与第二虚拟对象在坐标轴上的最短平面距离小于设定距离,且投影关系表征第一虚拟对象与该第二虚拟对象在垂直于该坐标轴上的投影存在重叠,将第一虚拟对象沿坐标轴吸附到第二虚拟对象上。
可以理解的是,如果用户希望将第一虚拟对象的某个平面贴合到第二虚拟对象的一个平面上,那么用户必然会将第一虚拟对象中该平面移动到与该第二虚拟对象中相应平面距离较近的位置,而且,会控制该第一虚拟对象的该平面在该第二虚拟对象中相应平面上的投影与该第二虚拟对象中相应平面存在重叠。
基于此,在本申请实施例中,针对每个坐标轴,如果判断出第一虚拟对象与某个第二虚拟对象在该坐标轴上的最短平面距离小于设定距离,且第一虚拟对象与第二虚拟对象在垂直于该坐标轴的平面上投影存在重叠,则确定满足将第一虚拟对象沿着该坐标轴吸附到该第二虚拟对象上的条件。
当然,在实际应用中,吸附条件除了包括最短平面距离小于设定距离,以及第一虚拟对象与第二虚拟对象在垂直于该坐标轴的平面上投影存在重叠之外,还可以包括:第一虚拟对象与第二虚拟对象在垂直于该坐标轴的平面上投影存在重叠的面积大于设定值等,对此不加限制。
其中,吸附是指将一个虚拟对象无缝贴合到另一个虚拟对象的一个平面上。
在本申请实施例中,将第一虚拟对象沿着坐标轴吸附到第二虚拟对象上,必然会使得第一虚拟对象朝向第二虚拟对象的一面贴合到第二虚拟对象上,使得第一虚拟对象与第二虚拟对象中相互朝向且垂直于该坐标轴的两个平面相对贴合。
在一种可能的实现方式中,可以将第一虚拟对象沿着该坐标轴朝向该第二虚拟对象移动,使得该第一虚拟对象与第二虚拟对象中属于该坐标轴上距离最近的两个平面相互贴合。
仍结合图3进行说明,在图3中虚拟对象C与虚拟对象A在Y坐标轴上满足吸附条件,那么可以沿着Y坐标轴向下移动该虚拟对象C,使得图3中虚拟对象C的下表面与虚拟对象A的上表面吸附到一起,使得虚拟对象C的上表面与虚拟对象A的上表面贴合,从而避免这两个平面在Y坐标轴上存在缝隙或者使得这两个虚拟对象在Y坐标轴上出现对象重叠等异常情况。
可以理解的是,将第一虚拟对象沿坐标轴吸附到第二虚拟对象上除了使得第一虚拟对象沿着该坐标轴朝向第二虚拟对象移动并最终吸附到第二虚拟对象上之外,还可以根据需要调整第一虚拟对象与第二虚拟对象中相互贴合的两个平面的贴合面积或者贴合区域,以使得第一虚拟对象与第二虚拟对象中相互贴合的平面能够更为稳固的贴合。
如,在将第一虚拟对象沿着该坐标轴朝向该第二虚拟对象移动,使得该第一虚拟对象与第二虚拟对象中属于该坐标轴上距离最近的两个平面相互贴合的同时,还可以相对该坐标轴移动该第一虚拟对象,以使得第一虚拟对象在垂直于该坐标轴所在坐标平面的中心点与该第二虚拟对象中相应平面在该坐标平面上的中心点重合。
当然,在实际应用中,针对某个坐标轴,将第一虚拟对象吸附到第二虚拟对象的具体方式还可以有其他可能,对此不加限制。
可以理解的是,在图2的实施例中,吸附条件为第一虚拟对象与第二虚拟对象在坐标轴上的最短平面距离小于设定距离,且投影关系表征第一虚拟对象与该第二虚拟对象在垂直于该坐标轴上的投影存在重叠为例说明。
在实际应用中,根据第一虚拟对象与第二虚拟对象的最短平面距离以及投影关系所设定的吸附条件还可以有其他可能,如。可以设定吸附条件为最短平面距离小于设定距离,且投影关系表征第一虚拟对象与第二虚拟对象在垂直于坐标轴上的投影的重叠面积超过设定阈值等,本申请对此不加限制。
可以理解的是,在本申请中,为了能够及时检测到第一虚拟对象与第二虚拟对象在某个坐标轴上的相对位置关系满足吸附条件的情况,以便及时可靠第一虚拟对象与第二虚拟对象的吸附,本申请可以在确定第一虚拟对象在虚拟空间场景中存在位置变化后,响应于该第一虚拟对象的位置变化,针对该虚拟空间场景中每个坐标轴,确定该第一虚拟对象与第二虚拟对象在该坐标轴上的相对位置关系。
其中,第一虚拟对象在虚拟空间场景中存在位置变化可以包括两种情况,一种是由于向虚拟空间场景中添加第一虚拟对象,而使得第一虚拟对象在虚拟空间场景中有无到有的位置变化;另一种是,在向虚拟空间场景中添加了第一虚拟对象之后,调整第一虚拟对象的位置,使得该第一虚拟对象存在位置变化。
相应的,在确定第一虚拟对象需要贴合的第二虚拟对象之前,还可能会涉及确定虚拟空间场景中添加的第一虚拟对象或者是虚拟空间场景中移动的第一虚拟对象。
可以理解的是,本申请的方案适用于构建虚拟空间场景以及对虚拟空间场景中的虚拟对象进行位置调整以贴合到其他虚拟对象所在平面等等应用场景。为了能够便于理解本申请的方案,下面结合一应用场景进行说明。
以虚拟空间场景为三维虚拟空间场景为例说明。
如图6所示,其示出了本申请实施例提供的虚拟对象处理方法在一种应用场景中的流程示意图,本实施例的方法可以包括:
S601,确定三维虚拟空间场景中添加或者移动的第一虚拟对象。
如,该三维虚拟空间场景为VR场景,例如,该三维空间场景为构建的用于展示商品或者展品的VR场景等。
举例说明,在用于展示产品的VR场景中,可能需要将一个虚拟电脑放置到一个VR场景中的虚拟展台上,在此基础上,就需要向VR场景中添加虚拟电脑的三维立体图像,并根据需要调整虚拟电脑在VR场景中的位置,以使得虚拟电脑具备贴合到该虚拟展台的上表面的可能性。
S602,确定该三维虚拟空间场景中需要与该第一虚拟对象贴合的至少一个第二虚拟对象。
该步骤中确定第二虚拟对象的方式可以参见前面实施例的相关描述,具体可以根据需要设定。
如,在一种可能的实现方式中,可以在向三维虚拟空间场景中添加了第一虚拟对象之后,设置该第一虚拟对象所需贴合的一个或者多个虚拟对象。在此基础上,需要与第一虚拟对象贴合的至少一个第二虚拟对象可以为设置的该至少一个第二虚拟对象。
例如,在三维VR空间中,需要将虚拟电脑放置到展台的水平面上,那么展台就是虚拟电脑需要贴合的第二虚拟对象。又如,需要将VR空间中的虚拟画框放置到一展台上且粘贴到虚拟墙体上,那么虚拟墙体和展台就是该虚拟画框需要贴合的第二虚拟对象。
S603,检测到第一虚拟对象在该三维虚拟空间场景中存在位置变化,针对该三维虚拟空间场景中每个坐标轴,分别确定第一虚拟对象与各第二虚拟对象在该坐标轴上的最短平面距离,以及第一虚拟对象与各第二虚拟对象在垂直于该坐标轴的坐标平面上的投影关系。
其中,针对每个坐标轴以及每个第二虚拟对象,该最短平面距离为第一虚拟对象与该第二虚拟对象中垂直于该坐标轴且距离最近的两个平面之间的距离。
可以理解的是,三维虚拟空间场景包括相互垂直的3个坐标轴,如,可以依次为X坐标轴、Y坐标轴和Z坐标轴,那么在第一虚拟对象存在位置变化后,可以分别从这三个坐标轴上,确定第一虚拟对象分别与各第二虚拟对象在每个坐标轴上的相对位置关系。
对于每个坐标轴而言,垂直于该坐标轴的坐标平面为该坐标轴之外的另两个坐标轴构成的平面。如,假设坐标轴为X坐标轴,那么垂直于该坐标轴的坐标平面为由Y坐标轴和Z坐标轴构成的平面。
S604,针对每个坐标轴,如果第一虚拟对象与第二虚拟对象在该坐标轴上的最短平面距离小于设定距离,且投影关系表征第一虚拟对象与第二虚拟对象在垂直于该坐标轴的坐标平面上的投影存在重叠,将该第一虚拟对象沿着该坐标轴朝向该第二虚拟对象移动,使得该第一虚拟对象与该第二虚拟对象中距离最近的两个平面相互贴合。
举例说明:
假设在VR空间中,虚拟电脑需要放置到展台的上表面上且虚拟电脑的一侧面需要与展台中沿着Y轴延伸出的竖直侧面板贴合。
在该种情况,需要从Y坐标轴上,看下虚拟电脑的下表面与展台的上表面是否符合吸附条件,在满足吸附条件的情况下,将虚拟电脑的下表面吸附到展台的上表面上。
同时,从X坐标轴(或者是Z坐标轴)上,检测虚拟电脑与展台之间的位置关系是否满足吸附条件。针对X坐标轴,如果虚拟电脑与展台在X坐标轴上的最短平面距离小于设定阈值,且虚拟电脑与展台在垂直于X坐标轴的坐标平面上存在投影重叠,则说明虚拟电脑的该侧面与该展台的竖直侧面板能够吸附,则将虚拟电脑沿着X坐标轴向展台的竖直侧面板移动,使得虚拟电脑的侧面与展台的竖直侧面板可靠贴合。
对应本申请实施例提供的虚拟对象处理方法,本申请还提供了一种虚拟对象处理装置。
如图7所示,其示出了本申请实施例提供的虚拟对象处理装置的一种组成结构示意图,本实施例的装置可以包括:
吸附对象确定单元701,用于确定虚拟空间场景中需要与第一虚拟对象贴合的至少一个第二虚拟对象;
位置关系确定单元702,用于针对所述虚拟空间场景中每个坐标轴,确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系;
吸附处理单元703,用于如果所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系满足设定的吸附条件,将所述第一虚拟对象沿所述坐标轴吸附到所述第二虚拟对象上。
在一种可能的实现方式中,该位置关系确定单元,包括:
位置变化确定子单元,用于确定所述第一虚拟对象在所述虚拟空间场景中存在位置变化;
位置关系确定子单元,用于响应于所述第一虚拟对象的位置变化,针对所述虚拟空间场景中每个坐标轴,确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系。
在又一种可能的实现方式中,该位置关系确定单元包括:
平面距离确定单元,用于针对所述虚拟空间场景中每个坐标轴,确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的最短平面距离,所述最短平面距离为所述第一虚拟对象与所述第二虚拟对象中垂直于所述坐标轴且距离最近的两个平面之间的距离;
投影关系确定单元,用于确定所述第一虚拟对象与所述第二虚拟对象在垂直于所述坐标轴上的投影关系。
在一种可能的实现方式中,吸附处理单元中的吸附条件包括:
所述最短平面距离小于设定距离,且所述投影关系表征所述第一虚拟对象与所述第二虚拟对象在垂直于所述坐标轴上的投影存在重叠。
在又一种可能的实现方式中,吸附处理单元,具体为,用于如果所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系满足设定的吸附条件,将所述第一虚拟对象沿着所述坐标轴朝向所述第二虚拟对象移动,使得所述第一虚拟对象与所述第二虚拟对象中所述距离最近的两个平面相互贴合。
在又一种可能的实现方式中,该装置还包括:
目标对象确定单元,用于在吸附对象确定单元确定所述虚拟空间场景中需要与第一虚拟对象贴合的至少一个第二虚拟对象之前,确定所述虚拟空间场景中添加或者移动的第一虚拟对象。
又一方面,本申请还提供了一种电子设备,如图8所示,其示出了该电子设备的一种组成结构示意图,该电子设备可以为任意类型的电子设备,该电子设备至少包括存储器801和处理器802;
其中,处理器801用于执行如上任意一个实施例中的虚拟对象处理方法。
该存储器802用于存储处理器执行操作所需的程序。
可以理解的是,该电子设备还可以包括显示单元803以及输入单元804。
当然,该电子设备还可以具有比图8更多或者更少的部件,对此不加限制。
另一方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上任意一个实施例所述的虚拟对象处理方法。
本申请还提出了一种计算机程序,该计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机程序在电子设备上运行时,用于执行如上任意一个实施例中的虚拟对象处理方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。同时,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种虚拟对象处理方法,包括:
确定虚拟空间场景中需要与第一虚拟对象贴合的至少一个第二虚拟对象;
针对所述虚拟空间场景中每个坐标轴,确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系;
如果所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系满足设定的吸附条件,将所述第一虚拟对象沿所述坐标轴吸附到所述第二虚拟对象上。
2.根据权利要求1所述的方法,所述针对所述虚拟空间场景中每个坐标轴,确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系,包括:
确定所述第一虚拟对象在所述虚拟空间场景中存在位置变化;
响应于所述第一虚拟对象的位置变化,针对所述虚拟空间场景中每个坐标轴,确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系。
3.根据权利要求1或2所述的方法,所述确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系,包括:
确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的最短平面距离,所述最短平面距离为所述第一虚拟对象与所述第二虚拟对象中垂直于所述坐标轴且距离最近的两个平面之间的距离;
确定所述第一虚拟对象与所述第二虚拟对象在垂直于所述坐标轴上的投影关系。
4.根据权利要求3所述的方法,所述吸附条件包括:
所述最短平面距离小于设定距离,且所述投影关系表征所述第一虚拟对象与所述第二虚拟对象在垂直于所述坐标轴上的投影存在重叠。
5.根据权利要求3所述的方法,所述将所述第一虚拟对象沿所述坐标轴吸附到所述第二虚拟对象上,包括:
将所述第一虚拟对象沿着所述坐标轴朝向所述第二虚拟对象移动,使得所述第一虚拟对象与所述第二虚拟对象中所述距离最近的两个平面相互贴合。
6.根据权利要求1或2所述的方法,在所述确定所述虚拟空间场景中需要与第一虚拟对象贴合的至少一个第二虚拟对象之前,还包括:
确定所述虚拟空间场景中添加或者移动的第一虚拟对象。
7.一种虚拟对象处理装置,包括:
吸附对象确定单元,用于确定虚拟空间场景中需要与第一虚拟对象贴合的至少一个第二虚拟对象;
位置关系确定单元,用于针对所述虚拟空间场景中每个坐标轴,确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系;
吸附处理单元,用于如果所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系满足设定的吸附条件,将所述第一虚拟对象沿所述坐标轴吸附到所述第二虚拟对象上。
8.根据权利要求7所述的装置,所述位置关系确定单元,包括:
位置变化确定子单元,用于确定所述第一虚拟对象在所述虚拟空间场景中存在位置变化;
位置关系确定子单元,用于响应于所述第一虚拟对象的位置变化,针对所述虚拟空间场景中每个坐标轴,确定所述第一虚拟对象与所述第二虚拟对象在所述坐标轴上的相对位置关系。
9.一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上权利要求1至6任意一项所述的虚拟对象处理方法。
10.一种电子设备,至少包括存储器和处理器;
其中,所述处理器,用于执行如上权利要求1至6任意一项所述的虚拟对象处理方法;
所述存储器,用于存储处理器执行操作所需的程序。
CN202210118233.6A 2022-02-08 2022-02-08 虚拟对象处理方法、装置、设备及存储介质 Pending CN114445604A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210118233.6A CN114445604A (zh) 2022-02-08 2022-02-08 虚拟对象处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210118233.6A CN114445604A (zh) 2022-02-08 2022-02-08 虚拟对象处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114445604A true CN114445604A (zh) 2022-05-06

Family

ID=81370996

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210118233.6A Pending CN114445604A (zh) 2022-02-08 2022-02-08 虚拟对象处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114445604A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117371075A (zh) * 2023-10-30 2024-01-09 北京元跃科技有限公司 基于ar技术的模型组装方法、装置、存储介质及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117371075A (zh) * 2023-10-30 2024-01-09 北京元跃科技有限公司 基于ar技术的模型组装方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
US11118928B2 (en) Method for providing map information and electronic device for supporting the same
US10147398B2 (en) Display control method and device
US20140333667A1 (en) Method and apparatus for providing contents including augmented reality information
CN112399188A (zh) 图像帧拼接方法和装置、可读存储介质及电子设备
CN112907755B (zh) 三维房屋模型中的模型展示方法及装置
CN105094675A (zh) 一种人机交互方法及触屏可穿戴设备
CN114445604A (zh) 虚拟对象处理方法、装置、设备及存储介质
CN111127584A (zh) 建立视觉地图的方法和装置、电子设备和存储介质
CN110807161A (zh) 一种页面骨架渲染方法、装置、设备及介质
CN111340598A (zh) 一种添加交互标签的方法及装置
US20180210548A1 (en) Work assistance system, work assistance method, and computer-readable recording medium
US10162908B1 (en) Systems and methods for extracting bounding planes of solid models
CN115097975A (zh) 用于控制视角转换的方法、装置、设备和存储介质
US10346033B2 (en) Electronic device for processing multi-touch input and operating method thereof
CN105760251A (zh) 一种备份数据的方法和装置
US9603020B2 (en) Electronic apparatus and method of executing application program
WO2024037415A1 (zh) 投屏内容显示方法、装置、设备及存储介质
US9354772B2 (en) Method and device for movement of image object
CN115423920B (zh) Vr场景的处理方法、装置和存储介质
US20140189582A1 (en) Display control device, display control method, and program
CN115063564A (zh) 用于二维显示图像中的物品标签展示方法、装置及介质
CN104536678A (zh) 一种显示效果调节方法及电子设备
EP2769288A1 (en) Acceleration-based interaction for multi-pointer indirect input devices
CN104580967A (zh) 一种基于便携式投影仪的地图投影方法和用于投影的装置
CN109284456B (zh) 网页控件在ar中的空间定位方法和ar系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination