CN115344121A - 用于处理手势事件的方法、装置、设备和存储介质 - Google Patents
用于处理手势事件的方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115344121A CN115344121A CN202210955382.8A CN202210955382A CN115344121A CN 115344121 A CN115344121 A CN 115344121A CN 202210955382 A CN202210955382 A CN 202210955382A CN 115344121 A CN115344121 A CN 115344121A
- Authority
- CN
- China
- Prior art keywords
- scene
- gesture event
- user interface
- interface element
- predetermined gesture
- 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 39
- 238000012545 processing Methods 0.000 title claims abstract description 32
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 230000003993 interaction Effects 0.000 claims abstract description 71
- 230000004044 response Effects 0.000 claims abstract description 46
- 230000006870 function Effects 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000005266 casting Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 7
- 230000003190 augmentative effect Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 5
- 238000013515 script Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 25
- 230000002452 interceptive effect Effects 0.000 description 22
- 230000000875 corresponding effect Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
Abstract
根据本公开的实施例,提供了用于处理手势事件的方法、装置、设备和存储介质。该方法包括检测针对所呈现场景的预定手势事件。该场景包括UI元素和场景中的与UI元素不同类型的对象。该方法还包括响应于确定预定手势事件涉及至少一个UI元素和至少一个对象,从至少一个UI元素和至少一个对象中选择交互目标。该方法还包括使所选择的交互目标对预定手势事件做出响应,而至少一个UI元素和至少一个对象中除交互目标之外的其他项不对预定手势事件做出响应。由此,在UI元素和其他类型对象共存的场景中,可以明确手势事件的交互目标,从而避免潜在的交互混淆。
Description
技术领域
本公开的示例实施例总体涉及计算机领域,特别地涉及用于处理手势事件的方法、装置、设备和计算机可读存储介质。
背景技术
当前,手势已经广泛用于人机交互。另一方面,越来越多的硬件和应用被设计用来向用户呈现各种场景。例如,一些硬件和应用可以向游戏玩家呈现虚拟现实(VR)或增强现实(AR)场景,以提供沉浸式体验。这样的场景通常包括用户界面(UI)元素和与UI元素不同类型的对象,例如AR场景中的AR对象。用户可以通过手势与场景中的UI元素和对象交互。
发明内容
在本公开的第一方面,提供了一种用于处理手势事件的方法。在该方法中,检测针对所呈现场景的预定手势事件。该场景包括UI元素和场景中的与UI元素不同类型的对象。响应于确定该预定手势事件涉及至少一个UI元素和至少一个对象,从该至少一个UI元素和至少一个对象中选择交互目标。使所选择的交互目标对该预定手势事件做出响应,而至少一个UI元素和至少一个对象中除交互目标之外的其他项不对预定手势事件做出响应。
在本公开的第二方面,提供了一种用于处理手势事件的装置。该装置包括手势检测模块、目标选择模块和手势响应模块。手势检测模块被配置为检测针对所呈现场景的预定手势事件。该场景包括UI元素和场景中的与UI元素不同类型的对象。目标选择模块被配置为响应于确定预定手势事件涉及至少一个UI元素和至少一个对象,从至少一个UI元素和至少一个对象中选择交互目标。手势响应模块,被配置为使交互目标对预定手势事件做出响应,而至少一个UI元素和至少一个对象中除交互目标之外的其他项不对预定手势事件做出响应。
在本公开的第三方面,提供了一种电子设备。该设备包括至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由至少一个处理单元执行时使电子设备执行第一方面的方法。
在本公开的第四方面,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序,计算机程序可由处理器执行以实现第一方面的方法。
应当理解,本发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开的实施例能够在其中实现的示例环境的示意图;
图2示出了根据本公开的一些实施例的引擎的系统架构的示意图;
图3A示出了根据本公开的一些实施例的连续型手势的状态机;
图3B示出了根据本公开的一些实施例的离散型手势的状态机;
图4示出了根据本公开的实施例的处理手势事件的过程的流程图;
图5示出了根据本公开的一些实施例的针对场景的手势事件的示意图;
图6示出了根据本公开的一些实施例的针对场景的后续手势事件的示意图;
图7示出了根据本公开的一些实施例的用于处理手势事件的装置的框图;以及
图8示出了能够实施本公开的多个实施例的设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中示出了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“一些实施例”应当理解为“至少一些实施例”。下文还可能包括其他明确的和隐含的定义。
如上文所简要提及的,手势已广泛用于人机交互。手势系统可以包括在移动设备的输入模块中,例如iOS系统、安卓系统中的触摸手势。笔记本电脑的触摸板也可以提供丰富的手势操作。这样的触摸手势包括例如双指缩放、旋转、单指滑动等。另一方面,在操作系统中,判断点击到的UI元素,并触发对应的功能,可视为一种响应。在诸如游戏的三维(3D)场景中,选中3D物体并操控所选中的3D物体,也是一种响应。
在包括UI元素和其他类型对象的场景中,UI元素与这些对象可能以较为复杂的方式被呈现。例如,VR场景通常包括UI元素和VR对象,从观看者的角度来说UI元素与一些VR对象可能是重叠的。因此,在这种场景中,由用户发起的手势事件可能涉及包括UI元素在内的不同类型的交互对象。这就需要UI响应与对象响应的联合使用,来处理针对这种场景的手势事件。
本公开的实施例提供了一种用于处理手势事件的方案。根据本公开的各种实施例,在检测到手势事件时,判断该手势事件是否击中至少一个UI元素和至少一个对象。如果击中了至少一个UI元素和至少一个对象,则从被击中的UI元素和对象中选择该手势事件的交互目标。使所选择的交互目标对该手势事件做出响应,同时防止未选择的项对该手势事件做出响应。以此方式,在UI元素和其他类型对象共存的场景中,可以明确手势事件的交互目标,从而避免潜在的交互混淆。
图1示出了本公开的实施例能够在其中实现的示例环境100的示意图。在该示例环境100中,终端设备110可以是任意类型的移动终端、固定终端或便携式终端,包括移动电话、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、媒体计算机、多媒体平板、游戏设备、可穿戴设备、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备或者前述各项的任意组合,包括这些设备的配件和外设或者其任意组合。
在终端设备110处或者由终端设备110向用户130呈现场景150。场景150包括UI元素151、152以及不同于UI元素的其他类型的对象153、154和155。用户130可以通过预定手势与UI元素151、152以及对象153、154和155中的至少一些对象交互。在下文中,仅出于讨论的目的,将UI元素151、152和对象153、154、155统称为或单独地称为交互项。
在图1的示例中,场景150为AR场景。UI元素151是设置控件,用于设置场景150各方面的参数。UI元素152是音乐控件,用于控制场景150中音乐的播放。用户130可以通过UI元素151和152来设置场景150和控制音乐播放,因而UI元素151和152是可交互的。
对象155是真实世界中的真实对象(在该示例中是椅子)在场景150中的表示,例如是真实对象的图像或其他形式的表示。仅为了便于讨论,对象155在本文中也称为3D对象。在一些实施例中,对象155是可交互的,例如对象155的大小、方向、显示像素等可以响应于用户130的输入而改变。
对象153和154是虚拟对象,在该示例中具体为AR对象。对象153和154分别用于表示放置在椅子上的圆柱体和立方体。对象153和154是可交互的,例如对象153和154的大小、取向、颜色等可以响应于用户130的输入而改变。
在示例环境100中,从用户130(即,观看者)的视角看来,UI元素151与对象153部分重叠,并且对象153与对象154部分重叠。应当理解,场景150仅是示例性的,而无意限制本公开的范围。场景150可以包括更多或更少的UI元素和对象。
终端设备110中安装有引擎120。引擎120用于驱动场景150的呈现。在一些示例中,引擎120可以是AR游戏引擎,相应地,场景150可以是AR游戏场景。
应当理解,仅出于示例性的目的描述环境100的结构和功能,而不暗示对于本公开的范围的任何限制。终端设备110可以包括任何合适的结构和功能来实现根据本公开实施例的手势事件处理。
图2示出了根据本公开的一些实施例的引擎120的系统架构的示意图。引擎120中的手势系统205收集和管理场景150中的对象的碰撞体。碰撞体定义相应对象在场景150中的边界。例如,3D碰撞体207-1、207-2、207-3定义3D对象(诸如,对象155)和虚拟对象(诸如,对象153、154)在场景150中的边界。在下文中,3D碰撞体207-1、207-2、207-3统称为3D碰撞体207。UI碰撞体206-1、206-2、206-3定义UI元素(诸如,UI元素151、152)在场景150中的边界。在下文中,UI碰撞体206-1、206-2、206-3统称为UI碰撞体206。
引擎120中碰撞体的数目是动态变化的,随着场景150的变化而变化。如果在场景150中呈现新的UI元素或对象,则引擎120中增加对应的碰撞体,并且手势系统205可以收集和管理所增加的碰撞体。如果某个UI元素或对象不再被呈现,对应的碰撞体从引擎120中被移除。
响应系统201用于确定针对场景150的预定手势事件击中了场景150中的哪个或哪些交互项。换言之,响应系统201用于确定手势事件所涉及的交互项。
在一些实施例中,响应系统201可以将涉及的交互项进行排序。在一些示例中,可以按照这些交互项在场景150中的深度进行排序。如本文中所使用的,术语“深度”是指场景150中的交互项与场景150的观看者之间的距离。在另一示例中,可以按照这些交互项的类型进行排序。例如,与场景150中的对象相比,UI元素可以具有更高的排名。在又一些示例中,可以结合深度和类型来排序。在这种实施例中,排序最靠前的交互项可以被选择为交互目标。
在一些实施例中,响应系统201可以使用光线投射算法来确定预定手势事件所涉及的UI元素或对象。在这样的实施例中,引擎120可以包括用于投射光线的光线投射器204-1、204-2、204-3,其也统称为或单独地称为光线投射器204。
在一些实施例中,光线投射器204可以与不同类型的虚拟相机相关联,这些虚拟相机用于监测场景150中的UI元素和对象。例如,光线投射器204可以挂载在不同类型的虚拟相机下。用于监测场景150中的对象的虚拟相机也可以称为对象相机。例如,在AR场景中,对象相机又可以包括用于监测AR对象的AR相机和用于监测3D对象的3D相机。用于监测场景150中的UI元素的虚拟相机可以称为UI相机。相应地,虚拟相机所挂载的光线投射器204对应于场景150中的UI元素或对象,以用于确定相应的UI元素或对象是否被击中或选中。
光线投射器204的类型可以取决于所关联到的虚拟相机。表1列出了光线投射器204的示例属性和方法。
表1光线投射器的示例属性和方法
属性 | 方法 |
类型 | 投射对象 |
层 | 投射UI |
投射几何平面 |
表1中的属性“类型”指示光线投射器204所关联到的虚拟相机的类型。例如,“类型”的值为UI表示该光线投射器204关联到UI虚拟相机,“类型”的值为AR表示该光线投射器204关联到AR相机,等等。属性“层”指示光线投射器204所对应的UI元素或对象是否可交互。例如,如果某个光线投射器204关联到用于监测3D对象的3D相机,而该3D对象不可交互,那么该光线投射器的“层”的值可以为1。属性“方法”指示光线投射器204所采用的光线投射算法。“投射对象”、“投射UI”和“投射几何平面”分别定义向场景150中的对象、UI元素和几何平面投射光线的具体算法。
这些光线投射器204可以被响应系统201收集和管理。例如,如果场景150中呈现新的UI元素或对象,则引擎120中增加对应的光线投射器,并且响应系统201可以收集和管理所增加的光线投射器。如果某个UI元素或对象不再被呈现,对应的光线投射器可以从引擎120中被移除。
引擎120还包括用于实现各种手势的手势库202、203等。例如,手势库202可以包括缩放、旋转、敲击(Tap)等手势,手势库203可以包括滑动、屏幕边缘平移、复选标记等手势。应当理解,这些手势仅作为示例,而无意限制本公开的范围。本公开的实施例可以用于已知的手势或定制的手势。
可以采用状态机来进行手势的转换和识别。手势可以分为连续型手势和离散型手势。连续型手势可以持续触发,例如旋转手势、缩放手势等。图3A示出了根据本公开的一些实施例的连续型手势的状态机。连续型手势可以包括可能状态311、开始状态312、失败状态313、取消状态314、结束状态316和变化状态315。离散型手势只会触发一次,例如Tap手势。图3B示出了根据本公开的一些实施例的离散型手势的状态机。离散型手势可以包括可能状态321、失败状态322和结束状态323。可以根据原始的触摸事件(例如,开始、移动、结束、取消)来判断手势的状态。当判断出手势进入某个状态时,可以向手势的订阅方发送消息,来完成对应的动作。
在一些实施例中,手势库202和203中的手势可以以脚本的形式实现。这是一种轻量化的实现方式。以此方式,手势不依赖于编译和引擎120的版本,从而提高了灵活性。在一些实施例中,手势库202和203以及响应系统201可以被实现在脚本层中。手势系统205、光线投射器204、3D碰撞体207以及UI碰撞体206可以被实现在更底层中,例如代码层中。
在一些实施例中,可以利用实体-组件-系统(ECS)架构来实现引擎120。在这种实施例中,手势系统205和响应系统201可以被实现为ECS架构中的系统,3D碰撞体207、UI碰撞体206和光线投射器204可以被实现为ECS架构中的组件。利用ECS架构,可以提高引擎120的灵活性和可拓展性,从而便于定制和更改各种手势。
应当理解,仅出于示例性的目的描述引擎120的结构和功能,而不暗示对于本公开的范围的任何限制。终端设备120可以包括任何合适的结构和功能来实现根据本公开实施例的手势事件处理。在图2所描述的架构中,可以单独使用手势,也可以单独使用不同类型的交互项的响应。进一步地,如下文将详细描述的,可以联合使用手势和响应。
图4示出了根据本公开的实施例的处理手势事件的过程400的流程图。过程400可以在终端设备110处实现。为便于讨论,将参考图1的环境100和图2的架构图来描述过程400。
在框410,终端设备110检测针对所呈现场景150的预定手势事件。场景150包括UI元素151、152和对象153、154、155。预定手势事件可以由手势库202和203定义。在一些示例中,场景150可以被呈现在终端设备110的屏幕上。用户130可以通过对屏幕的触摸来发起手势事件。在另一些示例中,场景150可以被呈现在真实世界的空间中。用户130可以通过在空间做出手势,来发起手势事件。
在框420,终端设备110确定检测到的预定手势事件是否涉及至少一个UI元素和至少一个对象。换言之,终端设备110确定该手势是否击中了场景150中的至少一个UI元素和至少一个对象。如本文中所使用的,术语“涉及”是指检测到的手势击中或选中了场景中的交互项。
响应系统201可以采用任何合适的方法来确定该手势事件涉及场景150中的哪个或哪些交互项。在一些实施例中,可以基于检测到的手势事件在场景150中的位置,使用光线投射算法来确定检测到的手势事件所涉及的UI元素或对象。具体地,可以从手势事件在场景150中的位置发出光线。如果所发出的光线与某一交互项相交,则可以确定该交互项被击中。
在一些实施例中,响应系统201可以遍历与场景150中的UI元素和对象相对应的所有光线投射器204,来确定手势事件涉及的交互项。作为示例,与UI元素151相对应的光线投射器204-1与监测UI元素151的虚拟相机相关联,例如挂载在该虚拟相机下。响应系统201可以调用光线投射器204-1来确定检测到的手势事件是否击中了UI元素151。类似地,响应系统201可以调用与监测对象153的虚拟相机相关联的光线投射器204-2来确定该手势事件是否击中了对象153。
图5示出了根据本公开的一些实施例的针对场景150的手势事件510的示意图。在图5的示例中,终端设备110可以确定手势事件510击中了UI元素151和对象153,即手势事件510涉及UI元素151和对象153两者。
继续参考图4。如果在框420确定所检测到的预定手势事件涉及至少一个UI元素和至少一个对象,则过程400进行到框430。在框430,终端设备110从涉及的至少一个UI元素和至少一个对象中选择交互目标。在图5的示例中,终端设备110从UI元素151和对象153中选择手势事件的交互目标。
终端设备110可以采用各种合适的策略来选择交互目标。在一些实施例中,可以基于涉及的交互项在场景150中各自的深度来选择交互目标。例如,所涉及的交互项中具有最小深度的交互项可以被选择为交互目标。
在图5的示例中,终端设备110可以确定UI元素151和对象153在场景150中各自的深度,并且基于所确定的深度来选择交互目标。例如,UI元素151和对象153中具有较小深度的UI元素151可以被选择为交互目标。
在一些实施例中,可以基于涉及的交互项的类型来选择交互目标。换言之,交互项的交互优先级可以取决于交互项的类型。例如,UI元素可以具有最高优先级,也即,可以从所涉及的UI元素中确定交互目标,而无需考虑所涉及的对象。在这种实施例中,可以实现UI响应与其他类型响应的阻断,以实现UI界面的功能。
在一些实施例中,可以结合交互项的深度和类型两者,来选择交互目标。例如,在3D UI的情况下,一些UI元素之间可能具有不同的深度。可以从涉及的UI元素中选择深度较小的UI元素作为交互目标。
在一些实施例中,用于选择交互目标的策略是可定制的。例如,可以根据引擎120的具体应用来定制策略。在引擎120的开发过程中,可以将手势事件所涉及的交互项通知给开发者。该通知可以包括所击中的交互项、及其类型,诸如UI元素、3D对象、AR对象等。在实现光线投射器204的实施例中,可以向开发者发送消息。该消息可以指示所击中的交互项及其类型、所对应的光线投射器。响应于接收到这样的消息,开发者可以定制具体策略,例如基于深度的策略、基于类型的策略或结合深度和类型的策略,等等。
在框440,终端设备110使交互目标对预定手势事件做出响应,而至少一个UI元素和至少一个对象中除交互目标之外的其他项不对预定手势事件做出响应。也即,所涉及的交互项中未被选择的交互项将不会对该手势事件做出响应。
在一些实施例中,如果交互目标是UI元素,则终端设备110触发与UI元素相关联的功能。在图5的示例中,如果UI元素151被选择为交互目标,可以呈现与场景150的设置有关的选项。在这种情况下,对象153不会做出任何响应,即对象153不会根据该预定手势被操控。
在一些实施例中,如果交互目标是场景150中的对象,则终端设备110使该对象根据预定手势事件在场景150中被操控。在图5的示例中,如果对象153被选择为交互目标,可以根据该手势事件操控对象153。例如,该手势事件是旋转手势,可以使对象153旋转。在这种情况下,与UI元素151有关的功能不会被触发。
在一些实施例中,可以进一步实现手势和响应的串联使用。具体地,终端设备110可以检测针对场景150的在该预定手势事件之后的另一手势事件,其也称为“后续手势事件”。如果该后续手势事件涉及先前的预定手势事件所涉及的至少一个UI元素和至少一个对象,则使先前确定的交互目标对该后续手势事件做出响应。
在图5的示例中,选择UI元素151作为预定手势事件的交互目标,并且呈现了场景150的设置选项。图6示出了根据本公开的一些实施例的针对场景150的后续手势事件610的示意图。如图6所示,响应于手势事件510,选择UI元素151作为交互对象,并呈现了设置选项,例如“通用设置”、“风格设置”等。后续手势事件610仍然涉及UI元素151和对象153。在这种情况下,终端设备110触发与UI元素151相关联的功能,例如呈现“风格设置”的相关选项。对象153仍然不会被操控。
返回到框420。如果在框420确定预定手势事件涉及场景150中的多个对象而不涉及UI元素,则可以根据这些对象在场景150中的深度或其他属性来从这些对象中选择交互目标。如果在框420确定预定手势事件涉及UI元素而不涉及场景150中的对象,则可以根据这些对象在场景150中的深度或其他属性来从这些UI元素中选择交互目标。
图7示出了根据本公开的一些实施例的用于处理手势事件的装置700的示意性结构框图。装置700可以被实现为或者被包括在终端设备110中。装置700中的各个模块/组件可以由硬件、软件、固件或者它们的任意组合来实现。
如图所示,装置700包括手势检测模块710,被配置为检测针对所呈现场景的预定手势事件。场景包括UI元素和场景中的对象。装置700还包括目标选择模块720,被配置为响应于确定预定手势事件涉及至少一个UI元素和至少一个对象,从至少一个UI元素和至少一个对象中选择交互目标。装置700还包括手势响应模块730,被配置为使交互目标对预定手势事件做出响应,而至少一个UI元素和至少一个对象中除交互目标之外的其他项不对预定手势事件做出响应。
在一些实施例中,目标选择模块720包括:深度确定模块,被配置为确定至少一个UI元素和至少一个对象在场景中各自的深度;以及深度使用模块,被配置为基于深度来选择交互目标。
在一些实施例中,手势响应模块730包括功能触发模块,被配置为响应于确定交互目标是至少一个UI元素中的一个UI元素,触发与UI元素相关联的功能。
在一些实施例中,手势响应模块730包括对象操控模块,被配置为响应于确定交互目标是至少一个对象中的一个对象,使对象根据预定手势事件在场景中被操控。
在一些实施例中,手势检测模块710进一步被配置为检测针对场景的在预定手势事件之后的另一手势事件;并且手势响应模块730进一步被配置为响应于确定另一手势事件涉及至少一个UI元素和至少一个对象,使所确定的交互目标对另一手势事件做出响应。
在一些实施例中,装置700还包括:交互对象确定模块,被配置为基于检测到的预定手势事件在场景中的位置,使用光线投射算法来确定预定手势事件涉及的UI元素或对象。
在一些实施例中,光线投射算法由光线投射器实现,光线投射器与监测UI元素或对象的虚拟相机相关联。
在一些实施例中,场景包括增强现实场景,并且对象包括增强现实对象和真实世界中的真实对象在场景中的表示。
在一些实施例中,对预定手势事件的响应是利用脚本实现的。
图8示出了示出了其中可以实施本公开的一个或多个实施例的电子设备800的框图。应当理解,图8所示出的电子设备800仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。图8所示出的电子设备800可以用于实现图1的终端设备110。
如图8所示,电子设备800是通用计算设备的形式。电子设备800的组件可以包括但不限于一个或多个处理器或处理单元810、存储器820、存储设备830、一个或多个通信单元840、一个或多个输入设备850以及一个或多个输出设备860。处理单元810可以是实际或虚拟处理器并且能够根据存储器820中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高电子设备800的并行处理能力。
电子设备800通常包括多个计算机存储介质。这样的介质可以是电子设备800可访问的任何可以获取的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器820可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储设备830可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在电子设备800内被访问。
电子设备800可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图8中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器820可以包括计算机程序产品825,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施例的各种方法或动作。
通信单元840实现通过通信介质与其他计算设备进行通信。附加地,电子设备800的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,电子设备800可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
输入设备850可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备860可以是一个或多个输出设备,例如显示器、扬声器、打印机等。电子设备800还可以根据需要通过通信单元840与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与电子设备800交互的设备进行通信,或者与使得电子设备800与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。
这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。
Claims (13)
1.一种用于处理手势事件的方法,包括:
检测针对所呈现场景的预定手势事件,所述场景包括用户界面元素和所述场景中的与所述用户界面元素不同类型的对象;
响应于确定所述预定手势事件涉及至少一个用户界面元素和至少一个对象,从所述至少一个用户界面元素和所述至少一个对象中选择交互目标;以及
使所述交互目标对所述预定手势事件做出响应,而所述至少一个用户界面元素和所述至少一个对象中除所述交互目标之外的其他项不对所述预定手势事件做出响应。
2.根据权利要求1所述的方法,其中从所述至少一个用户界面元素和所述至少一个对象中选择所述交互目标包括:
确定所述至少一个用户界面元素和所述至少一个对象在所述场景中各自的深度;以及
基于所述深度来选择所述交互目标。
3.根据权利要求1所述的方法,其中使所述交互目标对所述预定手势事件做出响应包括:
响应于确定所述交互目标是所述至少一个用户界面元素中的一个用户界面元素,触发与所述用户界面元素相关联的功能。
4.根据权利要求1所述的方法,其中使所述交互目标对所述预定手势事件做出响应包括:
响应于确定所述交互目标是所述至少一个对象中的一个对象,使所述对象根据所述预定手势事件在所述场景中被操控。
5.根据权利要求1所述的方法,还包括:
检测针对所述场景的在所述预定手势事件之后的另一手势事件;以及
响应于确定所述另一手势事件涉及所述至少一个用户界面元素和所述至少一个对象,使所确定的所述交互目标对所述另一手势事件做出响应。
6.根据权利要求1所述的方法,还包括:
基于检测到的所述预定手势事件在所述场景中的位置,使用光线投射算法来确定所述预定手势事件涉及的用户界面元素或对象。
7.根据权利要求6所述的方法,其中所述光线投射算法由光线投射器实现,所述光线投射器与监测所述用户界面元素或对象的虚拟相机相关联。
8.根据权利要求1至7中任一项所述的方法,其中所述场景包括增强现实场景,并且所述对象包括增强现实对象和真实世界中的真实对象在所述场景中的表示。
9.根据权利要求1至7中任一项所述的方法,其中对所述预定手势事件的响应是利用脚本实现的。
10.一种用于处理手势事件的装置,包括:
手势检测模块,被配置为检测针对所呈现场景的预定手势事件,所述场景包括用户界面元素和所述场景中的与所述用户界面元素不同类型的对象;
目标选择模块,被配置为响应于确定所述预定手势事件涉及至少一个用户界面元素和至少一个对象,从所述至少一个用户界面元素和所述至少一个对象中选择交互目标;以及
手势响应模块,被配置为使所述交互目标对所述预定手势事件做出响应,而所述至少一个用户界面元素和所述至少一个对象中除所述交互目标之外的其他项不对所述预定手势事件做出响应。
11.根据权利要求10所述的装置,其中所述目标选择模块包括:
深度确定模块,被配置为确定所述至少一个用户界面元素和所述至少一个对象在所述场景中各自的深度;以及
深度使用模块,被配置为基于所述深度来选择所述交互目标。
12.一种电子设备,包括:
至少一个处理单元;以及
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令在由所述至少一个处理单元执行时使所述电子设备执行根据权利要求1至9中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可由处理器执行以实现根据权利要求1至9中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210955382.8A CN115344121A (zh) | 2022-08-10 | 2022-08-10 | 用于处理手势事件的方法、装置、设备和存储介质 |
PCT/CN2023/111355 WO2024032517A1 (zh) | 2022-08-10 | 2023-08-05 | 用于处理手势事件的方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210955382.8A CN115344121A (zh) | 2022-08-10 | 2022-08-10 | 用于处理手势事件的方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115344121A true CN115344121A (zh) | 2022-11-15 |
Family
ID=83951621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210955382.8A Pending CN115344121A (zh) | 2022-08-10 | 2022-08-10 | 用于处理手势事件的方法、装置、设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115344121A (zh) |
WO (1) | WO2024032517A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024032517A1 (zh) * | 2022-08-10 | 2024-02-15 | 北京字跳网络技术有限公司 | 用于处理手势事件的方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779202A (zh) * | 2011-05-11 | 2012-11-14 | 达索系统公司 | 在多个操纵器中选择对象的操纵器 |
CN109196447A (zh) * | 2016-03-31 | 2019-01-11 | 奇跃公司 | 使用姿势和多dof控制器与3d虚拟对象的交互 |
CN110785688A (zh) * | 2017-04-19 | 2020-02-11 | 奇跃公司 | 可穿戴系统的多模式任务执行和文本编辑 |
US20210263593A1 (en) * | 2020-02-26 | 2021-08-26 | Magic Leap, Inc. | Hand gesture input for wearable system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120110517A1 (en) * | 2010-10-29 | 2012-05-03 | Honeywell International Inc. | Method and apparatus for gesture recognition |
KR101872426B1 (ko) * | 2013-03-14 | 2018-06-28 | 인텔 코포레이션 | 깊이 기반 사용자 인터페이스 제스처 제어 |
US9298266B2 (en) * | 2013-04-02 | 2016-03-29 | Aquifi, Inc. | Systems and methods for implementing three-dimensional (3D) gesture based graphical user interfaces (GUI) that incorporate gesture reactive interface objects |
CN107885316A (zh) * | 2016-09-29 | 2018-04-06 | 阿里巴巴集团控股有限公司 | 一种基于手势的交互方法及装置 |
CN113486765B (zh) * | 2021-06-30 | 2023-06-16 | 上海商汤临港智能科技有限公司 | 手势交互方法及装置、电子设备和存储介质 |
CN115344121A (zh) * | 2022-08-10 | 2022-11-15 | 北京字跳网络技术有限公司 | 用于处理手势事件的方法、装置、设备和存储介质 |
-
2022
- 2022-08-10 CN CN202210955382.8A patent/CN115344121A/zh active Pending
-
2023
- 2023-08-05 WO PCT/CN2023/111355 patent/WO2024032517A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779202A (zh) * | 2011-05-11 | 2012-11-14 | 达索系统公司 | 在多个操纵器中选择对象的操纵器 |
CN109196447A (zh) * | 2016-03-31 | 2019-01-11 | 奇跃公司 | 使用姿势和多dof控制器与3d虚拟对象的交互 |
CN110785688A (zh) * | 2017-04-19 | 2020-02-11 | 奇跃公司 | 可穿戴系统的多模式任务执行和文本编辑 |
US20210263593A1 (en) * | 2020-02-26 | 2021-08-26 | Magic Leap, Inc. | Hand gesture input for wearable system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024032517A1 (zh) * | 2022-08-10 | 2024-02-15 | 北京字跳网络技术有限公司 | 用于处理手势事件的方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024032517A1 (zh) | 2024-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6185675B2 (ja) | スクリーンショットの生成 | |
US8839136B2 (en) | Method of controlling virtual object or view point on two dimensional interactive display | |
WO2019041779A1 (zh) | 终端界面切换、移动、手势处理的方法、装置及终端 | |
US11693544B2 (en) | Mobile terminal display picture control method, apparatus, and device and storage medium | |
US11683583B2 (en) | Picture focusing method, apparatus, terminal, and corresponding storage medium | |
US20210149558A1 (en) | Method and apparatus for controlling terminal device, and non-transitory computer-readle storage medium | |
US10459965B2 (en) | Method and apparatus for displaying images | |
CN110992112B (zh) | 广告信息的处理方法和装置 | |
WO2024032517A1 (zh) | 用于处理手势事件的方法、装置、设备和存储介质 | |
US20150199058A1 (en) | Information processing method and electronic device | |
US20160275917A1 (en) | Predictive pre-decoding of encoded media item | |
CN115097975A (zh) | 用于控制视角转换的方法、装置、设备和存储介质 | |
US10346033B2 (en) | Electronic device for processing multi-touch input and operating method thereof | |
CN109358927B (zh) | 应用程序显示的方法、装置及终端设备 | |
WO2024032516A1 (zh) | 用于虚拟对象的交互方法、装置、设备和存储介质 | |
CN115730092A (zh) | 用于内容呈现的方法、装置、设备和存储介质 | |
CN115100359A (zh) | 图像处理的方法、装置、设备和存储介质 | |
CN115079921A (zh) | 用于控制场景信息加载的方法、装置、设备和存储介质 | |
CN107077272B (zh) | 响应于用户动作而确定启用直接操纵的命中测试 | |
CN110825280A (zh) | 控制虚拟物体位置移动的方法、装置和计算机可读存储介质 | |
CN111782113B (zh) | 显示方法、装置和计算机可读存储介质 | |
CN117234374A (zh) | 交互控制方法、装置、设备和存储介质 | |
CN116069754A (zh) | 一种文件存储方法、装置、电子设备及存储介质 | |
CN117827068A (zh) | 交互控制方法、装置、设备和存储介质 | |
CN115393558A (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 |