CN118534997A - 用于操作虚拟对象的方法、装置、设备和存储介质 - Google Patents
用于操作虚拟对象的方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN118534997A CN118534997A CN202310173588.XA CN202310173588A CN118534997A CN 118534997 A CN118534997 A CN 118534997A CN 202310173588 A CN202310173588 A CN 202310173588A CN 118534997 A CN118534997 A CN 118534997A
- Authority
- CN
- China
- Prior art keywords
- virtual object
- interface element
- gesture
- virtual
- location
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 230000004044 response Effects 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 6
- 238000009877 rendering Methods 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 28
- 238000005516 engineering process Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
根据本公开的实施例,提供了用于操作虚拟对象的方法、装置、设备和存储介质。该方法包括:检测相对于虚拟对象的第一手势;响应于检测到第一手势,确定检测到第一手势之处相对于虚拟对象的第一位置;以及与第一位置相关联地、邻近虚拟对象的边缘呈现第一界面元素,第一界面元素能够被用于操纵虚拟对象。由此提供一种便捷的交互方式,可以减少切换至选择用于操纵虚拟对象的界面元素所需要移动的距离,提升用户体验。
Description
技术领域
本公开的示例实施例总体涉及计算机领域,特别地涉及用于操作虚拟对象的方法、装置、设备和计算机可读存储介质。
背景技术
扩展现实(Extended Reality,XR)技术包括虚拟现实技术(Virtual Reality,VR)、增强现实技术(Augmented Reality,AR)以及混合现实技术(Mixed Reality,MR)。通过硬件设备和计算机技术,XR可将用户带入人机交互的虚拟场景中。
发明内容
在本公开的第一方面,提供了一种用于操作虚拟对象的方法。该方法包括:检测相对于虚拟对象的第一手势;响应于检测到第一手势,确定检测到第一手势之处相对于虚拟对象的第一位置;以及与第一位置相关联地、邻近虚拟对象的边缘呈现第一界面元素,第一界面元素能够被用于操纵虚拟对象。
在本公开的第二方面,提供了一种用于操作虚拟对象的装置。该装置包括:检测模块,被配置为检测相对于虚拟对象的第一手势;第一确定模块,被配置为响应于检测到第一手势,确定检测到第一手势之处相对于虚拟对象的第一位置;以及第一呈现模块,被配置为与第一位置相关联地、邻近虚拟对象的边缘呈现第一界面元素,第一界面元素能够被用于操纵虚拟对象。
在本公开的第三方面,提供了一种电子设备。该设备包括至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由
至少一个处理单元执行时使设备执行第一方面的方法。
在本公开的第四方面,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序,计算机程序可由处理器执行以实现第一方面的方法。
应当理解,本发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开的实施例能够在其中实现的示例环境的示意图;
图2A-2C分别示出了根据本公开的一些实施例的检测手势的一些示例的示意图;
图3A和3B示出了根据本公开的一些实施例的将虚拟对象所在区域进行划分的多个示例的示意图;
图4A和4B分别示出了根据本公开的一些实施例的呈现第一界面元素位置的多个示例的示意图;
图5示出了根据本公开的一些实施例的拖拽虚拟对象的一个示例的示意图;
图6A-6E分别示出了根据本公开的一些实施例的操纵虚拟对象的多个示例的示意图;
图7示出了根据本公开的一些实施例的操作虚拟对象的流程的示意图;
图8示出了根据本公开的一些实施例的用于操作虚拟对象的装置的框图;以及
图9示出了能够实施本公开的多个实施例的电子设备的框图。
具体实施方式
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
下面将参照附图更详细地描述本公开的实施例。虽然附图中示出了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
需要注意的是,本文中所提供的任何节/子节的标题并不是限制性的。本文通篇描述了各种实施例,并且任何类型的实施例都可以包括在任何节/子节下。此外,在任一节/子节中描述的实施例可以以任何方式与同一节/子节和/或不同节/子节中描述的任何其他实施例相结合。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“一些实施例”应当理解为“至少一些实施例”。下文还可能包括其他明确的和隐含的定义。术语“第一”、“第二”等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如本文中所使用的,术语“模型”可以从训练数据中学习到相应的输入与输出之间的关联,从而在训练完成后可以针对给定的输入,生成对应的输出。模型的生成可以基于机器学习技术。深度学习是一种机器学习算法,通过使用多层处理单元来处理输入和提供相应输出。在本文中,“模型”也可以被称为“机器学习模型”、“机器学习网络”或“网络”,这些术语在本文中可互换地使用。一个模型又可以包括不同类型的处理单元或网络。
如本文中所使用的,“单元”、“操作单元”或“子单元”可以由任何合适结构的机器学习模型或网络组成。如本文中所使用的,一组元素或类似表述可以包括一个或多个这样的元素。例如,“一组卷积单元”可以包括一个或多个卷积单元。
如前文所简要提及的,XR技术包括VR技术、AR技术和MR技术。XR技术利用硬件设备结合多种软件技术手段呈现虚拟场景或者将虚拟的内容和真实场景融合,使得人们的交互方式由2D交互向3D交互转变。VR技术例如利用头戴设备模拟真实世界的3D互动场景。AR技术例如通过电子设备(例如手机、平板、眼镜等)将各种信息和影像叠加到现实世界中。MR技术介于VR技术和AR技术之间,在虚拟世界、现实世界和用户之间,利用数字技术实现实时交互的复杂场景。
由于XR技术的特性,虚拟场景中不可避免的出现同时显示多个虚拟对象的情况。在一些纯手势识别的虚拟场景中,空间中的虚拟对象的移动交互方式非常单一,并且不够直观。例如,一些VR产品依
然延续移动端的操作逻辑,通过手势移动空间中的虚拟对象时,必须用手势精准的捏住虚拟对象的控件才能移动虚拟对象。又例如,一些VR产品只能通过手柄进行虚拟对象的空间移动。总的来说,移动虚拟对象的交互都不够友好便捷。
由于交互维度不够,当虚拟对象距离过近或过远时,无法使用控件再去分离虚拟对象,对于控件的操作逻辑在虚拟场景中不够直观。交互设计的目标之一是优化用户体验。通常来说,用户预期用最少的时间做最多的事情。因此在交互设计时运用菲茨定律,有助于将用户体验优化到最理想状态。菲茨定律是用来预测从任意一点到目标位置所需时间的数学模型。这个模型考虑了用户定位点的初始位置与目标的相对距离、目标的大小、移动的最短时间。在交互设计领域,可以通过改变虚拟对象的尺寸降低操作复杂度,也可以通过改变虚拟对象与用于操控的界面元素的距离提高操作效率。
本公开的实施例提出了一种用于操作虚拟对象的方案。根据本公开的各种实施例,检测相对于虚拟对象的第一手势。确定检测到第一手势之处相对于虚拟对象的第一位置。与第一位置相关联地、邻近虚拟对象的边缘呈现第一界面元素,第一界面元素能够被用于操纵虚拟对象。由此提供一种便捷的交互方式,可以减少切换至选择用于操纵虚拟对象的界面元素所需要移动的距离,降低操作复杂度,提升用户体验。
图1示出了本公开的实施例能够在其中实现的示例环境100的示意图。在环境100中,只有一个用户时,用户130-1可以穿戴有XR设备110-1。XR设备110-1与计算设备120-1通信,为用户130-1构建虚拟场景或将虚拟的内容和真实场景融合。
在一些实施例中,环境110中例如还包括用户130-2,用户130-2例如可以穿戴XR设备110-2。XR设备110-2与计算设备120-2通信,为用户130-2构建虚拟场景或将虚拟的内容和真实场景融合。在本公开中,用户130-1和用户130-2单独或统一称为用户130,XR设备110-1和设备110-2单独或统一称为XR设备110,计算设备120-1和
计算设备120-2单独或统一称为计算设备120。
在一些实施例中,计算设备120-1和计算设备120-2可以无线方式通信,为用户130-1和用户130-2构建共同的虚拟场景,而不限制用户必须处于同一物理空间中。在本公开中,用户也被称为操控者。基于VR技术构建的虚拟场景,以及基于AR技术或MR技术将虚拟的内容和真实场景融合的场景,统称为虚拟场景140。
XR设备110可以是头戴或可穿戴的近眼显示设备,例如头戴式显示器、智能眼镜等,支持VR、AR、MR等技术。XR设备110可以包括图像生成组件和光学显示组件,用于在单目或双目视场中构建虚拟场景140并显示虚拟对象。虚拟对象例如为虚拟场景140中的任何适当显示元素,其也称为显示块(block)。在一些示例中,显示块可以是窗口,其用于载入网页、文档等内容。在一些示例中,显示块也被称为“面片”。
在一些实施例中,计算设备120可以确定用户130的手部(或其对应的虚拟手)与虚拟对象之间的相对位置。计算设备120可以是能够与XR设备110和/或其他图像捕获设备进行通信的单独设备,比如用于图像或数据处理的服务器、计算节点等,也可以与XR设备110和/或其他图像捕获设备集成在一起。在一些实施例中,计算设备120可以实现为XR设备110,也即,在此情况下,XR设备110可以实现计算设备120的所有功能。应当理解,上述关于计算设备120的描述仅仅是示例性而非限制性的,计算设备120可以实现为多种形式、结构或类别的设备,本公开的实施例对此没有限制。
应当理解,仅出于示例性的目的描述环境100的结构和功能,而不暗示对于本公开的范围的任何限制。
以下将继续参考附图描述本公开的一些示例实施例。
图2A-图2C分别示出了根据本公开的一些实施例的操纵虚拟对象的示例200A、示例200B以及示例200C的示意图。示例200A、示例200B以及示例200C可以在计算设备120处实现。下面参考图1描述示例200A、示例200B以及示例200C。
计算设备120可以在虚拟场景140中呈现如图2A所示的虚拟对象220。这样的虚拟场景例如可以包括AR场景、VR场景或MR场景等。
这样的虚拟对象220例如可以包括虚拟场景140中的任何适当虚拟对象,其可以包括三维虚拟对象和/或二维虚拟对象。示例性地,这样的二维虚拟对象可以包括不具有厚度的二维窗口,以用于类似电子屏幕来呈现虚拟环境中的各种内容。
进一步地,在VR场景中,计算设备120例如还可以绘制用于表征操控者的手部的虚拟手210。这样的虚拟手210可以是基于对操控者的手部进行追踪来绘制的,使得操控者手部所做的手势可以被检测并且通过虚拟环境中的虚拟手210的运动来进行表示。应当理解,可以采用诸如图像识别、传感器定位等任何适当的方式来检测操控者的手部动作,本公开不旨在对此进行限定。
应当理解,在诸如AR场景中,虚拟手210也可以不被绘制,操控者可以通过手部来直接与虚拟场景140中的虚拟对象220进行交互。例如,虚拟对象220可以是叠加在操控者的真实视野中的虚拟对象。操控者可以通过手势来与该虚拟对象交互。
仅是为了方便描述,本公开结合VR场景并以绘制虚拟手作为示例来描述本公开的实施例。下文中结合VR场景所描述的虚拟手所做出的各类交互也可以是在其他XR场景中由操控者的手部所做出的。
计算设备120可以检测操控者通过虚拟手210做出的手势以及相对于虚拟对象220的手势。虚拟手210的手势例如包括指向、单击、双击、连击、拖动、缩放、捏合等。虚拟手210相对于虚拟对象220的手势,也被称为第一手势,可以用于激活虚拟对象220,还可以用于控制虚拟对象220在虚拟场景140中的呈现方式或移动方式。例如,虚拟对象为二维窗口,计算设备120检测到虚拟手210相对于二维窗口做出指向的手势时,高亮显示该二维窗口的边框或内容。。在一些实施例中,第一手势包括虚拟手210相对于虚拟对象220的悬停手势。例如,虚拟对象220为二维窗口,虚拟手210悬停在二维窗口朝向操
控者的一面的前方区域内。
计算设备120检测到虚拟手210相对于虚拟对象220的第一手势,确定第一手势之处相对于虚拟对象220的位置,也称为第一位置。第一手势之处为虚拟手210在虚拟场景140中的位置。例如,第一手势之处可以表示为虚拟手210在虚拟场景140的空间坐标,也可以表示为该空间坐标在虚拟对象220上的投影坐标。第一手势之处相对于虚拟对象220的位置可以是虚拟手210相对于虚拟对象的位置关系。例如,其可以表示虚拟手210在虚拟对象220的内部区域或外部区域。第一手势之处相对于虚拟对象220的位置也可以是交互位置或投影位置。例如,其可以表示虚拟手210在虚拟对象220的哪个子区域。第一手势之处相对于虚拟对象220的位置还可以是交互位置或投影位置相对于虚拟对象220的特定参考点的偏移。例如,其可以表示虚拟手210相对于虚拟对象200的中心的偏移量。
在一些实施例中,计算设备120生成与虚拟手210相对应的虚拟射线230。这样的虚拟射线230例如可以表示从虚拟手210的位置到虚拟手210的位置在虚拟对象220的投影位置的连线,以用于辅助用户定位虚拟手210当前所针对的位置。应当理解,图2A所示出的虚拟射线230仅是用于辅助用户更好地感知交互位置,其可以根据实际场景需要进行显示或隐藏,本公开也不旨在对虚拟射线的样式进行限定。例如,计算设备120可以仅在虚拟环境中标识当前手势所针对的交互点,而不呈现虚拟射线。
计算设备120可以根据第一手势相对于虚拟对象220的第一位置确定是否呈现用于操纵虚拟对象220的第一界面元素。这样的第一界面元素也称为操作手柄(handle)。例如,虚拟对象220为窗口,第一界面元素240为弧状操纵线。参考图2B,如果虚拟手210相对于窗口的投影位置在窗口的内部区域,则计算设备120在窗口的右下方呈现弧状操纵线;参考图2A,如果虚拟手210相对于窗口的投影位置在窗口的外部区域,则计算设备120不会呈现弧状操纵线。在一些实施例中,第一界面元素240例如能够以光标或游标的样式呈现。
在一些实施例中,计算设备120可以将虚拟对象220所在区域划分为多个预设区域,并可以从多个预设区域中确定第一位置所在的目标区域。从而,计算设备120根据第一位置所在的目标区域,来确定呈现第一界面元素240的位置。
图3A示出了根据本公开的一些实施例的将虚拟对象220所在区域进行划分的一个示例300A的示意图。示例300A可以实现在计算设备120处。下面参考图1描述示例300A。
参考图3A,计算设备120将虚拟对象220所在的区域划分为子区域310和子区域320。第一位置落在子区域310内,计算设备120可以临近子区域310呈现第一界面元素240;第一位置落在子区域320内,计算设备120可以临近子区域320呈现第一界面元素240。
图3B示出了根据本公开的一些实施例的将虚拟对象220所在区域进行划分的一个示例300B的示意图。示例300B可以实现在计算设备120处。下面参考图1描述示例300B。
计算设备120根据直角坐标系中的横轴和纵轴将虚拟对象220所在的区域划分为四个子区域(分别对应四个象限):子区域330、子区域340、子区域350以及子区域360。例如,如果第一位置落在子区域330内,则计算设备120可以临近子区域330呈现第一界面元素240;如果第一位置落在子区域360内,则计算设备120可以临近子区域360呈现第一界面元素240。
在一些实施例中,第一界面元素240的显示位置与第一位置相关联并邻近虚拟对象220的边缘。基于这样的方式,用户无需移动或过大移动视点,即可定位第一界面元素240的位置。参考图2B,第一位置在虚拟对象220的区域内并靠近角落的位置,计算设备120在虚拟对象220的区域外且靠近角落的位置呈现第一界面元素240。
第一界面元素240的显示位置临近虚拟对象220的边缘并显示在虚拟对象220的区域之外。在一些实施例中,在虚拟对象220的边缘外部的预定区域内显示第一界面元素240。例如,第一界面元素240的各点到虚拟对象的边缘的距离可以为恒定值。
参考图2B和图2C,计算设备120在虚拟对象220所在的区域之外设置热区250,热区250的范围大于虚拟对象220所在区域,并且大于等于第一界面元素240的显示区域。第一界面元素240显示在热区250内,不会对虚拟对象220形成遮挡,便于用户查看虚拟对象220例如窗口中加载的内容。可选地,热区250对用户不可见,以增强用户在虚拟场景140中的沉浸感。
计算设备120检测到虚拟手210指向虚拟对象220所在区域时,在相应位置呈现第一界面元素240。在一些实施例中,计算设备120检测到虚拟手210指向第一界面元素240或其附近时,醒目显示第一界面元素240。参考图2C,例如通过高亮、加粗等方式对第一界面元素240进行渲染。在一些实施例中,计算设备120检测到虚拟手210指向第一界面元素240或其附近时,醒目显示第一界面元素240,并且将虚拟对象220的状态变更为悬浮态。例如,虚拟对象220脱离当前平面,上浮一层,成为独立模块且跟随预定手势移动。
第一界面元素240的形状取决于虚拟对象220的边缘邻近第一界面元素240的部分的形状。图4A和4B分别示出了根据本公开的一些实施例的呈现第一界面元素位置的示例400A和示例400B的示意图。示例400A和示例400B可以实现在计算设备120处。下面参考图1描述示例400A和400B。
如图4A所示,第一位置落在虚拟对象220的区域内并靠近右侧边缘的位置,计算设备120在靠近右侧边缘的外侧位置呈现第一界面元素240,并且第一界面元素240的形状与临近的虚拟对象220的右侧边缘大致相同,例如成竖条状。又如图4B所示,第一位置落在虚拟对象220的区域内并靠近下侧边缘的位置,计算设备120在靠近下侧边缘的外侧位置呈现第一界面元素240,并且第一界面元素240的形状与临近的虚拟对象220的下侧边缘大致相同,例如成横条状。第一位置在虚拟对象220的区域内移动时,例如从靠近右侧边缘的位置移动至靠近下侧边缘的位置过程中,第一界面元素240从靠近右侧边缘的外侧位置跟随移动至靠近下侧边缘的外侧位置,也即第一界面元
素240的呈现位置和形状可以根据第一位置相对于虚拟对象220的位置来动态呈现。由此,这样的第一界面元素240能够呈现动态追随交互位置的效果,例如以光标的样式随操控者的手势的交互位置的变化而实时变化。
第一界面元素240能够被用于操纵虚拟对象220。参考图2C,计算设备120检测到虚拟手210指向第一界面元素240或其附近时,进一步检测操控者的操作手势,通过第一界面元素240控制虚拟对象220。例如,操控者做出预定操作手势,以通过第一界面元素240控制虚拟对象220进行平移、缩放、旋转等。
计算设备120接收虚拟手210对第一界面元素240的选择。参考图2C,第一位置落在第一界面元素240之上或预设范围内,第一界面元素240醒目显示,以便于用户确认可以对第一界面元素240进行选择。例如,操控者做出两根手指捏合(也称为pinch)的操作手势,从而确定对第一界面元素240的选择。
计算设备120响应于检测到的第一手势,并以第一呈现样式呈现第一界面元素240。在一些实施例中,计算设备120响应于接收到第二预定操作,并以不同于第一样式的第二样式呈现第一界面元素。第二样式例如包括改变第一界面元素240的亮度、对比度、尺寸、颜色,等等。第二预定操作可以是针对第一界面元素240和/或虚拟对象220的动作。在一些实施例中,第二预定操作包括手指捏合动作(例如,两指捏合)。作为一个示例,操控者做出两指捏合的操作手势,计算设备120检测到该操作手势,并控制第一界面元素240从较小的尺寸变为较大的尺寸,或者从较低的亮度变为较高的亮度,从而以醒目的样式呈现给操控者。
在一些实施例中,第一位置从虚拟对象220所在区域由内向外移动时,可以激活第一界面元素240。例如,在虚拟手210由内向外移动至靠近虚拟对象220的边缘时,计算设备120呈现第一界面元素240。虚拟手210继续向外移动至虚拟对象220的外侧时,计算设备120激活第一界面元素240。虚拟手210指向第一界面元素240或其预设范
围内时,计算设备120接收操控者对第一界面元素240的手势控制,例如通过捏合两指以选定第一界面元素240。
计算设备120检测虚拟手220对选定的第一界面元素的拖拽,并根据虚拟手220移动的方向和速度等改变虚拟对象220在虚拟场景140中的位置。
图5示出了根据本公开的一些实施例的拖拽虚拟对象220的一个示例500的示意图。示例500可以实现在计算设备120处。下面参考图1描述示例500。
如图5所示,操控者通过两指捏合的手势选定第一界面元素240,从而控制虚拟对象220在虚拟场景140中进行移动。移动过程中,操控者保持两指捏合的手势不变;移动到目标位置后,操控者松开两指捏合的手势。
计算设备120检测第二手势,根据检测到的第二手势之处相对于虚拟对象220的第二位置,呈现第二界面元素。第二界面元素与第二位置相关联并且邻近虚拟对象220的边缘。计算设备120进一步检测对第一界面元素240和第二界面元素的第一预定操作来控制虚拟对象220。第一手势例如对应于操控者的右手做出的手势,第二手势例如为对应于操控者的左手做出的手势。计算设备120分别检测第一手势对应的第一位置和第二手势对应的第二位置,用于确定呈现第一界面元素和第二界面元素的位置。从而,操控者通过左右手共同操纵界面元素以实现对虚拟对象220的操纵。
图6A-6D分别示出了根据本公开的一些实施例的操纵虚拟对象220的示例600A、示例600B、示例600C以及示例600D的示意图。示例600A、示例600B、示例600C以及示例600D可以实现在计算设备120处。下面参考图1描述示例600A、示例600B、示例600C以及示例600D。
如图6A所示,操控者通过虚拟手210指向第一界面元素240或其预设范围内时,计算设备120接收虚拟手210对第一界面元素240的手势控制,例如通过捏合两指以选定第一界面元素240。操控者通P22091662901CN
过虚拟手610指向第二界面元素630或其预设范围内时,计算设备120接收虚拟手610对第二界面元素630的手势控制,例如通过捏合两指以选定第二界面元素630。
计算设备120根据虚拟手210和虚拟手610的预定操作,控制虚拟对象220。在一些实施例中,第一预定操作包括改变虚拟对象220的形态。
如图6B所示,虚拟手210和虚拟手610同时向外拉伸,计算设备120对虚拟对象220进行放大操作。如图6C所示,虚拟手210和虚拟手610同时向内推挤,计算设备120对虚拟对象220进行缩小操作。如图6D所示,虚拟手210和虚拟手610分别向不同方向旋转,计算设备120对虚拟对象200进行旋转变形操作。又如图6E所示,虚拟手210和虚拟手610向相同方向旋转,计算设备120对虚拟对象200进行翻转操作。
通过图5-图6E的实施例,计算设备120提供对虚拟对象220进行平移、缩放、旋转的兼容性移动方案,以提供更多场景应用的可能性。
上述实施例中涉及通过操控者实施的手势操作,可以在基于VR技术和MR技术的应用场景中由用户130控制实施。可以理解的,在基于AR技术的应用场景中,用户130可以直接通过手指的操作(点击、两指捏合等)完成。
综上所述,本公开的实施例提供一种操作虚拟对象的方案,可以优化交互方式,减少操作距离,提升用户体验,更符合菲兹定律。
示例过程
图7示出了根据本公开的一些实施例的操作虚拟对象的过程700的流程图。过程700可以被实现在计算设备120处。下面参考图1描述过程700。
在框710,计算设备120检测相对于虚拟对象的第一手势。
在框720,计算设备120响应于检测到第一手势,确定检测到第
一手势之处相对于虚拟对象的第一位置。
在框730,计算设备120与第一位置相关联地、邻近虚拟对象的边缘呈现第一界面元素,第一界面元素能够被用于操纵虚拟对象。
在一些实施例中,第一手势包括相对于虚拟对象的悬停手势。
在一些实施例中,计算设备120接收对第一界面元素的选择;以及响应于对选定的第一界面元素的拖拽,在虚拟场景140中改变虚拟对象的位置。
在一些实施例中,计算设备120响应于检测到第二手势,确定检测到第二手势之处相对于虚拟对象的第二位置;与第二位置相关联地、邻近虚拟对象的边缘呈现第二界面元素;以及根据对第一界面元素和第二界面元素的第一预定操作来控制虚拟对象。
在一些实施例中,第一预定操作包括改变虚拟对象的形态。
在一些实施例中,为了呈现第一界面元素,计算设备120在虚拟对象的边缘外部的预定区域内显示第一界面元素。
在一些实施例中,第一界面元素的形状取决于虚拟对象的边缘中与第一位置对应的部分的形状。
在一些实施例中,为了确定检测到第一手势之处相对于虚拟对象的第一位置,计算设备120从与虚拟对象相关联的多个预设区域中确定第一手势所针对的目标区域;以及基于目标区域,确定第一手势之处相对于虚拟对象的第一位置。
在一些实施例中,与第一位置相关联地、邻近虚拟对象的边缘呈现第一界面元素包括:以第一显示样式呈现第一界面元素,过程700还包括:响应于接收到针对第一界面元素和/或虚拟对象的第二预定操作,以第二样式呈现第一界面元素,第二样式不同于第一样式。
在一些实施例中,第二预定操作包括手指捏合动作。
示例装置和设备
图8示出了根据本公开的某些实施例的用于操作虚拟对象的装置800的示意性结构框图。装置800可以被实现为或者被包括在计算设
备120中。装置800中的各个模块/组件可以由硬件、软件、固件或者它们的任意组合来实现。
如图所示,装置800包括检测模块810,被配置为检测相对于虚拟对象的第一手势。装置800还包括第一确定模块820,被配置为响应于检测到第一手势,确定检测到第一手势之处相对于虚拟对象的第一位置。装置800还包括第一呈现模块830,被配置为与第一位置相关联地、邻近虚拟对象的边缘呈现第一界面元素,第一界面元素能够被用于操纵虚拟对象。
在一些实施例中,第一手势包括相对于虚拟对象的悬停手势。
在一些实施例中,装置800还包括:接收模块,被配置为接收对第一界面元素的选择;以及改变模块,被配置为响应于对选定的第一界面元素的拖拽,在虚拟场景中改变虚拟对象的位置。
在一些实施例中,装置800还包括:第二确定模块,被配置为响应于检测到第二手势,确定检测到第二手势之处相对于虚拟对象的第二位置;第二呈现模块,被配置为与第二位置相关联地、邻近虚拟对象的边缘呈现第二界面元素;以及操作模块,被配置为根据对第一界面元素和第二界面元素的第一预定操作来控制虚拟对象。
在一些实施例中,第一预定操作包括改变虚拟对象的形态。
在一些实施例中,第一呈现模块830被进一步配置为:在虚拟对象的边缘外部的预定区域内显示第一界面元素。
在一些实施例中,第一界面元素的形状取决于虚拟对象的边缘中与第一位置对应的部分的形状。
在一些实施例中,第一确定模块820被进一步配置为:从与虚拟对象相关联的多个预设区域中确定第一手势所针对的目标区域;以及基于目标区域,确定第一手势之处相对于虚拟对象的第一位置。
在一些实施例中,第一呈现模块被配置为:以第一显示样式呈现第一界面元素,装置800还包括:第三呈现模块,被配置为响应于接收到针对第一界面元素和/或虚拟对象的第二预定操作,以第二样式呈现第一界面元素,第二样式不同于第一样式。
在一些实施例中,第二预定操作包括手指捏合动作。
图9示出了根据本公开的某些实施例的用于操作虚拟对象的XR设备900的示意性结构框图。应当理解,图9所示出的XR设备900仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。图9所示出的电子设备900可以用于实现图1的计算设备120。
如图9所示,电子设备900是通用电子设备的形式。电子设备900的组件可以包括但不限于一个或多个处理器或处理单元910、存储器920、存储设备930、一个或多个通信单元940、一个或多个输入设备950以及一个或多个输出设备960。处理单元910可以是实际或虚拟处理器并且能够根据存储器920中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高电子设备900的并行处理能力。
电子设备900通常包括多个计算机存储介质。这样的介质可以是电子设备900可访问的任何可以获取的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器920可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储设备930可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在电子设备900内被访问。
电子设备900可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图9中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器920可以包括计算机程序产品925,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施例的各种方法或动作。
通信单元940实现通过通信介质与其他电子设备进行通信。附加地,电子设备900的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,电子设备900可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
输入设备950可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备960可以是一个或多个输出设备,例如显示器、扬声器、打印机等。电子设备900还可以根据需要通过通信单元940与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与电子设备900交互的设备进行通信,或者与使得电子设备900与一个或多个其他电子设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。
这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介
质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。
Claims (13)
1.一种操作虚拟对象的方法,包括:
检测相对于虚拟对象的第一手势;
响应于检测到所述第一手势,确定检测到所述第一手势之处相对于所述虚拟对象的第一位置;以及
与所述第一位置相关联地、邻近所述虚拟对象的边缘呈现第一界面元素,所述第一界面元素能够被用于操纵所述虚拟对象。
2.根据权利要求1所述的方法,其中所述第一手势包括相对于所述虚拟对象的悬停手势。
3.根据权利要求1所述的方法,还包括:
接收对所述第一界面元素的选择;以及
响应于对选定的第一界面元素的拖拽,在虚拟场景中改变所述虚拟对象的位置。
4.根据权利要求1所述的方法,还包括:
响应于检测到第二手势,确定检测到所述第二手势之处相对于所述虚拟对象的第二位置;
与所述第二位置相关联地、邻近所述虚拟对象的所述边缘呈现第二界面元素;以及
根据对所述第一界面元素和所述第二界面元素的第一预定操作来控制所述虚拟对象。
5.根据权利要求4所述的方法,其中所述第一预定操作包括改变虚拟对象的形态。
6.根据权利要求1所述的方法,其中所述呈现第一界面元素包括:
在所述虚拟对象的所述边缘外部的预定区域内显示所述第一界面元素。
7.根据权利要求1所述的方法,其中所述第一界面元素的形状取决于所述虚拟对象的所述边缘中与所述第一位置对应的部分的形状。
8.根据权利要求1所述的方法,其中确定检测到所述第一手势之处相对于所述虚拟对象的第一位置包括:
从与所述虚拟对象相关联的多个预设区域中确定所述第一手势所针对的目标区域;以及
基于所述目标区域,确定所述第一手势之处相对于所述虚拟对象的第一位置。
9.根据权利要求1所述的方法,其中与所述第一位置相关联地、邻近所述虚拟对象的边缘呈现第一界面元素包括:以第一显示样式呈现所述第一界面元素,所述方法还包括:
响应于接收到针对所述第一界面元素和/或所述虚拟对象的第二预定操作,以第二样式呈现所述第一界面元素,所述第二样式不同于所述第一样式。
10.根据权利要求9所述的方法,其中所述第二预定操作包括手指捏合动作。
11.一种用于操作虚拟对象的装置,包括:
检测模块,被配置为检测相对于虚拟对象的第一手势;
第一确定模块,被配置为响应于检测到所述第一手势,确定检测到所述第一手势之处相对于所述虚拟对象的第一位置;以及
第一呈现模块,被配置为与所述第一位置相关联地、邻近所述虚拟对象的边缘呈现第一界面元素,所述第一界面元素能够被用于操纵所述虚拟对象。
12.一种电子设备,包括:
至少一个处理单元;以及
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令在由所述至少一个处理单元执行时使所述电子设备执行根据权利要求1至10中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可由处理器执行以实现根据权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310173588.XA CN118534997A (zh) | 2023-02-23 | 2023-02-23 | 用于操作虚拟对象的方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310173588.XA CN118534997A (zh) | 2023-02-23 | 2023-02-23 | 用于操作虚拟对象的方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118534997A true CN118534997A (zh) | 2024-08-23 |
Family
ID=92385178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310173588.XA Pending CN118534997A (zh) | 2023-02-23 | 2023-02-23 | 用于操作虚拟对象的方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118534997A (zh) |
-
2023
- 2023-02-23 CN CN202310173588.XA patent/CN118534997A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI690842B (zh) | 基於手勢辨認的互動顯示方法和裝置 | |
US9836146B2 (en) | Method of controlling virtual object or view point on two dimensional interactive display | |
JP6133972B2 (ja) | 3次元グラフィックユーザインターフェイス | |
US10191612B2 (en) | Three-dimensional virtualization | |
US9436369B2 (en) | Touch interface for precise rotation of an object | |
US10359905B2 (en) | Collaboration with 3D data visualizations | |
US9244590B1 (en) | Three-dimensional navigation using a two-dimensional surface | |
US20130176202A1 (en) | Menu selection using tangible interaction with mobile devices | |
KR102205283B1 (ko) | 적어도 하나의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법 | |
JP6360509B2 (ja) | 情報処理プログラム、情報処理システム、情報処理方法、および情報処理装置 | |
KR20140100547A (ko) | 모바일 장치상의 풀 3d 상호작용 | |
US20150205483A1 (en) | Object operation system, recording medium recorded with object operation control program, and object operation control method | |
CN105912101B (zh) | 一种投影控制方法和电子设备 | |
US10073612B1 (en) | Fixed cursor input interface for a computer aided design application executing on a touch screen device | |
US10222866B2 (en) | Information processing method and electronic device | |
US10444985B2 (en) | Computing device responsive to contact gestures | |
CN113457144B (zh) | 游戏中的虚拟单位选取方法及装置、存储介质及电子设备 | |
CN118534997A (zh) | 用于操作虚拟对象的方法、装置、设备和存储介质 | |
KR102392675B1 (ko) | 3차원 스케치를 위한 인터페이싱 방법 및 장치 | |
WO2018169951A1 (en) | Navigation system | |
KR102359601B1 (ko) | 투명 평판을 이용한 영상 처리 방법 및 이를 수행하는 장치 | |
CN118244880A (zh) | 用于在虚拟场景中展示内容的方法、装置、设备和存储介质 | |
US20220335676A1 (en) | Interfacing method and apparatus for 3d sketch | |
CN117695648A (zh) | 虚拟角色的移动和视角控制方法、装置、电子设备和介质 | |
CN118244881A (zh) | 用于在虚拟场景中展示内容的方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |