CN110827413A - 控制虚拟物体形态改变的方法、装置和计算机可读存储介质 - Google Patents
控制虚拟物体形态改变的方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN110827413A CN110827413A CN201810900638.9A CN201810900638A CN110827413A CN 110827413 A CN110827413 A CN 110827413A CN 201810900638 A CN201810900638 A CN 201810900638A CN 110827413 A CN110827413 A CN 110827413A
- Authority
- CN
- China
- Prior art keywords
- virtual object
- plane
- controlling
- change
- terminal screen
- 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.)
- Granted
Links
- 230000008859 change Effects 0.000 title claims abstract description 105
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000004044 response Effects 0.000 claims description 82
- 230000000694 effects Effects 0.000 abstract description 25
- 238000010586 diagram Methods 0.000 description 17
- 230000009471 action Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000004660 morphological change Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开公开一种控制虚拟物体形态改变的方法、控制虚拟物体形态改变的装置、控制虚拟物体形态改变的硬件装置和计算机可读存储介质。其中,该控制虚拟物体形态改变的方法包括确定虚拟物体在现实场景中的平面及位置,控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。本公开实施例在控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面,可以避免虚拟物体在形态改变时出现嵌入平面或悬浮平面的情况,提高终端的显示效果。
Description
技术领域
本公开涉及一种信息技术领域,特别是涉及一种控制虚拟物体形态改变的方法、装置和计算机可读存储介质。
背景技术
增强现实技术(Augmented Reality,简称AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、虚拟物体的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。
增强现实技术实现方法为在现实场景中放入虚拟物体,即将真实的环境和虚拟的物体实时地叠加在同一个画面或空间。而叠加之后,该虚拟物体会按照预定的运动轨迹进行运动,或者通过控件控制虚拟物体进行预定动作。
目前,在现有的增强现实场景下,一般基于三维空间坐标对虚拟物体的移动位置进行控制。即,首先通过三维坐标确定虚拟物体的位置,然后将虚拟物体放置在该位置上。
而当虚拟物体的形态发生变化时,例如虚拟物体在旋转的过程中其对应的放置位置可能会发生偏移,再例如,虚拟物体在放大或缩小的时候也有可能会导致显示出来的虚拟物体嵌入到平面之中,或者,悬浮在平面上,从而影响终端的显示效果。
发明内容
本公开解决的技术问题是提供一种控制虚拟物体形态改变的方法,以至少部分地解决如何提高虚拟物体在终端上的显示效果的技术问题。此外,还提供一种控制虚拟物体形态改变的装置、控制虚拟物体形态改变的硬件装置、计算机可读存储介质和控制虚拟物体形态改变的终端。
为了实现上述目的,根据本公开的一个方面,提供以下技术方案:
一种控制虚拟物体形态改变的方法,包括:
确定虚拟物体在现实场景中的平面及位置;
控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
进一步的,所述控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面的步骤,包括:
确定所述虚拟物体的参考位置;
以所述参考位置为依据控制所述虚拟物体的形态,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
进一步的,所述以所述参考位置为依据控制所述虚拟物体的形态,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面的步骤,包括:
控制所述虚拟物体围绕所述参考位置旋转和/或进行缩放,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
进一步的,所述控制所述虚拟物体围绕所述参考位置进行缩放,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面的步骤,包括:
根据缩放程度确定所述虚拟物体上的最低点;
确定所述参考位置与所述最低点的第一距离和所述参考位置与所述平面的第二距离;
根据所述第一距离和所述第二距离控制所述虚拟物体的缩放,以保证在所述终端屏幕上显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
进一步的,所述根据所述第一距离和所述第二距离控制所述虚拟物体的缩放的步骤,包括:
确定所述虚拟物体在现实场景中的z轴;
若所述第一距离不等于所述第二距离,则沿着所述z轴方向移动所述参考位置,直到所述第一距离等于所述第二距离。
进一步的,所述参考位置为所述虚拟物体在现实场景中的z轴或所述虚拟物体在现实场景中的中心点。
进一步的,所述控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面的步骤,包括:
检测所述终端屏幕上产生的针对所述虚拟物体的第一触发响应,所述第一触发响应用于使所述虚拟物体处于选中状态;
检测所述终端屏幕上产生的针对所述虚拟物体的第二触发响应,所述第二触发响应用于控制所述虚拟物体的形态发生改变;
根据所述第一触发响应和所述第二触发响应控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
进一步的,所述方法还包括:
确定虚拟物体在现实场景中位于的初始平面及初始位置;
相应的,所述控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面的步骤,包括:
在所述初始位置上控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体始终位于所述初始平面的表面;
或,控制所述虚拟物体从所述初始位置移动到所述位置;在所述位置上控制所述虚拟物体形态发生改变,以使在所述终端屏幕上显示出来的所述虚拟物体位于所述平面的表面。
为了实现上述目的,根据本公开的又一个方面,还提供以下技术方案:
一种控制虚拟物体形态改变的装置,包括:
平面及位置确定模块,用于确定虚拟物体在现实场景中的平面及位置;
形态控制模块,用于控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
进一步的,所述形态控制模块包括:参考位置确定单元和形态控制单元;
参考位置确定单元,用于确定所述虚拟物体的参考位置;
形态控制单元,用于以所述参考位置为依据控制所述虚拟物体的形态,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
进一步的,所述形态控制单元具体用于:控制所述虚拟物体围绕所述参考位置旋转和/或进行缩放,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
进一步的,所述形态控制单元具体用于:根据缩放程度确定所述虚拟物体上的最低点;确定所述参考位置与所述最低点的第一距离和所述参考位置与所述平面的第二距离;根据所述第一距离和所述第二距离控制所述虚拟物体的缩放,以保证在所述终端屏幕上显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
进一步的,所述形态控制单元具体用于:确定所述虚拟物体在现实场景中的z轴;若所述第一距离不等于所述第二距离,则沿着所述z轴方向移动所述参考位置,直到所述第一距离等于所述第二距离。
进一步的,所述参考位置为所述虚拟物体在现实场景中的z轴或所述虚拟物体在现实场景中的中心点。
进一步的,所述形态控制模块具体用于:检测所述终端屏幕上产生的针对所述虚拟物体的第一触发响应,所述第一触发响应用于使所述虚拟物体处于选中状态;检测所述终端屏幕上产生的针对所述虚拟物体的第二触发响应,所述第二触发响应用于控制所述虚拟物体的形态发生改变;根据所述第一触发响应和所述第二触发响应控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
进一步的,所述平面及位置确定模块还用于:确定虚拟物体在现实场景中位于的初始平面及初始位置;
相应的,所述形态控制模块具体用于:在所述初始位置上控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体始终位于所述初始平面的表面;或,控制所述虚拟物体从所述初始位置移动到所述位置;在所述位置上控制所述虚拟物体形态发生改变,以使在所述终端屏幕上显示出来的所述虚拟物体位于所述平面的表面。
为了实现上述目的,根据本公开的又一个方面,还提供以下技术方案:
一种控制虚拟物体形态改变的硬件装置,包括:
存储器,用于存储非暂时性计算机可读指令;以及
处理器,用于运行所述计算机可读指令,使得所述处理器执行时实现上述任一控制虚拟物体形态改变的方法技术方案中所述的步骤。
为了实现上述目的,根据本公开的又一个方面,还提供以下技术方案:
一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行上述任一控制虚拟物体形态改变的方法技术方案中所述的步骤。
为了实现上述目的,根据本公开的又一个方面,还提供以下技术方案:
一种控制虚拟物体形态改变的终端,包括上述任一控制虚拟物体形态改变的装置。
本公开实施例提供一种控制虚拟物体形态改变的方法、控制虚拟物体形态改变的装置、控制虚拟物体形态改变的硬件装置、计算机可读存储介质和控制虚拟物体形态改变的终端。其中,该控制虚拟物体形态改变的方法包括确定虚拟物体在现实场景中的平面及位置,控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。本公开实施例在控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面,可以避免虚拟物体在形态改变时出现嵌入平面或悬浮平面的情况,提高终端的显示效果。
上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1a为根据本公开一个实施例的控制虚拟物体形态改变的方法的流程示意图;
图1b为根据图1a所示实施例的控制虚拟物体形态改变的方法中的形态改变之前虚拟物体状态显示效果示意图;
图1c为根据图1a所示实施例的控制虚拟物体形态改变的方法中的形态改变中或改变后虚拟物体状态显示效果示意图;
图1d为根据图1a所示实施例的控制虚拟物体形态改变的方法中的平面可选中状态示意图;
图1e为根据图1a所示实施例的控制虚拟物体形态改变的方法中的被选中的平面状态示意图;
图1f为根据本公开另一个实施例的控制虚拟物体形态改变的方法的流程示意图;
图1g为根据本公开另一个实施例的控制虚拟物体形态改变的方法的流程示意图;
图2a为根据本公开一个实施例的控制虚拟物体形态改变的装置的结构示意图;
图2b为根据本公开另一个实施例的控制虚拟物体形态改变的装置的结构示意图;
图3为根据本公开一个实施例的控制虚拟物体形态改变的硬件装置的结构示意图;
图4为根据本公开一个实施例的计算机可读存储介质的结构示意图;
图5为根据本公开一个实施例的控制虚拟物体形态改变的终端的结构示意图。
具体实施方式
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
为了解决如何提高用户体验效果的技术问题,本公开实施例提供一种控制虚拟物体形态改变的方法。如图1a所示,该控制虚拟物体形态改变的方法主要包括如下步骤S1至步骤S2。其中:
步骤S1:确定虚拟物体在现实场景中的平面及位置。
其中,本实施例的执行主体可选为本公开实施例提供的控制虚拟物体形态改变的装置、或本公开实施例提供的控制虚拟物体形态改变的硬件装置、或本公开实施例提供的控制虚拟物体形态改变的终端。
其中,终端可以为但不限于为移动终端(例如,iPhone、智能手机、平板电脑等)、或固定终端(例如台式电脑)。
其中,虚拟物体可选为现场场景中实物的三维模型。
其中,平面为虚拟物体在现实场景中即将移动到的平面或虚拟物体放置的初始平面,该平面为位于现实场景中的实体的表面,例如可以为但不限于为桌面或墙面。该位置为虚拟物体在现实场景中即将移动到的位置或虚拟物体放置的初始位置,且该位置在该平面上。
步骤S2:控制虚拟物体形态发生改变,并在对应终端屏幕上显示虚拟物体,且显示出来的虚拟物体位于位置上且位于平面的表面。
其中,位置可根据平面和/或预先设定的虚拟物体在终端屏幕上的显示位置进行确定。
其中,终端可以为但不限于为移动终端(例如,iPhone、智能手机、平板电脑等)、或固定终端(例如台式电脑)。
其中,虚拟物体形态的改变包括但不限于旋转、缩小或放大。在控制虚拟物体形态发生改变的过程中,并在对应终端屏幕上显示所述虚拟物体,且显示出来的虚拟物体始终位于位置上且位于平面的表面,这样可以避免虚拟物体在形态改变时出现嵌入平面或悬浮平面的情况,提高终端的显示效果。
具体的,在确定了虚拟物体在现实场景中的平面及位置之后,控制虚拟物体形态发生改变,在虚拟物体形态发生改变的同时,保证在终端屏幕上显示出来的虚拟物体始终位于位置上且始终位于平面的表面。如图1b所示,为虚拟物体形态发生改变前的形态,在虚拟物体形态发生改变时或改变后,如图1c所示,可见显示出来的虚拟物体始终位于原来的平面和位置上。
本实施例通过采取上述技术方案,在控制虚拟物体形态发生改变的同时,能够保证在终端屏幕上显示出来的虚拟物体位于位置上且位于平面的表面,可以避免虚拟物体在形态改变时出现嵌入平面或悬浮平面的情况,提高终端的显示效果。
在一个可选的实施例中,步骤S1中确定虚拟物体在现实场景中的平面的步骤包括:
S11:识别现实场景中包含的平面。
其中,现实场景中可能包含一个或多个平面。需采用相应的算法才能识别出现实场景中包含的平面,该步骤可采用现有技术来实现,例如,即时定位与地图构建(simultaneous localization and mapping,SLAM)算法,这里不再赘述。
S12:从识别出的平面中选定一个平面作为该实施例中的平面。
进一步,步骤S12可采用如下两种方式实现:
第一种方式,自动选定一个平面作为该实施例中的平面,即自动从识别出的平面中选定一个平面作为该实施例中的平面。
第二种方式,由用户选择平面作为该实施例中的平面,即在终端屏幕上显示识别出的平面,且使识别出的平面处于可选中状态;将选中的平面作为该实施例中的平面。也就是说,用户可通过点击或双击或其它预设动作选中平面,将用户选中的平面作为该实施例中的平面。
示例性的,如图1d所示,将识别出的现实场景中的平面1-平面3依次显示在终端屏幕上,如果用户想将虚拟物体显示在平面1上,则只需要在终端屏幕上单击或双击平面1,即可完成选中操作。当平面1被选中之后,则按照其在显示场景中的摆放位置显示在终端屏幕上,如图1e所示。
在一个可选的实施例中,步骤S1中确定虚拟物体在现实场景中的位置的步骤包括:
S13:确定虚拟物体在终端屏幕上的显示位置。
其中,显示位置为虚拟物体在终端屏幕上显示的位置。
S14:根据显示位置和上述确定的平面确定该位置。
进一步的,步骤S13可采用如下两种方式获取显示位置:第一种方式:检测终端屏幕上产生的触发响应,将该触发响应的产生位置作为显示位置。
其中,触发响应为作用在终端屏幕上的触发操作所产生的响应,可以为但不限于为终端屏幕产生的点击响应、或双击响应、或检测到的预设手势动作。
其中,触发响应的产生位置为终端屏幕对应平面上的一个点,具体可通过布置于该终端屏幕上的传感器确定。
具体的,如果用户想要改变虚拟物体在终端屏幕的显示位置,则需要在终端屏幕上进行操作,例如,通过点击、或双击或在终端屏幕上做出预设手势动作来确定虚拟物体的下一个显示位置。终端屏幕接收到上述操作后会产生触发响应,该触发响应的产生位置即为用户想要将虚拟物体移动的显示位置,而该显示位置并不是虚拟物体在现实场景中的位置,因此需要根据该触发响应确定虚拟物体在现实场景中的位置,从而可以精确定位虚拟物体在终端屏幕上的显示位置。
第二种方式,接收输入的显示位置。
具体的,用户可通过终端输入显示位置,由于用户在终端屏幕上的触发操作往往是一个触发区域,很难定位到一个点上,而通过输入显示位置的方式可以精确定位到点,因此本实施例相对于用户在终端屏幕上的触发操作,更能精确定位虚拟物体的位置,进一步提高终端显示效果。
在一个可选的实施例中,如图1f所示,步骤S2可以包括:
S21:确定虚拟物体的参考位置。
其中,该参考位置可保证虚拟物体在围绕该参考位置形态发生变化时,该虚拟物体始终位于位置上且位于平面的表面。该参考位置可选为虚拟物体在现实场景中的z轴或虚拟物体在现实场景中的中心点。
S22:以参考位置为依据控制虚拟物体的形态,并在对应终端屏幕上显示虚拟物体,且显示出来的虚拟物体位于位置上且位于平面的表面。
进一步的,步骤S22可以包括:
控制虚拟物体围绕参考位置旋转和/或进行缩放,并在对应终端屏幕上显示虚拟物体,且显示出来的虚拟物体位于位置上且位于平面的表面。
可选的,当控制虚拟物体围绕参考位置旋转时,该参考位置可选为虚拟物体在现实场景中的z轴或虚拟物体在现实场景中的中心点。当控制虚拟物体围绕参考位置进行缩放,该参考位置可选为虚拟物体在现实场景中的中心点。
进一步的,控制虚拟物体围绕参考位置旋转,并在对应终端屏幕上显示虚拟物体,且显示出来的虚拟物体位于位置上且位于平面的表面的步骤,具体包括:
当参考位置为虚拟物体在现实场景中的z轴时,控制该虚拟物体围绕Z轴进行旋转;当参考位置为虚拟物体在现实场景中的中心点时,控制该虚拟物体围绕中心点进行旋转。当围绕Z轴旋转时,由于虚拟物体不会离开对应的平面上,而当围绕中心点旋转时,由于中心点到对应平面的距离保持不变,因此虚拟物体相对于平面的位置也不变,由此虚拟物体在形态发生改变时对应的位置不会出现偏差,且能保持始终位于平面的表面。
进一步的,控制虚拟物体围绕参考位置进行缩放,并在对应终端屏幕上显示虚拟物体,且显示出来的虚拟物体位于位置上且位于平面的表面的步骤,包括:
根据缩放程度确定虚拟物体上的最低点;
确定参考位置与最低点的第一距离和参考位置与平面的第二距离;
根据第一距离和第二距离控制虚拟物体的缩放,以保证在终端屏幕上显示出来的虚拟物体位于位置上且位于平面的表面。
进一步的,根据第一距离和第二距离控制虚拟物体的缩放的步骤,包括:
确定虚拟物体在现实场景中的z轴;
若第一距离不等于第二距离,则沿着z轴方向移动参考位置,直到第一距离等于第二距离。
可选的,若参考位置为虚拟物体在现实场景中的中心点,则以该中心点进行放大或者缩小,为了保持虚拟物体一直位于平面的表面上,确定虚拟物体的最低点(一般来说该点与平面相交),计算中心点到最低点的距离1以及中心点到平面交点的距离2,如果距离1大于距离2,则在Z轴方向上移动中心点,直到距离1等于距离2,如果距离1小于距离2,则在Z轴方向上移动中心点,直到距离1等于距离2,这样无论如何缩放虚拟物体,其始终位于平面的表面。
本实施例通过采取上述技术方案,通过确定虚拟物体的参考位置,并以参考位置为依据控制虚拟物体的形态,并在对应终端屏幕上显示虚拟物体,且显示出来的虚拟物体位于位置上且位于平面的表面,可以避免虚拟物体在形态改变时出现嵌入平面或悬浮平面的情况,提高终端的显示效果。
在一个可选的实施例中,如图1g所示,步骤S2可以包括:
S23:检测终端屏幕上产生的针对虚拟物体的第一触发响应,第一触发响应用于使虚拟物体处于选中状态。
其中,第一触发响应为作用在虚拟物体上的终端屏幕产生的响应,可以为但不限于为终端屏幕产生的点击响应、或双击响应、或检测到的预设手势动作,用于使虚拟物体处于选中状态。为区分下文中出现的另一不同作用的触发响应,将这里出现的触发响应称为第一触发响应,将后续出现的触发响应依次称为第二触发响应。
S24:检测终端屏幕上产生的针对虚拟物体的第二触发响应,第二触发响应用于控制虚拟物体的形态发生改变。
其中,第二触发响应为作用在虚拟物体上的终端屏幕产生的响应,该第二触发响应的产生位置与第一触发响应的产生位置不同,该第二触发响应可以为但不限于为终端屏幕产生的点击响应、或双击响应、或检测到的预设手势动作,用于控制虚拟物体的形态发生改变。
S25:根据第一触发响应和第二触发响应控制虚拟物体形态发生改变,并在对应终端屏幕上显示虚拟物体,且显示出来的虚拟物体位于位置上且位于平面的表面。
其中,控制虚拟物体形态发生改变包括但不限于控制虚拟物体旋转,或控制虚拟物体旋转缩放。为保证虚拟物体形态发生改变时始终位于位置上且位于平面的表面,则在控制虚拟物体旋转或缩放的过程中需要选择参考位置,其中参考位置可选为虚拟物体在现实场景中的z轴或虚拟物体在现实场景中的中心点。
下面结合一具体场景详细说明本实施例的工作原理:对于控制虚拟物体旋转有两种方式,一种是选择虚拟物体在现实场景中的z轴为参考位置,控制虚拟物体围绕Z轴的旋转,在用户层面来讲,在控制虚拟物体旋转时,可以一个手指选中虚拟物体,另一个手指旋转,此时虚拟物体随着手指的旋转围绕Z轴进行旋转。另外一种是选择虚拟物体在现实场景中的中心点为参考位置,控制虚拟物体围绕中心点旋转,在用户层面来讲,在控制虚拟物体旋转时,一个手指选中虚拟物体,另一个手指旋转,此时虚拟物体随着手指的旋转围绕中心点做任意方向上的旋转。当围绕Z轴旋转时,虚拟物体不会离开平面,当围绕中心点旋转时,中心点到平面的距离保持不变,即虚拟物体相对于平面的位置不变,由此虚拟物体的位置不会出现偏差,也就不会导致显示出来的虚拟物体嵌入到平面之中,或者,悬浮在平面上,从而影响终端的显示效果。
对于控制虚拟物体缩放,选择虚拟物体在现实场景中的中心点为参考位置进行放大或者缩小。控制虚拟物体缩放时,一个手指选中虚拟物体,另一个手指移动以确定缩放的程度,为了保持虚拟物体一直位于平面的表面上,确定虚拟物体上的最低点(一般来说该点与平面相交),计算中心点到最低点的距离1以及中心点到平面交点的距离2,如果距离1大于距离2,则在Z轴方向上移动中心点,直到距离1等于距离2,如果距离1小于距离2,则在Z轴方向上移动中心点,直到距离1等于距离2。这样无论如何缩放虚拟物体,其始终位于平面的表面。
本实施例通过采取上述技术方案,可以使用户与现实场景中的虚拟物体进行直接交互,控制虚拟物体的形态发生变化,并可保证在终端屏幕上显示出来的虚拟物体位于位置上且位于平面的表面,可以避免虚拟物体在形态改变时出现嵌入平面或悬浮平面的情况,提高终端的显示效果。
在一个可选的实施例中,步骤S1可以包括:
确定虚拟物体在现实场景中位于的初始平面及初始位置;
相应的,步骤S2可以包括:
在初始位置上控制虚拟物体形态发生改变,并在对应终端屏幕上显示虚拟物体,且显示出来的虚拟物体始终位于初始平面的表面。
或,控制虚拟物体从初始位置移动到位置;
在位置上控制虚拟物体形态发生改变,以使在终端屏幕上显示出来的虚拟物体位于平面的表面。
其中,终端屏幕的初始位置可选为终端屏幕的中心位置。具体可由用户确定。在本实施例中,终端屏幕的初始位置的确定方法及现实场景中的初始位置的确定方法与上述显示位置及虚拟场景中的位置的确定方法类似,这里不再赘述。
本实施例可以控制虚拟物体在单个平面上形态发生改变时,保证该虚拟物体始终位于该平面的表面,本实施例还可以在虚拟物体从一个平面移动到另一平面时形态发生改变,并保证虚拟物体位于另一平面的表面,这样可以避免虚拟物体在形态改变时出现嵌入平面或悬浮平面的情况,提高终端的显示效果。
本领域技术人员应能理解,在上述各个实施例的基础上,还可以进行明显变型(例如,对所列举的模式进行组合)或等同替换。
在上文中,虽然按照上述的顺序描述了控制虚拟物体形态改变的方法实施例中的各个步骤,本领域技术人员应清楚,本公开实施例中的步骤并不必然按照上述顺序执行,其也可以倒序、并行、交叉等其他顺序执行,而且,在上述步骤的基础上,本领域技术人员也可以再加入其他步骤,这些明显变型或等同替换的方式也应包含在本公开的保护范围之内,在此不再赘述。
下面为本公开装置实施例,本公开装置实施例可用于执行本公开方法实施例实现的步骤,为了便于说明,仅示出了与本公开实施例相关的部分,具体技术细节未揭示的,请参照本公开方法实施例。
为了解决如何提高用户体验效果的技术问题,本公开实施例提供一种控制虚拟物体形态改变的装置。该装置可以执行上述控制虚拟物体形态改变的方法实施例中的步骤。如图2a所示,该装置主要包括:平面及位置确定模块21和形态控制模块22;其中,平面及位置确定模块21用于确定虚拟物体在现实场景中的平面及位置;形态控制模块22用于控制虚拟物体形态发生改变,并在对应终端屏幕上显示虚拟物体,且显示出来的虚拟物体位于位置上且位于平面的表面。
其中,终端可以为但不限于为移动终端(例如,iPhone、智能手机、平板电脑等)、或固定终端(例如台式电脑)。
其中,虚拟物体可选为现场场景中实物的三维模型。
其中,平面为虚拟物体在现实场景中即将移动到的平面或虚拟物体放置的初始平面,该平面为位于现实场景中的实体的表面,例如可以为但不限于为桌面或墙面。该位置为虚拟物体在现实场景中即将移动到的位置或虚拟物体放置的初始位置,且该位置在该平面上。
其中,位置可根据平面和/或预先设定的虚拟物体在终端屏幕上的显示位置进行确定。
其中,虚拟物体形态的改变包括但不限于旋转、缩小或放大。在控制虚拟物体形态发生改变的过程中,并在对应终端屏幕上显示所述虚拟物体,且显示出来的虚拟物体始终位于位置上且位于平面的表面,这样可以避免虚拟物体在形态改变时出现嵌入平面或悬浮平面的情况,提高终端的显示效果。
具体的,在平面及位置确定模块21确定了虚拟物体在现实场景中的平面及位置之后,形态控制模块22控制虚拟物体形态发生改变,在虚拟物体形态发生改变的同时,保证在终端屏幕上显示出来的虚拟物体始终位于位置上且始终位于平面的表面。如图1b所示,为虚拟物体形态发生改变前的形态,在虚拟物体形态发生改变时或改变后,如图1c所示,可见显示出来的虚拟物体始终位于原来的平面和位置上。本实施例通过平面及位置确定模块21,确定虚拟物体在现实场景中的平面及位置,并通过形态控制模块22,控制虚拟物体形态发生改变的同时,能够保证终端屏幕上显示出来的虚拟物体位于位置上且位于平面的表面,可以避免虚拟物体在形态改变时出现嵌入平面或悬浮平面的情况,提高终端的显示效果。
在一个可选的实施例中,平面及位置确定模块21具体用于:
识别现实场景中包含的平面。
其中,现实场景中可能包含一个或多个平面。需采用相应的算法才能识别出现实场景中包含的平面,该步骤可采用现有技术来实现,例如,即时定位与地图构建(simultaneous localization and mapping,SLAM)算法,这里不再赘述。
从识别出的平面中选定一个平面作为该实施例中的平面。
进一步,平面及位置确定模块21具体用于:自动选定一个平面作为该实施例中的平面,即自动从识别出的平面中选定一个平面作为该实施例中的平面;或,由用户选择平面作为该实施例中的平面,即在终端屏幕上显示识别出的平面,且使识别出的平面处于可选中状态;将选中的平面作为该实施例中的平面。也就是说,用户可通过点击或双击或其它预设动作选中平面,将用户选中的平面作为该实施例中的平面。
示例性的,如图1d所示,平面及位置确定模块21将识别出的现实场景中的平面1-平面3依次显示在终端屏幕上,如果用户想将虚拟物体显示在平面1上,则只需要在终端屏幕上单击或双击平面1,即可完成选中操作。当平面1被选中之后,则按照其在显示场景中的摆放位置显示在终端屏幕上,如图1e所示。
在一个可选的实施例中,平面及位置确定模块21具体用于:
确定虚拟物体在终端屏幕上的显示位置。
其中,显示位置为虚拟物体在终端屏幕上显示的位置。
根据显示位置和上述确定的平面确定该位置。
进一步的,平面及位置确定模块21具体用于:检测终端屏幕上产生的触发响应,将该触发响应的产生位置作为显示位置。
其中,触发响应为作用在终端屏幕上的触发操作所产生的响应,可以为但不限于为终端屏幕产生的点击响应、或双击响应、或检测到的预设手势动作。
其中,触发响应的产生位置为终端屏幕对应平面上的一个点,具体可通过布置于该终端屏幕上的传感器确定。
具体的,如果用户想要改变虚拟物体在终端屏幕的显示位置,则需要在终端屏幕上进行操作,例如,通过点击、或双击或在终端屏幕上做出预设手势动作来确定虚拟物体的下一个显示位置。终端屏幕接收到上述操作后会产生触发响应,该触发响应的产生位置即为用户想要将虚拟物体移动的显示位置,而该显示位置并不是虚拟物体在现实场景中的位置,因此需要根据该触发响应确定虚拟物体在现实场景中的位置,从而可以精确定位虚拟物体在终端屏幕上的显示位置。
或,平面及位置确定模块21具体用于:接收输入的显示位置。
具体的,用户可通过终端输入显示位置,由于用户在终端屏幕上的触发操作往往是一个触发区域,很难定位到一个点上,而通过输入显示位置的方式可以精确定位到点,因此本实施例相对于用户在终端屏幕上的触发操作,更能精确定位虚拟物体的位置,进一步提高终端显示效果。
在一个可选的实施例中,如图2b所示,形态控制模块22包括:参考位置确定单元221和形态控制单元222;
参考位置确定单元221用于确定虚拟物体的参考位置;
其中,该参考位置可保证虚拟物体在围绕该参考位置形态发生变化时,该虚拟物体始终位于位置上且位于平面的表面。该参考位置可选为虚拟物体在现实场景中的z轴或虚拟物体在现实场景中的中心点。
形态控制单元222用于以参考位置为依据控制虚拟物体的形态,并在对应终端屏幕上显示虚拟物体,且显示出来的虚拟物体位于位置上且位于平面的表面。
进一步的,形态控制单元222具体用于:控制虚拟物体围绕参考位置旋转和/或进行缩放,并在对应终端屏幕上显示虚拟物体,且显示出来的虚拟物体位于位置上且位于平面的表面。
可选的,当控制虚拟物体围绕参考位置旋转时,该参考位置可选为虚拟物体在现实场景中的z轴或虚拟物体在现实场景中的中心点。当控制虚拟物体围绕参考位置进行缩放,该参考位置可选为虚拟物体在现实场景中的中心点。
进一步的,形态控制单元222具体用于:当参考位置为虚拟物体在现实场景中的z轴时,控制该虚拟物体围绕Z轴进行旋转;当参考位置为虚拟物体在现实场景中的中心点时,控制该虚拟物体围绕中心点进行旋转。当围绕Z轴旋转时,由于虚拟物体不会离开对应的平面上,而当围绕中心点旋转时,由于中心点到对应平面的距离保持不变,因此虚拟物体相对于平面的位置也不变,由此虚拟物体在形态发生改变时对应的位置不会出现偏差,且能保持始终位于平面的表面。
进一步的,形态控制单元222具体用于:根据缩放程度确定虚拟物体上的最低点;确定参考位置与最低点的第一距离和参考位置与平面的第二距离;根据第一距离和第二距离控制虚拟物体的缩放,以保证在终端屏幕上显示出来的虚拟物体位于位置上且位于平面的表面。
进一步的,形态控制单元222具体用于:确定虚拟物体在现实场景中的z轴;若第一距离不等于第二距离,则沿着z轴方向移动参考位置,直到第一距离等于第二距离。
可选的,若参考位置为虚拟物体在现实场景中的中心点,则以该中心点进行放大或者缩小,为了保持虚拟物体一直位于平面的表面上,确定虚拟物体的最低点(一般来说该点与平面相交),计算中心点到最低点的距离1以及中心点到平面交点的距离2,如果距离1大于距离2,则在Z轴方向上移动中心点,直到距离1等于距离2,如果距离1小于距离2,则在Z轴方向上移动中心点,直到距离1等于距离2,这样无论如何缩放虚拟物体,其始终位于平面的表面。
本实施例通过参考位置确定单元221,确定虚拟物体的参考位置,并通过形态控制单元222,以参考位置为依据控制虚拟物体的形态,并在对应终端屏幕上显示虚拟物体,且显示出来的虚拟物体位于位置上且位于平面的表面,可以避免虚拟物体在形态改变时出现嵌入平面或悬浮平面的情况,提高终端的显示效果。
在一个可选的实施例中,如图2a所示,形态控制模块22具体用于:检测终端屏幕上产生的针对虚拟物体的第一触发响应,第一触发响应用于使虚拟物体处于选中状态;检测终端屏幕上产生的针对虚拟物体的第二触发响应,第二触发响应用于控制虚拟物体的形态发生改变;根据第一触发响应和第二触发响应控制虚拟物体形态发生改变,并在对应终端屏幕上显示虚拟物体,且显示出来的虚拟物体位于位置上且位于平面的表面。
其中,第一触发响应为作用在虚拟物体上的终端屏幕产生的响应,可以为但不限于为终端屏幕产生的点击响应、或双击响应、或检测到的预设手势动作,用于使虚拟物体处于选中状态。为区分下文中出现的另一不同作用的触发响应,将这里出现的触发响应称为第一触发响应,将后续出现的触发响应依次称为第二触发响应。
其中,第二触发响应为作用在虚拟物体上的终端屏幕产生的响应,该第二触发响应的产生位置与第一触发响应的产生位置不同,该第二触发响应可以为但不限于为终端屏幕产生的点击响应、或双击响应、或检测到的预设手势动作,用于控制虚拟物体的形态发生改变。
其中,控制虚拟物体形态发生改变包括但不限于控制虚拟物体旋转,或控制虚拟物体旋转缩放。为保证虚拟物体形态发生改变时始终位于位置上且位于平面的表面,则在控制虚拟物体旋转或缩放的过程中需要选择参考位置,其中参考位置可选为虚拟物体在现实场景中的z轴或虚拟物体在现实场景中的中心点。
下面结合一具体场景详细说明本实施例的工作原理:对于控制虚拟物体旋转有两种方式,一种是选择虚拟物体在现实场景中的z轴为参考位置,控制虚拟物体围绕Z轴的旋转,在用户层面来讲,在控制虚拟物体旋转时,可以一个手指选中虚拟物体,另一个手指旋转,此时虚拟物体随着手指的旋转围绕Z轴进行旋转。另外一种是选择虚拟物体在现实场景中的中心点为参考位置,控制虚拟物体围绕中心点旋转,在用户层面来讲,在控制虚拟物体旋转时,一个手指选中虚拟物体,另一个手指旋转,此时虚拟物体随着手指的旋转围绕中心点做任意方向上的旋转。当围绕Z轴旋转时,虚拟物体不会离开平面,当围绕中心点旋转时,中心点到平面的距离保持不变,即虚拟物体相对于平面的位置不变,由此虚拟物体的位置不会出现偏差,也就不会导致显示出来的虚拟物体嵌入到平面之中,或者,悬浮在平面上,从而影响终端的显示效果。
对于控制虚拟物体缩放,选择虚拟物体在现实场景中的中心点为参考位置进行放大或者缩小。控制虚拟物体缩放时,一个手指选中虚拟物体,另一个手指移动以确定缩放的程度,为了保持虚拟物体一直位于平面的表面上,确定虚拟物体上的最低点(一般来说该点与平面相交),计算中心点到最低点的距离1以及中心点到平面交点的距离2,如果距离1大于距离2,则在Z轴方向上移动中心点,直到距离1等于距离2,如果距离1小于距离2,则在Z轴方向上移动中心点,直到距离1等于距离2。这样无论如何缩放虚拟物体,其始终位于平面的表面。
本实施例通过采取上述技术方案,可以使用户与现实场景中的虚拟物体进行直接交互,控制虚拟物体的形态发生变化,并可保证在终端屏幕上显示出来的虚拟物体位于位置上且位于平面的表面,可以避免虚拟物体在形态改变时出现嵌入平面或悬浮平面的情况,提高终端的显示效果。
在一个可选的实施例中,如图2a所示,平面及位置确定模块21还用于:确定虚拟物体在现实场景中位于的初始平面及初始位置;
相应的,形态控制模块22具体用于:在初始位置上控制虚拟物体形态发生改变,并在对应终端屏幕上显示虚拟物体,且显示出来的虚拟物体始终位于初始平面的表面;或,控制虚拟物体从初始位置移动到位置;在位置上控制虚拟物体形态发生改变,以使在终端屏幕上显示出来的虚拟物体位于平面的表面。
其中,终端屏幕的初始位置可选为终端屏幕的中心位置。具体可由用户确定。在本实施例中,终端屏幕的初始位置的确定方法及现实场景中的初始位置的确定方法与上述显示位置及虚拟场景中的位置的确定方法类似,这里不再赘述。
本实施例可以控制虚拟物体在单个平面上形态发生改变时,保证该虚拟物体始终位于该平面的表面,本实施例还可以在虚拟物体从一个平面移动到另一平面时形态发生改变,并保证虚拟物体位于另一平面的表面,这样可以避免虚拟物体在形态改变时出现嵌入平面或悬浮平面的情况,提高终端的显示效果。
有关控制虚拟物体形态改变的装置实施例的工作原理、实现的技术效果等详细说明可以参考前述控制虚拟物体形态改变的方法实施例中的相关说明,在此不再赘述。
图3是图示根据本公开的实施例的控制虚拟物体形态改变的硬件装置的硬件框图。如图3所示,根据本公开实施例的控制虚拟物体形态改变的硬件装置30包括存储器31和处理器32。
该存储器31用于存储非暂时性计算机可读指令。具体地,存储器31可以包括一个或多个计算机程序产品,该计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。该易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。该非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
该处理器32可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制控制虚拟物体形态改变的硬件装置30中的其它组件以执行期望的功能。在本公开的一个实施例中,该处理器32用于运行该存储器31中存储的该计算机可读指令,使得该控制虚拟物体形态改变的硬件装置30执行前述的本公开各实施例的控制虚拟物体形态改变的方法的全部或部分步骤。
本领域技术人员应能理解,为了解决如何获得良好用户体验效果的技术问题,本实施例中也可以包括诸如通信总线、接口等公知的结构,这些公知的结构也应包含在本公开的保护范围之内。
有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。
图4是图示根据本公开的实施例的计算机可读存储介质的示意图。如图4所示,根据本公开实施例的计算机可读存储介质40,其上存储有非暂时性计算机可读指令41。当该非暂时性计算机可读指令41由处理器运行时,执行前述的本公开各实施例的视频特征的比对方法的全部或部分步骤。
上述计算机可读存储介质40包括但不限于:光存储介质(例如:CD-ROM和DVD)、磁光存储介质(例如:MO)、磁存储介质(例如:磁带或移动硬盘)、具有内置的可重写非易失性存储器的媒体(例如:存储卡)和具有内置ROM的媒体(例如:ROM盒)。
有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。
图5是图示根据本公开实施例的终端的硬件结构示意图。如图5所示,该控制虚拟物体形态改变的终端50包括上述控制虚拟物体形态改变的装置实施例。
该终端可以以各种形式来实施,本公开中的终端可以包括但不限于诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置、车载终端、车载显示终端、车载电子后视镜等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。
作为等同替换的实施方式,该终端还可以包括其他组件。如图5所示,该控制虚拟物体形态改变的终端50可以包括电源单元51、无线通信单元52、A/V(音频/视频)输入单元53、用户输入单元54、感测单元55、接口单元56、控制器57、输出单元58和存储器59等等。图5示出了具有各种组件的终端,但是应理解的是,并不要求实施所有示出的组件,也可以替代地实施更多或更少的组件。
其中,无线通信单元52允许终端50与无线通信系统或网络之间的无线电通信。A/V输入单元53用于接收音频或视频信号。用户输入单元54可以根据用户输入的命令生成键输入数据以控制终端的各种操作。感测单元55检测终端50的当前状态、终端50的位置、用户对于终端50的触摸输入的有无、终端50的取向、终端50的加速或减速移动和方向等等,并且生成用于控制终端50的操作的命令或信号。接口单元56用作至少一个外部装置与终端50连接可以通过的接口。输出单元58被构造为以视觉、音频和/或触觉方式提供输出信号。存储器59可以存储由控制器55执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据。存储器59可以包括至少一种类型的存储介质。而且,终端50可以与通过网络连接执行存储器59的存储功能的网络存储装置协作。控制器57通常控制终端的总体操作。另外,控制器57可以包括用于再现或回放多媒体数据的多媒体模块。控制器57可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。电源单元51在控制器57的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。
本公开提出的视频特征的比对方法的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,本公开提出的视频特征的比对方法的各种实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,本公开提出的视频特征的比对方法的各种实施方式可以在控制器57中实施。对于软件实施,本公开提出的视频特征的比对方法的各种实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器59中并且由控制器57执行。
有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
还需要指出的是,在本公开的系统和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (11)
1.一种控制虚拟物体形态改变的方法,其特征在于,包括:
确定虚拟物体在现实场景中的平面及位置;
控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
2.根据权利要求1所述的方法,其特征在于,所述控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面的步骤,包括:
确定所述虚拟物体的参考位置;
以所述参考位置为依据控制所述虚拟物体的形态,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
3.根据权利要求2所述的方法,其特征在于,所述以所述参考位置为依据控制所述虚拟物体的形态,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面的步骤,包括:
控制所述虚拟物体围绕所述参考位置旋转和/或进行缩放,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
4.根据权利要求3所述的方法,其特征在于,所述控制所述虚拟物体围绕所述参考位置进行缩放,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面的步骤,包括:
根据缩放程度确定所述虚拟物体上的最低点;
确定所述参考位置与所述最低点的第一距离和所述参考位置与所述平面的第二距离;
根据所述第一距离和所述第二距离控制所述虚拟物体的缩放,以保证在所述终端屏幕上显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一距离和所述第二距离控制所述虚拟物体的缩放的步骤,包括:
确定所述虚拟物体在现实场景中的z轴;
若所述第一距离不等于所述第二距离,则沿着所述z轴方向移动所述参考位置,直到所述第一距离等于所述第二距离。
6.根据权利要求1所述的方法,其特征在于,所述参考位置为所述虚拟物体在现实场景中的z轴或所述虚拟物体在现实场景中的中心点。
7.根据权利要求1-6所述的方法,其特征在于,所述控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面的步骤,包括:
检测所述终端屏幕上产生的针对所述虚拟物体的第一触发响应,所述第一触发响应用于使所述虚拟物体处于选中状态;
检测所述终端屏幕上产生的针对所述虚拟物体的第二触发响应,所述第二触发响应用于控制所述虚拟物体的形态发生改变;
根据所述第一触发响应和所述第二触发响应控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
确定虚拟物体在现实场景中位于的初始平面及初始位置;
相应的,所述控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面的步骤,包括:
在所述初始位置上控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体始终位于所述初始平面的表面;
或,控制所述虚拟物体从所述初始位置移动到所述位置;在所述位置上控制所述虚拟物体形态发生改变,以使在所述终端屏幕上显示出来的所述虚拟物体位于所述平面的表面。
9.一种控制虚拟物体形态改变的装置,其特征在于,包括:
平面及位置确定模块,用于确定虚拟物体在现实场景中的平面及位置;
形态控制模块,用于控制所述虚拟物体形态发生改变,并在对应终端屏幕上显示所述虚拟物体,且显示出来的所述虚拟物体位于所述位置上且位于所述平面的表面。
10.一种控制虚拟物体形态改变的硬件装置,包括:
存储器,用于存储非暂时性计算机可读指令;以及
处理器,用于运行所述计算机可读指令,使得所述处理器执行时实现根据权利要求1-8中任意一项所述的控制虚拟物体形态改变的方法。
11.一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行权利要求1-8中任意一项所述的控制虚拟物体形态改变的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810900638.9A CN110827413B (zh) | 2018-08-09 | 2018-08-09 | 控制虚拟物体形态改变的方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810900638.9A CN110827413B (zh) | 2018-08-09 | 2018-08-09 | 控制虚拟物体形态改变的方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110827413A true CN110827413A (zh) | 2020-02-21 |
CN110827413B CN110827413B (zh) | 2024-09-06 |
Family
ID=69540816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810900638.9A Active CN110827413B (zh) | 2018-08-09 | 2018-08-09 | 控制虚拟物体形态改变的方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110827413B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286363A (zh) * | 2020-11-19 | 2021-01-29 | 网易(杭州)网络有限公司 | 虚拟主体形态改变方法及装置、存储介质、电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1487290B1 (fr) * | 2002-03-22 | 2008-08-06 | Kenneth Kuk-Kei Wang | Procede et dispositif de visualisation, d'archivage et de transmission sur un reseau d'ordinateurs d'un modele de vetement |
US20120066648A1 (en) * | 2010-09-14 | 2012-03-15 | Xerox Corporation | Move and turn touch screen interface for manipulating objects in a 3d scene |
CN104090953A (zh) * | 2014-07-04 | 2014-10-08 | 广东凯乐斯光电科技有限公司 | 一种led灯在虚拟显示终端的地图显示方法及装置 |
CN105391938A (zh) * | 2014-08-27 | 2016-03-09 | 株式会社理光 | 图像处理装置、图像处理方法和计算机程序产品 |
CN106873767A (zh) * | 2016-12-30 | 2017-06-20 | 深圳超多维科技有限公司 | 一种虚拟现实应用的运行控制方法和装置 |
CN106951087A (zh) * | 2017-03-27 | 2017-07-14 | 联想(北京)有限公司 | 一种基于虚拟交互平面的交互方法及装置 |
CN107527377A (zh) * | 2017-08-25 | 2017-12-29 | 扆冰蕾 | 一种基于移动平台的三维虚拟地球悬空中文字符渲染方法 |
CN107665505A (zh) * | 2016-07-29 | 2018-02-06 | 成都理想境界科技有限公司 | 基于平面检测实现增强现实的方法及装置 |
CN107680164A (zh) * | 2016-08-01 | 2018-02-09 | 中兴通讯股份有限公司 | 一种虚拟对象大小调整方法和装置 |
CN108008817A (zh) * | 2017-12-01 | 2018-05-08 | 西安枭龙科技有限公司 | 一种实现虚实融合的方法 |
-
2018
- 2018-08-09 CN CN201810900638.9A patent/CN110827413B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1487290B1 (fr) * | 2002-03-22 | 2008-08-06 | Kenneth Kuk-Kei Wang | Procede et dispositif de visualisation, d'archivage et de transmission sur un reseau d'ordinateurs d'un modele de vetement |
US20120066648A1 (en) * | 2010-09-14 | 2012-03-15 | Xerox Corporation | Move and turn touch screen interface for manipulating objects in a 3d scene |
CN104090953A (zh) * | 2014-07-04 | 2014-10-08 | 广东凯乐斯光电科技有限公司 | 一种led灯在虚拟显示终端的地图显示方法及装置 |
CN105391938A (zh) * | 2014-08-27 | 2016-03-09 | 株式会社理光 | 图像处理装置、图像处理方法和计算机程序产品 |
CN107665505A (zh) * | 2016-07-29 | 2018-02-06 | 成都理想境界科技有限公司 | 基于平面检测实现增强现实的方法及装置 |
CN107680164A (zh) * | 2016-08-01 | 2018-02-09 | 中兴通讯股份有限公司 | 一种虚拟对象大小调整方法和装置 |
CN106873767A (zh) * | 2016-12-30 | 2017-06-20 | 深圳超多维科技有限公司 | 一种虚拟现实应用的运行控制方法和装置 |
CN106951087A (zh) * | 2017-03-27 | 2017-07-14 | 联想(北京)有限公司 | 一种基于虚拟交互平面的交互方法及装置 |
CN107527377A (zh) * | 2017-08-25 | 2017-12-29 | 扆冰蕾 | 一种基于移动平台的三维虚拟地球悬空中文字符渲染方法 |
CN108008817A (zh) * | 2017-12-01 | 2018-05-08 | 西安枭龙科技有限公司 | 一种实现虚实融合的方法 |
Non-Patent Citations (4)
Title |
---|
1024工厂: "ARCore:ARCore带来的新概念", pages 1 - 7, Retrieved from the Internet <URL:https://blog.csdn.net/p106786860/article/details/78533538> * |
GOOGLE: "Google官方AR设计指南", Retrieved from the Internet <URL:http://www.woshipm.com/pd/1195054.html> * |
吴筱军: "unity3d让物体移动到点击位置", Retrieved from the Internet <URL:https://www.cnblogs.com/wrbxdj/p/5683195.html> * |
苹果官方: "苹果AR的人机界面设计规范", Retrieved from the Internet <URL:https://cloud.tencent.com/developer/article/1005922> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286363A (zh) * | 2020-11-19 | 2021-01-29 | 网易(杭州)网络有限公司 | 虚拟主体形态改变方法及装置、存储介质、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110827413B (zh) | 2024-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11640235B2 (en) | Additional object display method and apparatus, computer device, and storage medium | |
US10101873B2 (en) | Portable terminal having user interface function, display method, and computer program | |
US11941181B2 (en) | Mechanism to provide visual feedback regarding computing system command gestures | |
US8839136B2 (en) | Method of controlling virtual object or view point on two dimensional interactive display | |
US11048373B2 (en) | User interface display method and apparatus therefor | |
US20100164904A1 (en) | Control signal input device and method using dual touch sensor | |
US9633412B2 (en) | Method of adjusting screen magnification of electronic device, machine-readable storage medium, and electronic device | |
US20120326994A1 (en) | Information processing apparatus, information processing method and program | |
WO2015149375A1 (en) | Device, method, and graphical user interface for managing multiple display windows | |
EP2610840A2 (en) | Device, method, and graphical user interface for manipulating a three-dimensional map view based on a device orientation | |
WO2018222248A1 (en) | Method and device for detecting planes and/or quadtrees for use as a virtual substrate | |
US20150063785A1 (en) | Method of overlappingly displaying visual object on video, storage medium, and electronic device | |
US20150067398A1 (en) | Method, apparatus, and recording medium for interworking with external terminal | |
CN110827412A (zh) | 自适应平面的方法、装置和计算机可读存储介质 | |
US10872455B2 (en) | Method and portable electronic device for changing graphics processing resolution according to scenario | |
CN110825280A (zh) | 控制虚拟物体位置移动的方法、装置和计算机可读存储介质 | |
CN110827413B (zh) | 控制虚拟物体形态改变的方法、装置和计算机可读存储介质 | |
US11340776B2 (en) | Electronic device and method for providing virtual input tool | |
CN110825279A (zh) | 平面间无缝切换的方法、装置和计算机可读存储介质 | |
CN117950560A (zh) | 媒体编辑的方法、装置、设备和存储介质 |
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 | ||
CB02 | Change of applicant information |
Country or region after: China Address after: 100080 408, 4th floor, 51 Zhichun Road, Haidian District, Beijing Applicant after: Tiktok Technology Co.,Ltd. Address before: 100080 408, 4th floor, 51 Zhichun Road, Haidian District, Beijing Applicant before: BEIJING MICROLIVE VISION TECHNOLOGY Co.,Ltd. Country or region before: China |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |