CN116963810A - 无标记边台抓握 - Google Patents

无标记边台抓握 Download PDF

Info

Publication number
CN116963810A
CN116963810A CN202280020245.3A CN202280020245A CN116963810A CN 116963810 A CN116963810 A CN 116963810A CN 202280020245 A CN202280020245 A CN 202280020245A CN 116963810 A CN116963810 A CN 116963810A
Authority
CN
China
Prior art keywords
recess
virtual character
obstacle
lip
identifying
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
CN202280020245.3A
Other languages
English (en)
Inventor
L·蒂明斯
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.)
Bungie Inc
Original Assignee
Bungie Inc
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 Bungie Inc filed Critical Bungie Inc
Publication of CN116963810A publication Critical patent/CN116963810A/zh
Pending legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Dental Preparations (AREA)

Abstract

本文描述了用于对虚拟空间内的障碍物进行动态边台检测的技术。这样的技术可以包括识别位于虚拟空间内的虚拟角色附近的至少一个障碍物,识别该障碍物上实质上垂直于与该虚拟角色相关联的行进向量的至少一个表面;在该至少一个表面上识别凹部,该凹部包括唇缘和该唇缘上方的缩回区域;至少部分基于该缩回区域的一个或多个性质来确定该凹部是边台;以及在该唇缘处生成锚点,该锚点被配置为使得能够在该虚拟角色与该凹部之间进行一个或多个交互。

Description

无标记边台抓握
背景技术
游戏是大部分人喜爱的消遣方式。随着游戏的不断普及,游戏开发者不断寻找新的方法来使游戏变得有趣和具有娱乐性。此类游戏开发者最近的一种做法是允许玩家设计其自己的关卡(例如,通过地图编辑器等)。虽然这可以让玩家体验到其他玩家已经创建的各种内容,但内容创建者往往缺乏关卡设计经验,而且可能没有对其内容进行适当审核。因此,已经由独立内容创建者创建的内容可能会导致可能归因于底层游戏的问题。
发明内容
本文提供了用于检测和标记边台以供虚拟角色使用的技术。这些技术使得能够在地图正播放时动态检测和标记游戏地图内的边台。这样的技术可以实现错误减少(尤其是在实施用户生成地图时)以及虚拟角色能力的更大定制化。
在一个实施例中,公开了一种由用户设备执行的方法,所述方法包括:识别位于虚拟空间内的虚拟角色附近的至少一个障碍物;识别所述障碍物上实质上垂直于与所述虚拟角色相关联的行进向量的至少一个表面;在所述至少一个表面上识别凹部,所述凹部包括唇缘和所述唇缘上方的缩回区域;至少部分基于所述缩回区域的一个或多个性质来确定所述凹部是边台;以及在所述唇缘处生成锚点,所述锚点被配置为使得能够在所述虚拟角色与所述凹部之间进行一个或多个交互。
一实施例涉及一种计算系统,包括触摸屏显示器、处理器;以及包括指令的存储器,所述指令当用处理器执行时使计算设备:至少识别位于虚拟空间内的虚拟角色附近的至少一个障碍物;识别所述障碍物上实质上垂直于与所述虚拟角色相关联的行进向量的至少一个表面;在所述至少一个表面上识别凹部,所述凹部包括唇缘和所述唇缘上方的缩回区域;至少部分基于所述缩回区域的一个或多个性质来确定所述凹部是边台;以及在所述唇缘处生成锚点,所述锚点被配置为使得能够在所述虚拟角色与所述凹部之间进行一个或多个交互。
一实施例涉及一种共同地存储计算机可执行指令的非瞬态计算机可读介质,所述计算机可执行指令在执行时使一个或多个计算设备共同地执行包括以下操作的动作:识别位于虚拟空间内的虚拟角色附近的至少一个障碍物;识别所述障碍物上实质上垂直于与所述虚拟角色相关联的行进向量的至少一个表面;在所述至少一个表面上识别凹部,所述凹部包括唇缘和所述唇缘上方的缩回区域;至少部分基于所述缩回区域的一个或多个性质来确定所述凹部是边台;以及在所述唇缘处生成锚点,所述锚点被配置为使得能够在所述虚拟角色与所述凹部之间进行一个或多个交互。
当参考以下说明书、权利要求书和附图时,前述内容以及其他特征和实施例将变得更加明显。本专利所涵盖的本发明的实施例由权利要求书而不是本发明内容来定义。本发明内容是本发明的各个方面的高级概括并且介绍了在下面的具体实施方式部分中进一步描述的概念中的一些。本发明内容并不旨在识别所要求保护的主题的关键或基本特征,也不旨在被单独使用来确定所要求保护的主题的范围。应通过参考本申请的整个说明书的适当部分、任何或所有附图以及每项权利要求来理解主题。
附图说明
详细说明是参照附图来阐述的。在附图中,附图标记的(一个或多个)最左边数字标识该附图标记首次出现的附图。在不同的附图中使用相同的附图标记指示相似或相同的项目或特征。
图1是简化的系统图,其说明了根据本公开的各种实施例的可以使用虚拟控制器的服务环境;
图2A示出了简单情况,其中,边台围绕比虚拟角色大的立方体顶部延伸;
图2B示出了根据至少一些实施例的简单边缘检测情况;
图2C示出了根据一些实施例的更复杂的结构,其中,边缘检测在某些区域内是可能的;
图2D聚焦于根据一些实施例的更复杂结构的其他区域;
图2E聚焦于根据一些实施例的未检测到边台的更复杂结构的第一组区域;
图2F聚焦于根据一些实施例的未检测到边台的更复杂结构的第二组区域;
图3是示出计算系统架构的各组件的框图,该架构支持根据实施例实施无标记边台识别;
图4描绘了根据实施例的识别障碍物上的边台的过程的图解;
图5描绘了根据实施例可以识别的示例边台的图解;
图6描绘了框图,其说明了根据一些实施例的动态地检测和标记障碍物上的边台的过程;
图7描绘了根据实施例的执行窗台检测的示例过程流;并且
图8描绘了流程图,其示出了根据实施例的动态促进虚拟角色与边台之间的交互的示例过程流。
具体实施方式
在下面的描述中,将描述各种实施例。为便于解释,将阐述具体的配置和细节,以便提供对实施例的透彻理解。然而,对于本领域技术人员来说还将显而易见的是,这些实施例可以在没有具体细节的情况下实践。此外,众所周知的特征可以省略或简化,以免模糊所描述的实施例。
本文的实施例涉及用于检测内容内的几何结构的方法和系统。特别是,本文所描述的方法和系统是针对检测和/或分类“边台”-3d虚拟角色可与之交互(例如,附着在其上并防止掉落)的关卡几何体正交块。这些方法允许“边台”检测,而无需对什么构成边台进行明确的内容标记-换句话说,允许内容创建者在游戏关卡中放置任意的3d几何体,同时知道系统将检测3d虚拟角色可以保持在什么几何体上,而无需在大多数(如果不是全部)现有游戏平台上进行所需的特殊标记。这些方法还包括边台检测和检测玩家附着在边台上的意图的方法。
与传统系统相比,本公开的实施例提供多个优点。在游戏中,3D虚拟角色(在重力的影响下)想要跳过坑或跳上高架平台,一个常见的问题是其很容易“跳跃失误”。玩家可能会跳得太早,或者跳得不够高,从而导致令人沮丧的体验,其中,玩家勉强没有跳到平台顶端,而是用其脚撞到墙壁-滑下摔死。
为了解决这个问题,许多游戏实施“边台系统”,其允许玩家的虚拟角色在其跳跃“失误”时“悬挂”或“附着”在边台上。内容创作者在制作关卡时的挑战是,他们往往希望快速尝试不同的关卡几何体(平台高度、坑洞、墙壁角度),以使得不同高度和能力(奔跑速度、跳跃高度等)的虚拟角色在四处奔跑和跳跃时都能够获得愉快的平台体验。虽然人类可以轻松地说“几何体的该交叉部是边台,虚拟角色应该抓住它”,但要让算法能够识别任意3d几何体并知道虚拟角色何时安全地抓住它却并非易事。大多数游戏通过强制内容创建者“标记”旨在由虚拟角色抓取的几何体来解决这个问题。但这样做很费时间,并且关卡几何体的任何变化都能够导致标记失效(例如,移动一立方体可能会遮住被标记为“边台”的区域)。在无标记的情况下工作的解决方案更为优选。此外,玩家希望控制他们的虚拟角色何时“抓住”边台。
本公开的实施例提供了对虚拟空间中的障碍物上的边台的动态检测。换句话说,本公开涉及一种系统,该系统能够识别各种对象/障碍物上的边台,这些边台可以与虚拟角色进行交互,而不需要事先对边台进行标记。与需要标记的系统相比,这种系统的优点在于,即使是相对新手的用户也能参与关卡的生成。此外,通过动态检测和标记边台,系统还能定制游戏体验。例如,每个虚拟角色的属性可以用于识别和标记边台,使得可以为每个虚拟角色动态映射不同的边台。在该示例中,可以针对较小的虚拟角色识别较浅的凹部,而可以针对较高的虚拟角色识别较高的凹部。以这种方式,该系统提供比传统系统更多得多的自定义游戏设定,即使是两个不同的人玩相同地图。
图1是简化的系统图,其说明了根据本公开的各种实施例的可以使用虚拟控制器的服务环境100。服务环境100包括至少一个服务器101,其包括至少一个处理器103和非瞬态存储器105,非瞬态存储器105存储用于促进服务环境的操作的软件指令。服务器101通过网络121(例如因特网或本地网络)与任何适当数量的用户所有客户端设备133、143连接,这些客户端设备通常与各自的本地用户网络131、141(例如消费者或商业局域网、WIFI网络等)一起运行。
服务器101还可以连接到任何适当数量的控制服务111,例如,具有其自己的处理器113和存储器115的网络连接计算系统,这些系统监测服务器101和客户端设备133、143之间的网络往来。在一些实施例中,服务器101可以是以商业规模运行的一个或多个服务器,例如数据中心或服务器场。客户端设备133、143可以包括但不限于消费者个人计算机、视频游戏机、可操作于从服务器101流式传输视频内容以在本地屏幕上呈现的瘦客户端设备,或诸如智能手机、平板电脑等移动设备。客户端设备133、143可以连接到任何适当数量的控制器,例如控制器135、137、145、147。
每个控制器(例如,控制器135)可以是硬件设备(例如,控制台专用控制器、交叉兼容控制器或虚拟控制器),其具有用于与其各自的客户端设备133通信的连接硬件和协议。根据一些实施例,控制器135可以是在瘦客户端设备或触摸屏设备上运行的虚拟化控制器,例如,在触摸屏智能手机、平板电脑或具有触摸使能面板的控制台样的控制器上模拟的控制器。根据一些另外的实施例,例如,在客户端设备133是瘦客户端设备或移动设备的情况下,控制器135可以是客户端设备内置的具有虚拟控制功能的触摸屏。备选地,即使在客户端设备133是瘦客户端设备的情况下,控制器135也可以是硬件控制器,该硬件控制器被配置为与客户端设备物理连接或无线连接。根据一些实施例,客户端设备133和服务器101可以在相同的硬件上运行,例如,客户端设备作为虚拟实例在服务器上运行。
本文所描述方法可在客户端设备上与服务环境结合实施,诸如图1中描述的服务环境100。这些方法还可以在屏幕上任意放置虚拟控制器的背景下使用,该虚拟控制器控制虚拟角色的朝向和移动两者。
为清楚起见,图1中示出了一定数量的组件。然而应理解,本公开的实施例可以包括一个以上的每种组件。此外,本公开的一些实施例可以包括少于或多于图1所示的所有组件。此外,图1中的组件可以通过任何合适的通信介质(包括因特网)使用任何合适的通信协议进行通信。
图2描绘了环境200的说明性示例,在该环境中可以根据实施例实施边台检测。图2A-图2F示出了可检测和不可检测边台的说明性示例。
图2A示出简单情况200a,其中,边台201围绕比虚拟角色202大的立方体顶部延伸。立方体具有平坦顶部和垂直壁。
图2B示出了根据至少一些实施例的简单边缘检测情况。在本示例中,立方体具有平坦顶部,这使得如果可能则虚拟角色202可攀爬。因此,在本示例中,立方体的侧面中的每个将被确定为边台。
图2C示出了更复杂的结构,其中,根据一些实施例,在某些区域内进行边缘检测是可能的。在图2C中,在区域203中进行边缘检测是可能的。如所描绘的,在区域203中,结构顶部可能是平坦的,从而允许在该区域内检测边缘。
图2D聚焦于根据一些实施例的更复杂结构的其他区域。如图2D所示,结构中没有边台的部分(例如,204)不可检测为边台。
图2E聚焦于根据一些实施例的未检测到边台的更复杂结构的第一组区域。如图2E所示,结构中具有垂直表面(例如,205)的过大角度的部分无法检测为边台。
图2F聚焦于根据一些实施例未检测到边台的更复杂结构的第二组区域。如图2F所示,结构中水平面角度过大的部分(例如,206)无法检测到边台。
边台检测过程可以从查看玩家的输入向量(而不是玩家的虚拟角色的朝向向量)开始。这允许系统确定玩家的意图(例如,“玩家是否在使用他们的控制器指向可能边台的方向?”)而不仅仅是过去动作的结果。接下来,系统查看玩家的虚拟角色的速度,并确定其上升速度是否小于特定阈值(例如,“玩家的虚拟角色是否处于或超过了其跳跃的顶点?”)。
然后,系统可以进行碰撞检查(例如球形碰撞测试),从玩家的虚拟角色位置开始,并且到玩家的输入的方向的指定距离结束(“虚拟角色和玩家想要移动的方向之间是否有实体”)。如果系统识别某物(“壁”),系统就会查看碰撞点的位置,并测试输入向量和从虚拟角色到壁撞击位置的向量之间的角度(“仅查找与在输入向量的方向上的壁,不查找可能与虚拟角色的位置正交的壁”)。接下来,系统可能会针对容限测试壁撞击法线的角度(“这个壁面是否太陡而不能被视为壁?”)。如果发现的壁通过了这些测试,系统就会运行第二次扫掠球碰撞检查,这次会将碰撞检查的起始位置(最初是玩家的虚拟角色位置)和不协调壁碰撞点两者向下偏移少量。该第二次碰撞检查确保壁面足够大,以便系统将其视为壁。系统可以针对该新的壁位置运行与之前相同的坠落面测试。
如果第二次碰撞检查和坠落面测试通过,则系统可以运行最终碰撞测试(例如,扫掠球),从我们的初始壁碰撞点上方的高点开始并且向下移动。这允许系统找到边台的“顶部”。系统可能测试撞击位置的法线,以查看高架部是否过于陡峭而无法抓住。如果所有这些测试都通过了,则系统会为我们的3d虚拟角色建立“锚点”以“附着”在墙上。该点是基于虚拟角色的3d尺寸定制的。作为最终测试,系统可能会从锚点到地面进行射线测试,以确保有足够的距离,因为系统可能希望防止“短边台”被抓住。有利的是,这些方法允许系统以任意取向处理由任意3d对象(立方体、斜坡、壁等)组成的关卡,并检测玩家可能希望用他们的虚拟角色抓住的边台。
图3是示出计算系统架构的各组件的框图,该架构支持根据实施例的无标记边台识别的实施。系统架构可包括至少一个控制器302。在一些实施例中,控制器302可以与一个或多个服务器304通信,服务器304可以是如关于图1所描述的服务器101的示例。在一些实施例中,一个或多个服务器101可以为控制器302提供后台支持。例如,在一些情况下,如由控制器302执行的处理的至少一部分可以代替地由服务器101执行。在一些实施例中,控制器302可以与客户端设备306通信。客户端设备306可以是客户端设备133或143的示例,如上面关于1所述的。在一些实施例中,客户端设备306可以与显示器330进一步通信。本文所述的组件中的每个都可以通过网络310上的连接进行通信。
控制器302可以包括任何合适的计算设备,该计算设备被配置为执行本文所描述的操作的至少一部分并且被配置为使得用户能够与软件应用程序进行交互。在一些实施例中,控制器可以是具有触摸屏功能的移动设备(例如智能手机或平板电脑)。
服务器304可以包括任何被配置为执行归属于其的操作的至少一部分的计算设备。服务器304可以由一台或多台通用计算机、专用服务器计算机(举例来说包括PC(个人计算机)服务器、服务器、中型服务器、大型计算机、机架式服务器等)、服务器场、服务器集群或任何其他适当的布置和/或组合组成。服务器304可以包括一个或多个运行虚拟操作系统的虚拟机,或其他涉及虚拟化的计算架构,诸如一个或多个灵活的逻辑存储设备池,这些设备可以被虚拟化以维护计算机的虚拟存储设备。例如,服务器304可以包括虚拟机形式的虚拟计算设备或托管在云中的软件容器。
客户端设备306可以包括任何合适的计算设备,这些设备被配置为接收来自控制器302的输入并根据该输入执行操作。在一些实施例中,客户端设备可以是游戏系统,例如可以接收来自多个控制器的输入的游戏控制台,其中每个控制器可用于控制软件应用程序(例如计算机游戏)中的虚拟角色或角色。应该注意,在一些情况下,客户端设备306也可以是控制器302。例如,在执行移动游戏时,移动电话既可以充当客户端设备,也可以充当控制器。
如上所述,系统架构能够使用本文所描述的各种技术支持无标记边台识别的实施。这些技术可以在控制器302、服务器304或客户端设备306的任意组合上实施。因此,本文会将技术描述为在用户设备308上实施。本领域技术人员将认识到,这样的用户设备可以包括控制器302、服务器304或客户端设备306中的一个或多个,如所描绘的。
用户设备308可以包括通信接口312、一个或多个处理器314、存储器316和硬件318。通信接口312可包括无线和/或有线通信组件,其使得控制器302能够向其他联网设备传输数据和从其他联网设备接收数据。硬件318可以包括额外的用户接口、数据通信或数据存储硬件。例如,用户接口可以包括至少一个输出设备320(例如,视觉显示器、音频扬声器和/或触觉反馈设备),以及一个或多个数据输入设备322。数据输入设备322可以包括但不限于小键盘、键盘、鼠标设备和/或接受手势的触摸屏、麦克风、声音或语音识别设备以及任何其他合适设备中的一个或多个的组合。
存储器316可以使用计算机可读介质(例如,计算机存储介质)来实施。计算机可读介质至少包括两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实施的任何合适的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、DRAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字多功能光盘(DVD)或其他光存储、盒式磁带、磁带、磁盘存储设备或其他磁存储设备,或可用于存储供计算设备访问的信息的任何其他非传输介质。相反,通信介质可以体现计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据,例如载波或其他传输机构。
控制器的一个或多个处理器314和存储器316可以实施包括一个或多个软件模块和数据存储的功能。此类软件模块可以包括由处理器314执行的例程、程序指令、对象和/或数据结构,以执行特定任务或实施特定数据类型。更具体地说,存储器316可以包括模块,该模块被配置为识别和/或分类障碍物上的边台,以便促进这些障碍物与虚拟角色之间的交互(例如,边台检测模块324)。
此外,存储器316可以包括各种数据存储。例如,存储器316可以保存关于虚拟角色的一个或多个属性的数据(例如虚拟角色数据326)以及关于包括一个或多个障碍物的区域布局的数据(例如,地图数据328)。
边台检测模块324可以被配置为与处理器314结合在游戏地图内的障碍物上识别出一个或多个能够与虚拟角色交互的边台。在一些情况下,游戏地图可以是用户生成的地图。在一些实施例中,这涉及基于虚拟角色的当前轨迹和/或预期轨迹(例如,如基于接收到的输入向量确定的)以及一个或多个障碍物位置来检测虚拟角色与一个或多个对象之间的潜在碰撞。
在检测到虚拟角色与障碍物之间的潜在碰撞时,边台检测模块324可以被配置为动态地识别和标记该障碍物上虚拟角色可能与之交互的一个或多个边台。这可能首先涉及到确定障碍物的表面是否相对垂直于向量,在该向量处,虚拟角色将与该表面进行碰撞。如果表面相对垂直于虚拟角色的移动,那么边台检测模块324就可以被配置为基于识别该表面向后延伸的部分来识别该表面中的一个或多个凹部。如果识别了一个或多个凹部,则边台检测模块324可以被配置为基于凹部的定位以及凹部上方区域的角度确定凹部是否为边台。在识别出边台时,边台检测模块324可以被配置为标记该边台(例如,通过锚点),以便使得虚拟角色能够与该边台进行交互(例如,悬挂或爬上)。
图4描绘了根据实施例的识别障碍物边台的过程的图解。该过程400可以在用户设备上执行,在该用户设备上已经实施了虚拟物理控制器,诸如,如上面参考图3所描述的控制器302。
在过程400中,可以做出对虚拟角色402的行进路径与障碍物404重合的确定。在一些情况下,可以基于与虚拟角色的当前轨迹相关联的向量来确定行进路径。在一些情况下,可以基于与用户提供的输入相关生成的输入向量来确定行进路径。例如,用户可以通过方向键指示虚拟角色行进的速度和方向。然后,可将包括沿行进路径的位置的区域与障碍物数量进行比较,以确定障碍物是否(至少部分)位于该区域内。在确定一个或多个障碍物至少部分位于该区域内时,可以检测到即将与该障碍物发生碰撞。在一些实施例中,为了减少计算需求,可以只检查位于虚拟角色的预定距离内的障碍物是否即将发生碰撞。在这些实施例中的一些中,可以基于虚拟角色的当前速度来确定预定距离。例如,与以较低速度行进的虚拟角色相比,对于以较高速度行进的虚拟角色可对较远距离处的障碍物进行碰撞检查。
在检测到即将与障碍物404发生碰撞时,可以针对边台来检查该障碍物的一个或多个表面。在一些实施例中,可在虚拟角色与障碍物之间的预测碰撞点的一些预定距离内检查障碍物的一个或多个表面。在一些实施例中,这样的检查可以从识别角度406开始,在该角度处,虚拟角色可能会撞击对应于障碍物的表面的平面,其相对于与虚拟角色的行进方向相关联的向量408。在这种检查中,可以做出关于该角度是否在预定角度范围内的确定。例如,可以做出关于角度406是否在向量408的法线的正负10度内的确定。换句话说,可以做出关于角度406是否在80度和100度之间的确定。在一些实施例中,表面可以是不平整的,检查角度406的平面可以对应于该表面的平均垂直度。
在做出对角度406在阈值角度范围内的确定时,边台检测过程可以通过识别该表面上的一个或多个凹部410来进行。凹部可以被识别为表面上的唇缘,在该唇缘上方,该表面缩回阈值量(例如,该表面缩回到或超过预定角度)。在一些实施例中,仅当该表面在水平距离上缩回的预定量超过在垂直方向上缩回的距离量时,表面的一部分才可以被识别为凹部。在一些实施例中,潜在的凹部需要缩回的水平距离量被视为凹部可能取决于多种因素。例如,水平距离量可能取决于虚拟角色的尺寸,使得相比于针对较大的虚拟角色,针对较小的虚拟角色,凹部更有可能被识别。
在一些实施例中,为了减少例如所需的计算量,针对凹部可以仅检查高度范围412内的表面的一部分。在这样的情况下,该范围可以包括:垂直最小高度,在该垂直最小高度之下不针对凹部检查表面;以及垂直最大高度,在该垂直最大高度之上不针对凹部检查表面。在一些实施例中,高度范围412的一个或多个值取决于与虚拟角色相关联的因素。例如,高度范围412的垂直最小高度和/或垂直最大高度可以取决于与虚拟角色相关联的高度和/或可达值。以这种方式,就可以为较高的虚拟角色而不是较矮的虚拟角色在表面上识别较高的凹部。
一旦一个或多个凹部已经被识别为潜在的边台,就可以做出关于凹部是否为边台的确定。在一些实施例中,这涉及到确定凹部相对于表面的上方区域的角度414是否在预定范围内。在该示例中,当且仅当凹部上方区域相对于表面的垂直部分的角度在85度和95度之间时,凹部才可被确定为边台。在一些实施例中,如果凹部上方的区域从障碍物的表面向后至少延伸了阈值距离416,则可以确定凹部是边台。在一些实施例中,阈值距离416可以取决于虚拟角色的一个或多个方面。例如,阈值距离416可以取决于与虚拟角色相关联的宽度。在一些实施例中,边台上方的区域可以包括边台上方的空间的体积,使得该空间中包括的障碍物可能会影响凹部是否应该被视为边台。一旦识别到边台,就可以将锚点附接到该边台,使得虚拟角色能够通过锚点与边台进行交互。
在一些实施例中,可将识别出的边台分类为特定类型的边台。在一些情况下,边台的高度418(例如,边台与“地面”的距离)可以用于对边台进行分类。例如,如果边台的高度高于阈值高度值,则边台可分类为悬挂式边台,而如果边台的高度低于阈值高度值,则边台可分类为攀爬式边台。在一些实施例中,边台的分类还可以取决于阈值距离416。例如,如果边台上方的区域短于阈值距离416,则边台可分类为悬挂式边台,而如果边台上方的区域长于阈值距离416,则边台可分类为攀爬式边台。在实施例中,虚拟角色与边台的交互可能取决于边台的分类。例如,当虚拟角色接近边台时,如果边台是悬挂式边台,则可以使得虚拟角色执行悬挂动作;或者如果边台是攀爬式边台,则可以使得虚拟角色执行攀爬动作。
图5描绘了根据实施例可以识别的示例性边台的图解。特别是,图5描绘了边台,其是虚拟角色502可能从其上掉落的边台。
如所描绘的,虚拟角色502与指示虚拟角色当前行进的方向的行进向量504相关联。在本示例中,边缘506可被检测为接近虚拟角色(例如,在虚拟角色的阈值距离内)的障碍物。边缘506(即障碍物)可以与至少一个表面508相关联。在一些实施例中,一旦虚拟角色已经越过该边缘或当预测虚拟角色在不久的将来越过该边缘时,可以检测到该边缘。
在一些实施例中,可以做出关于行进向量504和至少一个表面508之间的角度510是否在某个角度范围内的确定。例如,可以做出关于以下的确定:角度510是否相对垂直,其中,行进向量相对于表示至少一个表面的平面成九十度角或在九十度角的特定预定范围内。在一些实施例中,还可以做出关于角度512是否在特定阈值范围内的确定。例如,如果边缘上方的表面相对水平(如与地平面基本对齐),则可将边缘视为边台。
如所描绘的,在本示例中所描述的情况下,边台可以位于虚拟角色的脚下或虚拟角色下方。此外,这样的边台可以位于虚拟角色后面。在检测到这样的边台后,虚拟角色就可以使用一个或多个专属于这样的边台的动作。例如,在接收到与放置在这种边台上的锚点进行交互的指令后,可使虚拟角色在他或她下落时旋转并抓住边台。
图6描绘了框图,其说明了根据一些实施例的动态检测和标记障碍物上的边台的过程。示例性过程600(或本文所述的任何其他过程,或其变体和/或组合)的一些或全部可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并可以被实施为代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)。过程600可以由任何合适的设备执行,包括但不限于图3中所示的用户设备308。
在602处,过程600涉及监测被控制对象(例如虚拟角色)的路径上检测到的障碍物。对象的路径可以是根据对象的当前轨迹、接收到的用户输入或两者的一些组合确定的向量。在一些实施例中,如果与对象路径相关联的向量与对象的当前位置重合或重叠,则可以确定一个或多个障碍物位于对象的路径中。在一些实施例中,可以检查(例如定期检查)对象的预定距离内的每个障碍物,以确定其是否位于对象的路径中。如果做出对障碍物位于与路径重合的位置处的确定,则在604处检测到障碍物位于对象路径内。
在606处,该过程涉及确定对象与障碍物的撞击角度是否在阈值界限内。特别是,可以做出关于对象行进的向量是否与表示障碍物表面的平面基本垂直的确定。要被视为相对垂直,对象行进的向量应该与该表面形成90度角,再加上或减去预定义阈值方差。例如,如果对象行进的向量将以直角的正负10度(例如,80度至100度)撞击对象的表面,则撞击角度可以被视为与该表面基本正垂直。在该示例中,如果确定对象行进的向量可能会以85度角撞击障碍物的表面,则确定撞击角度基本垂直(即在阈值界限内)。在确定撞击角度不在阈值界限内时(例如,来自606的“否”),可以对确定在行进路径中的每个障碍物重复过程600。如果没有检测到其他障碍物,则过程可返回到602处的障碍物监测。
在确定撞击角度在阈值界限内(例如,来自606的“是”)时,过程600可以涉及在608处检测一个或多个凹部。在一些实施例中,这涉及分析障碍物表面的几何结构,以检测表面缩回的一个或多个表面分段。在一些实施例中,可以只针对在预定垂直距离上缩回至少一些阈值水平距离的表面的一部分检测凹部。在实施例中,凹部可以至少包括沿表面的一部分延伸的唇缘和唇缘上方的缩回区域,该区域在水平方向上缩回至少一些预定距离。
在610处,过程600可能涉及确定凹部上方的区域的角度是否在适当角度的阈值界限内。例如,可以做出对该区域的角度相对水平(即与地面平行延伸)的确定。在该示例中,适当的角度可能是与表面(例如,在凹部的唇缘处)大约90度的角度,或者在与表示虚拟空间的地平面的“地板”平行延伸的平面的10度以内的角度。在确定凹部上方的区域的角度不在阈值界限内(例如来自610的“否”)时,可对障碍物上检测到的每个凹部重复过程600。如果没有检测到其他凹部,则过程可以返回到602处的障碍物监测。
在确定凹部上方的区域的角度在阈值界限内(例如,来自610的“是”)时,过程600可以在612处前进到将凹部分类为边台。在一些实施例中,该过程还可以将边台分类为特定类型的边台。例如,可以根据凹部的一个或多个属性将边台分类为可攀爬式边台或可悬挂式边台。在一些实施例中,这可能涉及计算边台上方的开放区域,并且确定这样的区域是否可以支撑虚拟角色(例如,基于边台和虚拟角色的宽度和高度)。在一些情况下,这可能还涉及确定是否任何其他障碍物位于凹部上方。
一旦凹部已经被分类为边台(并且在一些情况下被分类为特定类型的边台),过程600可以涉及在614处为边台生成锚点。锚点是虚拟角色可与之交互的位置标记。特别是,为边台生成的锚点可以使得虚拟角色在锚点处执行与边台相关的动作。在一些实施例中,可以沿凹部的唇缘以不同的间隔定位多个这样的锚点。因此,当虚拟角色接近锚点时,该锚点就会被检测到,并且虚拟角色就可以执行与该锚点相关联的任何动作。
应当注意,由虚拟角色相对于特定锚点执行的动作可能基于虚拟角而变化。在一些实施例中,由过程600用于检测和分类边台的信息可能基于虚拟角色的属性而变化。例如,较大的虚拟角色可能需要在凹部上方有较大的区域以便将凹部分类为边台。以这种方式,不仅可以在玩家游戏时动态地执行边台检测,而且可以不同地基于虚拟角色的属性/能力使地图对这些虚拟角色做出不同的响应。
图7描绘了根据实施例的执行边台检测的示例过程流700。过程700可以由任何合适的设备执行,包括但不限于图3中所示的用户设备308。
根据各种实施例,过程700包括由游戏系统在701处接收与玩家输入的方向相对应的输入向量,其被配置为控制玩家的虚拟角色在虚拟空间中的移动。然后,系统基于输入向量在虚拟角色的初始位置和玩家输入方向上的指定距离处进行第一碰撞检查,以确定在702处玩家输入方向上存在壁。响应于确定在玩家输入方向上存在壁,在输入向量和从虚拟角色到沿着壁的撞击位置的向量之间进行角度检查,以确定虚拟角色将在703处撞击壁。响应于确定虚拟角色将撞击壁,在304处对壁沿着壁的撞击位置的垂直角度进行容差测试,以确定壁的陡度在预定义范围内。响应于确定壁的陡度在预定义范围内,系统将玩家虚拟角色的起始位置向下偏移,并将撞击位置向下偏移,以进行第二碰撞检查,从而在705处确定撞击位置处的壁高度超过最小高度。响应于确定壁的高度超过最小高度后,系统会进行第三碰撞检查,从撞击位置上方的高点开始向下移动,以在706处识别与撞击位置相对应的边台顶部。在707处,当边台的顶部已经被识别时,计算边台顶部的法线,以确定边台的角度是否在支持闩锁的预定义可接受角度范围内。如果边台的角度在预定义可接受角度范围内,系统就会在708处生成锚点,以用于将虚拟角色附着在边台顶部处的壁上。
图8描绘了流程图,其示出了根据实施例的动态促进虚拟角色与边台之间交互的示例过程流800。过程800可以由被配置为基于用户输入生成激活数据的计算设备执行。例如,过程800可由能够促进用户与软件应用程序之间交互的控制器(诸如上文参考图3所述的控制器302)执行。在一些实施例中,这样的软件应用程序是用户玩的视频游戏。
在802处,过程800包括识别在虚拟空间内接近虚拟角色定位的至少一个障碍物。在一些实施例中,虚拟角色是由用户设备的用户控制的对象(例如,角色)。在实施例中,对虚拟角色附近(例如在预定距离内)的所有障碍物进行碰撞检查,以识别至少一个障碍物。在一些实施例中,虚拟空间包括在视频游戏中实施的虚拟地图,例如用户生成的游戏地图。在一些实施例中,障碍物是虚拟角色可能从其上掉落的边缘,障碍物上的至少一个表面包括沿着边缘的表面。
在804处,过程800包括识别障碍物上的至少一个表面,该表面与与虚拟角色相关联的行进向量基本垂直。在一些实施例中,行进向量与虚拟角色的当前轨迹相关联。在一些实施例中,行进向量与根据从用户接收的信息生成的输入向量相关联。如果至少一个表面与行进向量之间的角度落在预定值范围内,则可确定至少一个表面与行进向量基本垂直。
在806处,过程800包括在至少一个表面上识别凹部,凹部包括唇缘和唇缘上方的缩回区域。在一些实施例中,该凹部因在高度范围内而在至少一个表面上被识别。在这些实施例中的至少一些中,高度范围包括垂直最小高度和垂直最大高度。
在一些实施例中,过程800还包括确定凹部的高度,其中,如果高度大于阈值高度,则确定凹部为边台。在这样的实施例中,阈值高度可以基于与虚拟角色相关联的高度值来确定。
在808处,过程800包括至少部分地基于缩回区域的一个或多个性质确定凹部是边台。在一些实施例中,缩回区域的一个或多个性质包括缩回区域相对于至少一个表面的至少一个角度。
在810处,过程800包括在唇缘处生成锚点,该锚点被配置为使得能够在虚拟角色和凹部之间进行一个或多个交互。在一些实施例中,过程800还包括至少部分基于缩回区域的一个或多个额外性质对凹部进行分类。在这些实施例中,虚拟角色与凹部之间的一个或多个交互可基于凹部的分类而变化。
本文描述的方法针对虚拟控制器,即,使用触摸屏或类似触摸屏的功能来提供易于定制的控制器按钮布局的控制器。根据一些实施例,触摸屏是与诸如游戏控制台、个人计算机、平板电脑、智能手机、瘦客户端设备(例如,插入屏幕的USB或HDMI设备)的游戏设备接合的物理、手持式控制器的至少一部分。根据一些实施例,触摸屏是控制器的主要特征,其与诸如游戏控制台、个人计算机、平板电脑、智能手机、瘦客户端设备(例如,插入屏幕的USB或HDMI设备)之类的游戏设备接合。根据一些实施例,控制器由移动设备或平板电脑连同使能软件组成,该软件将移动设备或平板电脑连接到游戏设备,例如游戏控制台、个人计算机、瘦客户端设备(例如,插入屏幕的USB或HDMI设备)或其他合适的游戏设备。根据一些另外的实施例,触摸屏是诸如游戏控制台、个人计算机、平板电脑或智能手机之类的游戏设备的启用触摸的触摸屏。
说明书和附图应被视为说明性的而非限制性的。然而,显而易见的是,可以对其进行各种修改和改变而不背离如权利要求中阐述的本公开的更广泛的精神和范围。
其他变型都在本公开的精神之内。因此,虽然所公开的技术易于进行各种修改和替代构造,但其某些示出的实施例在附图中示出并且已经在上面详细描述。然而,应当理解,无意将本发明限制于所公开的特定的一种或多种形式,相反,其意图是覆盖落入本发明的精神和范围内的所有修改、替代构造和等同物,如所附权利要求中所定义的。
在描述所公开的实施例的上下文中(尤其是在所附权利要求的上下文中),术语“一”和“一个”和“该”以及类似指示物的使用应被解释为覆盖单数和复数两者,除非本文另有说明或与上下文明显矛盾。术语“包含”、“具有”、“包括”和“含有”应被解释为开放式术语(即,意思是“包括但不限于”),除非另有说明。术语“连接”应被解释为部分或全部包含在其中、附接至或连接在一起,即使有某些东西介入。本文中数值范围的列举仅旨在用作单独提及落入该范围内的每个单独值的速记方法,除非本文另外指出,并且每个单独的值被并入说明书中,如同其在本文中被单独引用一样。本文描述的所有方法可以以任何合适的顺序执行,除非本文另外指示或另外与上下文明显矛盾。本文提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅旨在更好地阐明本发明的实施例,并且不对本发明的范围构成限制,除非另有要求。说明书中的任何语言均不应被解释为指示任何未要求保护的元素对于本发明的实践是必要的。
本文描述了本公开的优选实施例,包括发明人已知的用于实施本发明的最佳模式。在阅读前述描述后,那些优选实施例的变型对于本领域普通技术人员来说是显而易见的。发明人期望技术人员适当地采用此类变型,并且发明人意图以不同于本文具体描述的方式来实践本发明。因此,本发明包括适用法律允许的所附权利要求中记载的主题的所有修改和等同物。此外,除非本文另有说明或与上下文明显矛盾,否则本发明涵盖上述元素在其所有可能变型中的任何组合。
下面将进一步举例说明,以便于理解本发明的各个方面:
示例A。一种方法,包括:
当虚拟空间内的虚拟角色在用户的控制下穿越所述虚拟空间时,响应于检测到所述虚拟角色处于位于所述虚拟角色附近的至少一个障碍物的阈值距离内而识别所述至少一个障碍物;
识别所述障碍物上实质上垂直于与所述虚拟角色相关联的行进向量的至少一个表面;
在所述至少一个表面上识别凹部,所述凹部包括唇缘和所述唇缘上方的缩回区域;
至少部分基于所述缩回区域的一个或多个性质来确定所述凹部是边台;以及
在所述唇缘处生成锚点,所述锚点被配置为使得能够在所述虚拟角色与所述凹部之间进行一个或多个交互。
示例B。根据示例A或前述或后续示例中任一项的方法,其中,如果所述至少一个表面与所述行进向量之间的角度落在预定值范围内,则所述至少一个表面实质上垂直于所述行进向量。
示例C。根据示例A或前述或后续示例中任一项的方法,其中,所述行进向量与所述虚拟角色的当前轨迹相关联。
示例D。示例A或前述或后续示例中任一项,还包括:检测所述虚拟角色的所述当前轨迹将导致所述虚拟角色离开所述虚拟空间的可游戏区域,以及使得所述虚拟角色响应于所述检测而与所述锚点交互。
示例E。示例A或前述或后续示例中任一项,其中,所述行进向量与根据从所述用户接收的信息生成的输入向量相关联。
示例F。示例A或前述或后续示例中任一项,其中,所述障碍物包括边缘,所述虚拟角色能够从所述边缘掉落,所述障碍物上的所述至少一个表面包括沿着所述边缘的表面。
示例G。示例A或前述或后续示例中任一项,其中,所述缩回区域的所述一个或多个性质至少包括所述缩回区域相对于所述至少一个表面的角度。
示例H。示例A或前述或后续示例中任一项,还包括确定所述凹部的高度,其中,如果所述高度大于阈值高度,则所述凹部被确定为边台。
示例I。示例H或前述或后续示例中任一项,中,所述阈值高度基于与所述虚拟角色相关联的高度值。
示例J。一种用户设备,包括:
处理器;以及
包括指令的存储器,所述指令当用所述处理器执行时使所述用户设备至少执行以下操作:
当在用户控制下的虚拟角色穿越虚拟空间时,响应于检测到所述虚拟角色在至少一个障碍物的阈值距离内而识别所述至少一个障碍物;
识别所述障碍物上实质上垂直于与所述虚拟角色相关联的行进向量的至少一个表面;
在所述至少一个表面上识别凹部,所述凹部包括唇缘和所述唇缘上方的缩回区域;
至少部分基于所述缩回区域的一个或多个性质来确定所述凹部是边台;以及
在所述唇缘处生成锚点,所述锚点被配置为使得能够在所述虚拟角色与所述凹部之间进行一个或多个交互。
示例K。示例J或前述或后续示例中任一项,其中,指令还使所述用户设备至少部分基于所述缩回区域的一个或多个额外性质对所述凹部进行分类。
示例L。示例J或前述或后续示例中任一项,其中,所述一个或多个交互基于凹部的分类而变化。
示例M。示例J或前述或后续示例中任一项,其中,所述凹部因在高度范围内而在所述至少一个表面上被识别。
示例N。示例M或前述或后续示例中任一项,其中,所述高度范围包括垂直最小高度和垂直最大高度。
示例O。示例J或前述或后续示例中任一项,其中,所述虚拟角色包括由所述用户设备的用户控制的对象。
示例P。示例J或前述或后续示例中任一项,其中,对所述虚拟角色附近的所有障碍物执行碰撞检查以识别所述至少一个障碍物。
示例Q。示例J或前述或后续示例中任一项,其中,所述指令包括在所述用户设备上执行的视频游戏。
示例R。一种共同地存储计算机可执行指令的非瞬态计算机可读介质,所述计算机可执行指令在执行时使一个或多个计算设备共同地执行包括以下操作的动作:
当虚拟空间内的虚拟角色在用户的控制下穿越所述虚拟空间时,响应于检测到所述虚拟角色处于位于所述虚拟角色附近的至少一个障碍物的阈值距离内而识别所述至少一个障碍物;
识别所述障碍物上实质上垂直于与所述虚拟角色相关联的行进向量的至少一个表面;
在所述至少一个表面上识别凹部,所述凹部包括唇缘和所述唇缘上方的缩回区域;
至少部分基于所述缩回区域的一个或多个性质来确定所述凹部是边台;以及
在所述唇缘处生成锚点,所述锚点被配置为使得能够在所述虚拟角色与所述凹部之间进行一个或多个交互。
示例S。示例R或前述或后续示例中任一项的方法,其中,如果所述至少一个表面与所述行进向量之间的角度落在预定值范围内,则所述至少一个表面实质上垂直于所述行进向量,并且所述行进向量与所述虚拟角色的当前轨迹或根据从用户接收的信息生成的输入向量相关联。
示例T。示例S或前述或后续示例中任一项的方法,其中,通过从顶部到底部扫描所述至少一个表面来在所述至少一个表面上识别所述凹部。
总结
尽管已经以特定于特征和方法动作的语言描述了主题,但是应当理解,所附权利要求中定义的主题不一定限于本文描述的特定特征或动作。相反,具体特征和动作被公开为实施权利要求的示例性形式。

Claims (20)

1.一种方法,包括:
当虚拟空间内的虚拟角色在用户的控制下穿越所述虚拟空间时,响应于检测到所述虚拟角色处于位于所述虚拟角色附近的至少一个障碍物的阈值距离内而识别所述至少一个障碍物;
识别所述障碍物上实质上垂直于与所述虚拟角色相关联的行进向量的至少一个表面;
在所述至少一个表面上识别凹部,所述凹部包括唇缘和所述唇缘上方的缩回区域;
至少部分基于所述缩回区域的一个或多个性质来确定所述凹部是边台;以及
在所述唇缘处生成锚点,所述锚点被配置为使得能够在所述虚拟角色与所述凹部之间进行一个或多个交互。
2.根据权利要求1所述的方法,其中,如果所述至少一个表面与所述行进向量之间的角度落在预定值范围内,则所述至少一个表面实质上垂直于所述行进向量。
3.根据权利要求2所述的方法,其中,所述行进向量与所述虚拟角色的当前轨迹相关联。
4.根据权利要求3所述的方法,还包括:检测所述虚拟角色的所述当前轨迹将导致所述虚拟角色离开所述虚拟空间的可游戏区域,以及使得所述虚拟角色响应于所述检测而与所述锚点交互。
5.根据权利要求2所述的方法,其中,所述行进向量与根据从所述用户接收的信息生成的输入向量相关联。
6.根据权利要求1所述的方法,其中,所述障碍物包括边缘,所述虚拟角色能够从所述边缘掉落,所述障碍物上的所述至少一个表面包括沿着所述边缘的表面。
7.根据权利要求1所述的方法,其中,所述缩回区域的所述一个或多个性质至少包括所述缩回区域相对于所述至少一个表面的角度。
8.根据权利要求1所述的方法,还包括确定所述凹部的高度,其中,如果所述高度大于阈值高度,则所述凹部被确定为边台。
9.根据权利要求8所述的方法,其中,所述阈值高度基于与所述虚拟角色相关联的高度值。
10.一种用户设备,包括:
处理器;以及
包括指令的存储器,所述指令当用所述处理器执行时使所述用户设备至少执行以下操作:
当在用户控制下的虚拟角色穿越虚拟空间时,响应于检测到所述虚拟角色在至少一个障碍物的阈值距离内而识别所述至少一个障碍物;
识别所述障碍物上实质上垂直于与所述虚拟角色相关联的行进向量的至少一个表面;
在所述至少一个表面上识别凹部,所述凹部包括唇缘和所述唇缘上方的缩回区域;
至少部分基于所述缩回区域的一个或多个性质来确定所述凹部是边台;以及
在所述唇缘处生成锚点,所述锚点被配置为使得能够在所述虚拟角色与所述凹部之间进行一个或多个交互。
11.根据权利要求10所述的用户设备,其中,所述指令还使所述用户设备至少部分基于所述缩回区域的一个或多个额外性质对所述凹部进行分类。
12.根据权利要求11所述的用户设备,其中,所述一个或多个交互基于由所述用户设备生成的所述凹部的分类而变化。
13.根据权利要求10所述的用户设备,其中,所述凹部因在高度范围内而在所述至少一个表面上被识别。
14.根据权利要求13所述的用户设备,其中,所述高度范围包括垂直最小高度和垂直最大高度。
15.根据权利要求10所述的用户设备,其中,所述虚拟角色包括由所述用户设备的用户控制的对象。
16.根据权利要求10所述的用户设备,其中,对所述虚拟角色附近的所有障碍物执行碰撞检查以识别所述至少一个障碍物。
17.根据权利要求10所述的用户设备,其中,所述指令包括在所述用户设备上执行的视频游戏。
18.一种共同地存储计算机可执行指令的非瞬态计算机可读介质,所述计算机可执行指令在执行时使一个或多个计算设备共同地执行包括以下操作的动作:
当虚拟空间内的虚拟角色在用户的控制下穿越所述虚拟空间时,响应于检测到所述虚拟角色处于位于所述虚拟角色附近的至少一个障碍物的阈值距离内而识别所述至少一个障碍物;
识别所述障碍物上实质上垂直于与所述虚拟角色相关联的行进向量的至少一个表面;
在所述至少一个表面上识别凹部,所述凹部包括唇缘和所述唇缘上方的缩回区域;
至少部分基于所述缩回区域的一个或多个性质来确定所述凹部是边台;以及
在所述唇缘处生成锚点,所述锚点被配置为使得能够在所述虚拟角色与所述凹部之间进行一个或多个交互。
19.根据权利要求18所述的非瞬态计算机可读介质,其中,如果所述至少一个表面与所述行进向量之间的角度落在预定值范围内,则所述至少一个表面实质上垂直于所述行进向量,并且所述行进向量与所述虚拟角色的当前轨迹或根据从用户接收的信息生成的输入向量相关联。
20.根据权利要求18所述的非瞬态计算机可读介质,其中,通过从顶部到底部扫描所述至少一个表面来在所述至少一个表面上识别所述凹部。
CN202280020245.3A 2021-03-10 2022-03-10 无标记边台抓握 Pending CN116963810A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163158959P 2021-03-10 2021-03-10
US63/158,959 2021-03-10
PCT/US2022/019682 WO2022192493A1 (en) 2021-03-10 2022-03-10 Markup free ledge grab

Publications (1)

Publication Number Publication Date
CN116963810A true CN116963810A (zh) 2023-10-27

Family

ID=83227083

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280020245.3A Pending CN116963810A (zh) 2021-03-10 2022-03-10 无标记边台抓握

Country Status (9)

Country Link
US (1) US20240042322A1 (zh)
EP (1) EP4284527A1 (zh)
JP (1) JP2024509788A (zh)
CN (1) CN116963810A (zh)
AU (1) AU2022232621A1 (zh)
CA (1) CA3212973A1 (zh)
IL (1) IL305745A (zh)
MX (1) MX2023010554A (zh)
WO (1) WO2022192493A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8979652B1 (en) * 2014-03-27 2015-03-17 TECHLAND Sp. z o. o Natural movement in a virtual environment
CN111068324A (zh) * 2019-11-26 2020-04-28 腾讯科技(深圳)有限公司 虚拟对象控制方法、装置、设备及存储介质
CN111714891A (zh) * 2020-06-22 2020-09-29 苏州幻塔网络科技有限公司 角色攀爬方法、装置、计算机设备及可读存储介质
CN111773724A (zh) * 2020-07-31 2020-10-16 网易(杭州)网络有限公司 一种跨越虚拟障碍的方法和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3569201B2 (ja) * 2000-06-05 2004-09-22 株式会社スクウェア・エニックス 特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体及び方法、並びにゲーム装置
US7084888B2 (en) * 2001-08-09 2006-08-01 Konami Corporation Orientation detection marker, orientation detection device and video game device
US20110165939A1 (en) * 2010-01-05 2011-07-07 Ganz Method and system for providing a 3d activity in a virtual presentation
US8282454B2 (en) * 2010-09-29 2012-10-09 Nintendo Co., Ltd. Video game systems and methods including moving the protected character based with the movement of unprotected game character(s)
JP5579661B2 (ja) * 2011-06-14 2014-08-27 株式会社ソニー・コンピュータエンタテインメント オブジェクト制御プログラム、オブジェクト制御プログラムを記憶したコンピュータ読み取り可能な記録媒体、オブジェクト制御装置、オブジェクト制御方法
US8777746B2 (en) * 2011-09-23 2014-07-15 2343127 Ontario Inc. Gestures to encapsulate intent
US10262462B2 (en) * 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US10388053B1 (en) * 2015-03-27 2019-08-20 Electronic Arts Inc. System for seamless animation transition
CN107042018B (zh) * 2016-02-05 2018-09-18 腾讯科技(深圳)有限公司 控制对象的空间位置确定方法和装置
KR101938291B1 (ko) * 2017-04-24 2019-01-14 주식회사 넥슨코리아 캐릭터 조작 방법 및 이를 수행하기 위한 게임 제공 장치
JP6663458B2 (ja) * 2018-08-03 2020-03-11 株式会社コーエーテクモゲームス 情報処理装置、配置方法及び配置プログラム
CN110075523B (zh) * 2019-04-30 2020-04-17 网易(杭州)网络有限公司 动作生成方法、装置、电子设备和计算机可读介质
JP7146136B2 (ja) * 2020-08-05 2022-10-03 シャンハイ リリス テクノロジー コーポレイション ゲームオブジェクトのインタラクティブ制御システム、方法、サーバー及コンピュータ読み取り可能な記憶媒体
US11794107B2 (en) * 2020-12-30 2023-10-24 Activision Publishing, Inc. Systems and methods for improved collision detection in video games
CN113244622B (zh) * 2021-06-22 2022-11-08 腾讯科技(深圳)有限公司 碰撞数据处理方法和装置、存储介质及电子设备
US11596866B1 (en) * 2021-09-28 2023-03-07 Sony Group Corporation Method to use recognition of nearby physical surfaces to generate NPC reactions to events
US11878239B2 (en) * 2022-01-28 2024-01-23 Electronic Arts Inc. Replay editor in video games
JP7397237B1 (ja) * 2022-03-03 2023-12-12 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8979652B1 (en) * 2014-03-27 2015-03-17 TECHLAND Sp. z o. o Natural movement in a virtual environment
CN111068324A (zh) * 2019-11-26 2020-04-28 腾讯科技(深圳)有限公司 虚拟对象控制方法、装置、设备及存储介质
CN111714891A (zh) * 2020-06-22 2020-09-29 苏州幻塔网络科技有限公司 角色攀爬方法、装置、计算机设备及可读存储介质
CN111773724A (zh) * 2020-07-31 2020-10-16 网易(杭州)网络有限公司 一种跨越虚拟障碍的方法和装置

Also Published As

Publication number Publication date
AU2022232621A1 (en) 2023-09-21
JP2024509788A (ja) 2024-03-05
US20240042322A1 (en) 2024-02-08
EP4284527A1 (en) 2023-12-06
WO2022192493A1 (en) 2022-09-15
IL305745A (en) 2023-11-01
CA3212973A1 (en) 2022-09-15
MX2023010554A (es) 2023-10-04

Similar Documents

Publication Publication Date Title
US10960298B2 (en) Boolean/float controller and gesture recognition system
CN104395862B (zh) 平面操纵杆控制器
US8882590B2 (en) Touch-controlled game character motion providing dynamically-positioned virtual control pad
KR101575121B1 (ko) 제스처 기반 게임에 대한 일시 중지 및 재개 기법
US20140057714A1 (en) Modifiable gaming experience based on user position and/or orientation
US9238175B2 (en) Natural movement in a virtual environment
US20110215998A1 (en) Physical action languages for distributed tangible user interface systems
US10565436B2 (en) Information processing device and information processing method
KR20160003888A (ko) 제스처 기반 게임을 위한 안전 설계
CN102934145A (zh) 图像处理装置、图像处理方法及图像处理程序
KR102007445B1 (ko) 레이저 다이오드 모드
US20190209922A1 (en) Non-transitory computer readable storage medium storing image processing program, image processing method, and image processing device
CN116963810A (zh) 无标记边台抓握
US20230241513A1 (en) Game cheat detection from mouse lifting
CN109316739B (zh) 一种游戏场景中的三维位置选取方法和装置
CN113797543A (zh) 游戏处理方法、装置、计算机设备、存储介质及程序产品
KR102185576B1 (ko) 스마트 컨트롤러, 사용자 단말 제어 장치 및 사용자 단말 제어 방법
KR102612282B1 (ko) 자동 게임 제작 장치 및 그 방법
KR101389352B1 (ko) 외부 충격에 의한 진동을 입력으로 하는 게임방법, 게임장치 및 기록매체
CN107092345A (zh) 对用户手势进行分类的用户接口、运动工具和方法
CN117732066A (zh) 虚拟对象的控制方法、装置、计算机设备及可读存储介质
CN116251343A (zh) 基于投掷动作的体感游戏方法
JP2020127589A (ja) 情報処理装置、ゲーム処理方法及びゲーム処理プログラム
KR20240003467A (ko) 모션 인식에 기초한 영상 콘텐츠 제공 시스템
KR20220165079A (ko) 게임 봇 탐지 방법 및 장치

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