虚拟环境中的玩家化身移动辅助的制作方法

文档序号:10493501阅读:184来源:国知局
虚拟环境中的玩家化身移动辅助的制作方法
【专利摘要】提供了用于实施预测性避免算法或者“运动辅助”来帮助玩家操纵玩家化身从而避免碰撞以及占据掩蔽物位置的系统和方法。运用一定水平的部分系统控制来细微地引导玩家化身,以便导航通过虚拟环境,诸如是朝向感兴趣的点或者远离障碍。这样,用户可以更容易地导航通过3?D环境。公开了用于解读用户意图的方法,并且相同的方法可以用于对部分系统控制的应用或者移除。
【专利说明】
虚拟环境中的玩家化身移动辅助
【背景技术】
[0001]在利用游戏控制器在3-D环境中进行导航的同时避免接近碰撞对于玩家来说可能是困难的。玩家,或者更准确地说玩家化身,由于固有的移动不准确性而可能容易碰撞到他们不曾打算撞击的对象上。通常游戏将实施用于防止玩家化身在这些碰撞时被卡住或者停住(hang up)的、与在线环境的世界几何形状配对的“碰撞和滑动”算法。这样的解决方案是低效的,因为玩家化身运动仍然被中断和减慢,这有害地降低玩家的在控制中的感觉。
[0002]通过使用特别是具有照相机偏移量的第三人照相机,上面的困难被加重。玩家将通常潜意识地忽略人物化身,并且通过瞄准标线或者基于屏幕的中心驾驶他们期望的方向。在这些情况下,人物模型将比之前更经常地碰撞,因为当在事实上玩家化身被对准为击中障碍而玩家照相机、被玩家看见的视图不是这样时,与化身之间的标线偏移量将使得看起来用户是可以通过障碍的。
[0003]提供本【背景技术】以介绍跟随在后面的概要和详细描述的简要上下文。本【背景技术】不打算是确定所要求保护的主题的范围时的辅助,也不被认为将所要求保护的主题限于解决上面呈现的缺点或者问题中的任何或全部缺点或者问题的实施方案。

【发明内容】

[0004]根据本原理的安排实施一种用于帮助玩家操纵他们的玩家化身从而避免碰撞以及占据掩蔽物位置的预测性避免算法或者“运动辅助”。运用某种水平的部分系统控制以细微地引导玩家化身,以便诸如是朝向感兴趣点或者远离障碍地导航通过虚拟环境。这样,用户可以更容易地导航通过3-D环境。可以考虑解读用户的意图,以及使用相同的内容以动态地应用或者移除部分系统控制。
[0005]在特定安排中,玩家保持对玩家化身的一定程度的控制。所述安排是可基于情形的环境进行调谐的。例如,可以对于快速移动环境或者慢速步调环境对相同的安排进行调谐。所述安排还可以是可基于游戏上下文进行调谐的。所述调谐可以被执行为,确保效果是细微的,并且提高可访问性而不剥夺玩家控制。设计者可以使用所述安排来帮助玩家化身更容易地通过门和围绕障碍进行移动,而不要求用户执行精确的精细运动控制(motorcontrol)或者具有对环境的精确意识。部分系统控制还帮助玩家控制他们的化身一致地到达或者避免掩蔽物定位,从而防止不合期望的部分掩蔽场景。
[0006]提供本概要来以简化形式介绍下面在详细描述中进一步描述的概念的选择。本概要不打算标识所要求保护的主题的关键特征或者实质特征,其也不打算被用作确定所要求保护的主题的范围时的辅助。此外,所要求保护的主题不限于解决在本公开内容的任何部分中指出的任何或者全部缺点的实施方案。
【附图说明】
[0007]图1示出了本玩家化身移动辅助可以在其中被实施的图示性计算环境;
图2示出了在计算环境中玩的游戏; 图3(A)和3(B)图示出了根据原理的系统和方法的安排可以在其中被实施的示例性情形;
图4(A)-4(C)示出了根据本原理的系统和方法的安排可以在其中被实施的另一种情形,该安排图示出了用于玩家化身移动辅助的方法中的三个示例性步骤;
图5是本玩家化身移动辅助可以通过其被实施的图示性方法的流程图;
图6图示出了根据本原理的系统和方法的安排可以在其中被实施的另一种示例性情形;
图7图示出了根据本原理的系统和方法的安排可以在其中被实施的另一种示例性情形;
图8是本玩家化身移动辅助可以通过其被实施的另一种图示性方法的流程图;
图9是多媒体控制台的图示性功能方框图;
图10是可以部分用于实施本玩家化身移动辅助的诸如是个人计算机(“PC”)之类的图示性计算机系统的简化方框图;以及
图11示出了可以部分用于实施本玩家化身移动辅助的图示性计算平台的方框图。
[0008]贯穿本文,相似参考数字指相似元素。除非另外指出,否则元素不是按比例的。
【具体实施方式】
[0009]图1示出了本玩家化身移动辅助可以在其中被实施的图示性计算环境100。可以消费和/或渲染媒体内容的多种客户端计算平台110(诸如是多媒体控制台、移动电话、智能电话、平板电脑、个人计算机(“PC”)、个人数字助理(“roA”)、手持型游戏平台、个人媒体播放器、可穿戴型计算机、导航设备等)的用户105可以通过诸如是互联网125之类的网络与一个或多个娱乐服务115:1交互。如由参考数字135代表性地指示的,各种其他合作伙伴、发布者和/或服务提供商可以也出现在计算环境100中(例如在云内)。
[0010]如图2中所示,娱乐服务115通常可以向多媒体控制台225的玩家220暴露应用(“app”)205、游戏210和媒体内容215。将认识到,游戏可以被认为是特定类型的&??。
[0011]在图2中所示的图示性示例中,用户玩特定的游戏230。游戏230可以在多媒体控制台上本地执行、被娱乐服务115远程地主存、或者在某些情况下使用本地和远程执行的组合。游戏230还可以是多个其他玩家235可以参与其中的一个游戏。将认识到,通常在诸如是智能电话和PC之类的其他计算平台上支持多玩家游戏。
[0012]在这样的游戏环境中,玩家化身在在线环境内移动和交互是常见的。在这样做时,他们通常贯穿复杂的3-D环境进行移动,执行探索、交互、执行战斗等。尽管在执行复杂的移动和行动的同时执行其他功能对于玩家来说可能是令人满意的,但在环境内遭遇移动困难是不令人满意的,例如,无意地与小型障碍碰撞可能是令人沮丧的。
[0013]在图3(A)和3(B)中所图示的情形中,玩家化身252处于朝向障碍的用户或者玩家(未示出)的控制下,所述障碍已在系统内被识别为避免地带258 ο避免地带一般是对于玩家化身来说与之碰撞是不合期望的、在线环境内的体积或者区域,例如,因为玩家化身移动离开这样的地带时由于环境的几何形状而可能有麻烦。下面对此进行详细讨论。
[0014]用户一般通过诸如在操纵杆或者控制器上输进用户输入来控制玩家化身252的位置和运动。对玩家化身252的运动进行的控制一般是控制相同玩家化身252的位置,但是将理解玩家化身位置也可以通过不特别与移动相关的方式更改,例如通过经过游戏环境中的门户等。
[0015]玩家化身252被图示为具有玩家位置254和玩家运动或者移动方向256。玩家运动一般指例如是在线环境中具有尺寸、形状、纹理等的计算机模型的玩家化身的移动。移动方向256与运动相关联,但更针对与玩家化身252正在移动的方向相关的向量。如果移动方向256进一步与玩家化身的速度相关联(例如,具有与之成比例的长度),则产生的向量简单地说是基础速度向量。
[0016]在根据本原理的特定安排中,如由玩家控制的玩家化身的移动被由系统运用的控制的附加部分水平而增强,其中,所述增强或者所加的控制更改玩家化身远离被标识为避免地带的特定体积或者对象的移动,这被称为玩家化身移动辅助。
[0017]在某些应用中,在线环境内的玩家化身的移动速度可能与玩家化身移动辅助有关系。例如,如果玩家化身正在以高速度在在线环境内移动,则可以要求对其移动方向的任何更改更快速地发生,以便不与避免地带碰撞,或者相同的更改可能需要在移动方向上的更多和更少的细微更改。相同的更改还可要求方向上的更改在玩家化身与避免地带相距比在玩家化身正在缓慢移动的等价情形中更远时的点处发生。反之,较慢移动的玩家化身可以运用更细微的部分系统控制来避免相同的碰撞。
[0018]在图3(A)中,玩家化身252正在朝向避免地带258移动,以及图示出了所计算的轨迹262。对轨迹262进行的分析导致对玩家化身252与避免地带258之间的潜在碰撞的确定。在图3(A)中,玩家化身252与避免地带258相距特定的距离。在图3(B)中,玩家化身252比在图3(A)中更靠近避免地带258(见轨迹262’)。因此,在某些实施方案中,系统可以推断控制玩家化身252的移动的用户正意图使玩家化身252靠近或者甚至撞击避免地带258。相应地,对运动或者移动方向进行的更改量可以相应地在图3(B)中比在图3(A)中少。这在图3中由图示出运动或者移动方向上的这样的更改的向量示出,所述向量一般促使与玩家化身的移动方向相关联的数据上的更改,例如移动角度的加或者减、被应用于表示位置的坐标的加或者减等。在图3(A)中,这些由向量264和266图示出,向量264和266表示除对玩家化身的用户控制之外所运用的部分系统控制,以围绕避免地带258细微地移动玩家化身252。根据上面的描述,因为玩家化身252在图3(B)中比在图3(A)中更靠近避免地带258,所以来自图3(A)的向量264和266图示出了比来自图3(B)的等价向量268和272更大的控制。下面参考图6进一步讨论这些方面。
[0019]图4(A)-4(C)图示出了碰撞预测和避免中的示例性步骤。在这些图中,玩家化身252正在朝向已在其中标识避免地带280的障碍274移动。还示出了具有用户可以按照其来输进适于控制玩家化身252的位置和运动的数据的一种或多种方式的控制器276。在控制器276中,诸如是操纵杆278。
[0020]参考图4(A),用户正在通过在方向282上移动操纵杆278来控制玩家化身252的移动,这将玩家化身252导向具有被计算为与避免地带280碰撞或者相交的轨迹284。一般地,在该第一(碰撞预测)步骤中,依据例如是游戏的3-D场景的在线环境来预测玩家化身的运动。运动预测依据环境中已知的内容提前预测玩家位置的轨迹。特别地,尝试确定关于玩家化身是否正在移动到不合期望的碰撞中。
[0021]在许多情况下,可以使用在线环境中的场景标记或者其他这样的地图数据为根据本原理的系统和方法提供关于“掩蔽物”和“避免”定位的信息。这些一般根据水平与诸如是区域或者体积之类的地带相关联。掩蔽物定位定义玩家化身可以在其中躲避敌人的定位。在这样的定位中,玩家化身一般不遭受任何伤害或者遭受被极大减少了的伤害。掩蔽物定位的边缘或者端点是特别有用的,因为玩家一般仅想要完全在掩蔽物中或者完全在掩蔽物外。处于边缘处、一半在掩蔽物中是不合期望的。
[0022]避免地带一般是对于其来说与玩家化身的碰撞是不期望的区域,其例如诸如是立柱或者小型障碍。尽管出于现实,使玩家化身围绕或者越过这样的避免地带而非通过相同的避免地带来进行移动是重要的,但在这样的定位上被卡住或者“停住”对于玩家来说可能是令人沮丧的。例如,在图4(A)中,尽管玩家可能期望他们的玩家化身252在障碍274后面或者围绕相同的障碍274走动,但玩家将发现使他们的玩家化身252在障碍274的边缘处被停住是令人沮丧的,以及因此,在这样的边缘处标识和构造避免地带280。在图4(A)的情况下,玩家化身252的轨迹284使得相同的轨迹将与避免地带280相交,以及因此预测了碰撞。
[0023]碰撞预测的方法一般是已知的。这里要指出,如玩家化身与避免地带之间的碰撞预测可以包括诸如是玩家化身的所计算的轨迹是否与避免地带相交、相交的程度、与玩家化身相对应的CG模型的尺寸等的因素。一般地,不合期望的碰撞是与所标识的避免地带发生的碰撞(相对于与未被如此标识的其他障碍的碰撞),但是也将理解不合期望的条件的其他定义。避免地带可以由地图设计者人工标识,或者这样的避免地带可以由针对这样的潜在地带对障碍进行分析的算法自动地检测和标识。
[0024]一旦预测了不合期望的碰撞,则可以运用(在第二步骤中)一定程度的部分系统控制来调整玩家化身方向朝向将避免碰撞的一个或多个其他方向。在许多情况下,避免与避免地带的碰撞将经由玩家化身围绕避免地带向右或者相左移动。尽管在许多情况下如何避免避免地带或者围绕避免地带移动的解决方案将基于地带的几何形状和/或定位以及玩家化身的移动方向,但在某些情况下,也可以考虑玩家化身的速度和玩家化身的CG模型。此夕卜,在其他实施方案中,也可以使用照相机的面向方向。例如,如果玩家促使照相机面向一个碰撞避免的方向,那么如果两个潜在的碰撞避免的方向是可能的则可以向该方向给予偏好,因为可以假定照相机面向的方向是玩家正打算进行追赶的方向。
[0025]在玩家化身尝试访问或者占据掩蔽物的位置的情况下,可以对玩家化身的移动运用一定程度的部分系统控制,使得促使相同的玩家化身完全在掩蔽物中或者完全避免掩蔽物。在一种特定实施方案中,如果系统确定玩家正在尝试使他们的玩家化身避免掩蔽物位置,则掩蔽物位置或者与之相关联的体积可以至少临时地被看作避免地带。
[0026]被显现为对玩家化身运动进行的部分系统控制的控制调整细微地将玩家化身运动调整到新的路线或者轨迹,例如用以使之偏离避免地带。这可以很好地提前于碰撞执行,因此有效效应对于用户是非常细微的。通常仅要求少量程度的运动改变,并且这一般是不可检测的以及甚至小于(或者可能被设计为是)控制器自身的不准确度。随着玩家变得非常靠近碰撞,如下面在图6中所示,部分系统控制可以下降到零,从而允许玩家完全控制他们的玩家化身。这掩盖了部分系统控制,从而允许玩家完全模拟控制。在碰撞的情况下,可以使用诸如是“碰撞和滑动”之类的标准技术。如果未检测到碰撞,则不要求对控制进行调整。
[0027]在图4(B)的情况下,玩家化身252的轨迹284被调整到新的轨迹292,该新的轨迹292将位于位置277处的玩家化身252导向最终位置。新的轨迹也可以被表征为新的移动方向或者新的玩家运动。可替换地,图4(C)指示玩家化身252的最终位置可以是在277’处,该位置也远离避免地带。碰撞避免的分辨率可以由诸如是玩家化身252逼近避免地带的角度、照相机面向角度或者其他方面之类的方面确定。特别地说,在第三步骤中,并且如图4(B)和图4(C)中所图示的,可以通过分析控制器276的操纵杆278的位置确定玩家意图。在图4(B)中,操纵杆278在方向286上被推动,所述方向286—般在障碍274的右侧,以及因此所运用的部分系统控制将倾向于将玩家化身252移动到右边,即移动到最终位置277。相反,在图4(C)中,操纵杆278在方向296上被推动,所述方向296—般在障碍274的左侧,并且明显在与初始玩家化身运动方向284相对的方向上,以及因此所运用的部分系统控制将倾向于将玩家化身252移动到左边,即移动到最终位置277’。
[0028]更详细地,在调整玩家和玩家化身的转向时,根据本原理的系统和方法可以监控操纵杆的方向上的大量或者显著改变。如果操作杆与所预测的运动相反地移动,则可以假设预测是错误的,以及预测可以被翻转到避免地带的另一侧。如果操纵杆继续一致地引导玩家化身,则可以保持所预测的运动轨道。如果操纵杆移动到完全避免碰撞的方向,则不需要运用任何部分系统控制,以及所述系统和方法可以简单地继续预测新的碰撞。如果未预测任何不合期望的碰撞,则不需要作出调整。
[0029]图5是描述用于玩家移动辅助(例如,用于围绕或者以其他方式避免被标识为避免地带的区域或者体积对玩家化身进行路由)的方法的流程图300。在第一步骤中,接收关于虚拟环境中的玩家化身的位置以及其关联的运动或者移动方向的数据(步骤302)。然后关于玩家化身的未来位置做出计算,例如,计算化身位置的轨迹,该计算考虑了运动或者移动方向(步骤304)。
[0030]然后执行碰撞预测,其具有用于避免碰撞所运用的对玩家化身的潜在部分系统控制(步骤306)。例如,如果计算了轨迹,并且相同的轨迹示出对玩家化身的当前玩家控制将促使相同的玩家化身与避免地带碰撞,则可以使用部分系统控制来更改玩家化身的移动方向,以避免碰撞。这一般仅在如果化身在避免地带的预定的距离内的情况下执行,但是该限制并不是要求的。
[0031 ]将会看见变型。例如,如果部分系统控制包括穿过避免地带的一侧,并且玩家控制指示对穿过另一侧的期望或者意图,例如,如果操纵杆方向与初始穿过建议的方向相对,则可以更改部分系统控制来运用所述控制促使玩家化身穿过由玩家指示的另一侧(步骤308)。在另一变型中,如果由于玩家控制、部分系统控制或者这两者,轨迹指示没有碰撞将发生,则可以移除部分系统控制(步骤312)。在另一变型中,如果碰撞发生,则可以通过诸如是“碰撞和滑动”之类的已知算法解决化身的位置和运动(步骤314)。在另一变型中,当化身在与避免地带相距第一距离处时,可以运用更大的系统控制(如与化身在与避免地带相距第二距离(小于第一距离)处相比获胜)(步骤316)。在某些情况下,当化身在与避免地带相距小于第二距离的第三距离内时,可以移除部分系统控制。
[0032]更详细地,如由图6的图350所图示的,如果玩家化身252在与避免地带258相距第一距离322处,则对玩家化身的位置和/或运动或者移动方向所运用的部分系统控制328的水平可以大于当玩家化身在与避免地带相距第二距离324处时所运用的部分系统控制332的水平,第二距离小于第一距离322。这样,部分系统控制可以随着接近避免地带而斜降,从而给予玩家更大的控制感以及因此更大的玩家满足度。在在线环境的比喻说法中,可以假设随着接近避免地带,玩家更有可能已打算好相对于避免地带的他或她的当前位置,以及因此更不需要部分系统控制。在与避免地带相距第三距离326处,可以全部移除部分系统控制,因为可以推断玩家化身252正被玩家控制为故意地夺取当前位置。在这样的情况和安排中,如果运用部分系统控制,则其可能导致玩家不能将他们的玩家化身控制到期望的位置的不合期望的结果,并且因此使玩家感到沮丧。
[0033]然而,将理解,在特定的实施方案中,可以总是启用部分系统控制。例如,可以启用这样的部分系统控制来允许新手玩家更容易地导航通过曲折或者复杂的环境,以及因此为新手玩家提供与更有经验或者熟练的玩家竞争的方法,或者允许单人新手玩家使用与由熟练的玩家使用的地图相同的地图玩单人游戏。可以出于相似的目的使用图7和8的情形和方法。
[0034]参考图7,图示出了针对玩家化身移动辅助的可替换实施方案的情形。在该情形中,玩家化身252被示为掩蔽在障碍352后面。特别地说,玩家化身252正被控制为占据掩蔽物位置354,在某些安排中,掩蔽物位置与在其中最小化或者禁止对玩家化身的伤害的特定区域或者体积相关联。取决于玩家化身的位置,相同的玩家化身可以完全在掩蔽物位置中(在图7中被示为在矩形362内)、完全在掩蔽物位置外(例如被示为玩家化身252’和252’’的位置)或者部分在掩蔽物位置中并且部分在掩蔽物位置外(未示出)。在这里所设想的特定安排中,对于玩家化身来说部分上在掩蔽物中并且部分上在掩蔽物外可能是不合期望的,因为玩家此时不知道玩家化身是否能够接受伤害。
[0035]与掩蔽物位置354相关联的可以是掩蔽物位置定位356,可以根据其计算与掩蔽物位置的距离。掩蔽物位置定位356在玩家化身252所位于的近似定位处示出,但将理解,取决于应用,其可以取若干不同位置,其包括障碍352的几何中心。
[0036]如果玩家化身在与掩蔽物位置354相距特定距离内,例如在与掩蔽物位置定位356相距特定距离内,则可以运用部分系统控制来将玩家化身移动为完全占据掩蔽物位置354,例如将玩家化身移动到区域或者体积362内。
[0037]将理解变型。例如,如果玩家化身在第一预定区域364内,并且确定了玩家化身打算占据掩蔽物位置的玩家意图,则可以运用部分系统控制来将玩家化身移动到掩蔽物位置中(例如,通过调整其位置、运动、移动方向或者这些项的组合)。例如,玩家化身252’被示为在一般朝向掩蔽物位置的方向366上移动。控制器上的操纵杆位置可以指示这样的移动方向。控制玩家化身252’的玩家意图因此可以被确定为玩家化身252’将占据掩蔽物位置,以及例如一旦玩家化身252’在第一预定区域364内,则恰当地运用部分系统控制。相反,玩家化身252’’也正在朝向第一预定的区域364移动,并且相同的玩家化身的当前轨迹将指示与区域364相交。然而,玩家化身252 ’ ’被控制为在不朝向掩蔽物位置的方向368上移动。相应地,根据本原理的安排可以确定玩家不是正在控制玩家化身252’ ’占据掩蔽物位置,以及没有部分系统控制可以被运用,或者相同的玩家化身可以与掩蔽物位置改道。
[0038]在某些情况下,玩家化身可以与掩蔽物位置如此靠近(例如,在第二预定区域358内)以至不论当前的运动或者移动方向如何都可以假设玩家化身打算完全占据掩蔽物位置。在这样的情况下,可以运用部分系统控制来将玩家化身移动到“完全在掩蔽物内”的区域或者体积362中。
[0039]图8是图示出特别是关于掩蔽物位置的玩家化身移动辅助的方法的流程图400。在第一步骤中,接收关于虚拟环境中的玩家化身的位置和运动或者移动方向的数据(步骤402)。做出关于位置和运动或者移动方向是否指示玩家化身打算占据掩蔽物位置的确定。作为该确定的一部分,可以做出关于玩家化身是否在从掩蔽物位置起的第一预定区域内的可选计算(步骤404),这可以包括确定化身与掩蔽物位置的定位相距的距离。也作为所述确定的一部分,可以计算轨迹,并且做出关于该轨迹是否与第一预定区域相交的确定。如果所述确定是使得数据指示玩家化身打算占据掩蔽物位置(步骤406),则可以对玩家化身的位置和运动或者移动方向运用部分系统控制来促使玩家化身完全占据掩蔽物位置(步骤408)。这样,玩家化身接收最小化的伤害或者不会接收到伤害,与掩蔽情形期间的玩家预期相符。
[0040]还可以做出关于玩家化身是否在第二预定的区域内的计算,其中,第二预定区域可以小于第一预定区域并且在第一预定区域内(步骤412)。在这样的情形中,玩家化身的运动或者移动方向可能是不重要的,以及可以假设玩家打算占据掩蔽物位置。可以相应地运用部分系统控制(步骤408)。
[0041]对于不在第二预定区域内的、或者对于其来说玩家意图已被确定为玩家化身不打算占据掩蔽物位置的玩家化身而言,部分系统控制可以不被运用(步骤414),这在玩家化身运动或者方向指示该化身正在简单地经过掩蔽物位置的情况下可能特别恰当;或者部分系统控制可以具体地促使玩家化身完全在掩蔽物位置之外(步骤416),如果玩家化身正保持在接近掩蔽物位置的位置处而不仅仅是经过其的话,这可能特别恰当。
[0042]现在描述可以实施玩家化身移动辅助的特定系统。
[0043]图9是图2中所示的多媒体控制台225的图示性功能方框图。如图9中所示,多媒体控制台225具有中央处理单元(CPU)10l,中央处理单元1001具有I级高速缓存1002、2级高速缓存1004和闪速ROM(只读存储器)1006。I级高速缓存1002和2级高速缓存1004临时地存储数据,以及因此减少存储器访问循环的数量,因此提升处理速度和吞吐量。CPU 1001可以被配置为具有多于一个核,以及因此具有附加的I级和2级高速缓存1002和1004。闪速ROM1006可以存储可执行代码,所述可执行代码在多媒体控制台225被加电时的开机过程的初始阶段期间被加载。
[0044]图形处理单元(GPUH008和视频编码器/视频编解码器(编码器/解码器)1014形成用于高速和高分辨率图形处理的视频处理管线。经由总线将数据从GPU 1008运载到视频编码器/视频编解码器1014。视频处理管线向A/V(音频/视频)端口 1040输出数据以便向电视或者其他显示器传输。存储器控制器1010连接到GPU 1008以促进对诸如但不限于RAM的各种类型的存储器1012的处理器访问。
[0045]多媒体控制台225包括优选在模块1018上被实施的I/O控制器1020、系统管理控制器1022、音频处理单元1023、网络接口控制器1024、第一USB(通用串行总线)主机控制器1026、第二 USB控制器1028和前面板I/O组件1030 WSB控制器1026和1028充当外围控制器1042(1)-1042(2)、无线适配器1048和外部存储器设备1046(例如,闪存、外部CD/DVD ROM驱动、可移除介质等)的主机。网络接口控制器1024和/或无线适配器1048提供对网络(例如,互联网、家庭网络等)的访问,以及可以是包括以太网卡、调制解调器、蓝牙模块、有线电视调制解调器等的多种多样的各种有线或者无线的适配器部件中的任一个适配器部件。
[0046]提供系统存储器1043以存储在开机过程期间被加载的应用数据。提供介质驱动1044,并且其可以包括DVD/⑶驱动、硬盘驱动或者其他可移除介质驱动等。介质驱动1044可以在多媒体控制台225的内部或者外部。可以经由介质驱动1044访问应用数据以便被多媒体控制台225执行、回放等。介质驱动1044经由诸如是串行ATA总线或者其他高速连接(例如,IEEE 1394)的总线连接到I/O控制器1020。
[0047]系统管理控制器1022提供与确保多媒体控制台225的可用性相关的各种各样服务功能。音频处理单元1023和音频编解码器1032形成具有高保真度和立体声处理的对应音频处理管线。经由通信链路在音频处理单元1023与音频编解码器1032之间运载音频数据。音频处理管线向A/V端口 1040输出数据以便被外部音频播放器或者具有音频能力的设备再现。
[0048]前面板I/O组件1030支持电源按钮1050和弹出按钮1052以及在多媒体控制台225的外表面上暴露的任何LED(发光二极管)或者其他指示器的功能性。系统电力供应模块1036为多媒体控制台225的部件提供电力。风扇1038冷却多媒体控制台225内的电路。
[0049]CPU 100UGPU 1008、存储器控制器1010和多媒体控制台225内的各种其他部件经由一个或多个总线互连,所述一个或多个总线包括串行和并行总线、存储器总线、外围总线、以及使用各种各样总线架构中的任一种总线架构的处理器或者本地总线。作为示例,这样的架构可以包括外围部件互连(PCI)总线、PCI特快总线等。
[0050]当多媒体控制台225被加电时,可以从系统存储器1043向存储器1012和/或高速缓存1002和1004中加载以及在CPU 1001上执行应用数据。应用可以呈现图形用户界面,所述图形用户界面在导航到多媒体控制台225上可用的不同媒体类型时提供一致的用户体验。在操作时,包含在介质驱动1044内的应用和/或其他媒体可以从介质驱动1044被启动或者播放,以为多媒体控制台225提供附加的功能性。
[0051]多媒体控制台225可以通过简单地将系统连接到电视或者其他显示器被操作为独立的系统。在该独立模式下,多媒体控制台225允许一个或多个用户与系统交互、观看电影或者听音乐。然而,随着通过网络接口控制器1024或者无线适配器1048使得可用的宽带连接的集成,多媒体控制台225可以进一步被操作为更大网络社区中的参与者。
[0052]当多媒体控制台225被加电时,一定量的硬件资源被多媒体控制台操作系统预留给系统使用。这些资源可以包括对存储器(例如16 MB)、CPU和GPU循环(例如5%)、联网带宽(例如8 kbps)等的预留。因为这些资源在系统开机时被预留,所以所预留的资源从应用的角度看不存在。
[0053]特别地说,存储器预留优选大到足以包含启动内核、并行系统应用和驱动器。CPU预留优选是恒定的,以使得如果所预留的CPU使用不被系统应用使用,则空闲的线程将消耗任何未被使用的循环。
[0054]关于GPU预留而言,由系统应用(例如弹出窗口)生成的轻量级消息通过使用GPU中断调度代码以将弹出窗口渲染在叠加中而被显示。叠加所需的存储器的量取决于叠加区域尺寸,并且叠加优选随屏幕分辨率缩放。在完全用户界面被并行系统应用使用的情况下,优选使用取决于应用分辨率的分辨率。可以使用定标器设置该分辨率,以使得消除对改变频率和促使TV重新同步的需求。
[0055]在多媒体控制台225开机和系统资源被预留之后,并行系统应用执行提供系统功能性。系统功能性被封装在上面描述的所预留的系统资源内执行的一组系统应用中。操作系统内核相对于游戏应用线程标识作为系统应用线程的线程。系统应用优选被调度为以预定的时间和间隔运行在CPU 1001上,以便为应用提供一致的系统资源视图。调度将最小化运行在控制台上的游戏应用的高速缓存中断。
[0056]当并行系统应用要求音频时,由于时间敏感性,所以音频处理被异步地调度到游戏应用。多媒体控制台应用管理器(在下面描述)控制当系统应用有效时的游戏应用音频水平(例如,静音、减弱)。
[0057]输入设备(例如控制器1042( I)和1042(2))被游戏应用和系统应用共享。输入设备不是被预留的资源,而将在系统应用和游戏应用之间切换,以使得系统应用和游戏应用的每个都将具有设备的焦点。应用管理器优选控制输入流的切换,而不知道游戏应用的知识的以及驱动器保持关于焦点切换的状态信息。
[0058]图10是本玩家化身移动辅助可以利用其被实施的诸如是PC、客户端设备或者服务器之类的图示性计算机系统1100的简化方框图。计算机系统1100包括处理单元1105、系统存储器1111和将包括系统存储器1111的各种系统部件耦合到处理单元1105的系统总线1114。系统总线1114可以是包括存储器总线或者存储器控制器、外围总线和使用各种各样总线架构中的任一种总线架构的本地总线的几种类型的总线结构中的任一种类型的总线结构。系统存储器1111包括只读存储器(“ROM” ) 1117和随机访问存储器(“RAM”)1121。包含诸如在启动期间帮助在计算机系统1100内的单元之间传递信息的基本例程的基本输入/输出系统(“B1S”)1125被存储在ROM 1117中。计算机系统1100可以进一步包括用于从和向内部布置的硬盘(未示出)读和写的硬盘驱动1128、用于从或向可移除磁盘1133(例如软盘)读或写的磁盘驱动1130以及用于从或向诸如是⑶(压缩盘)、DVD(数字多功能光盘)或者其他光学介质之类的可移除光盘1143读或写的光盘驱动1138。硬盘驱动1128、磁盘驱动1130和光盘驱动1138分别通过硬盘驱动接口 1146、磁盘驱动接口 1149和光驱接口 1152连接到系统总线1114。驱动及其关联的计算机可读存储介质提供对计算机可读指令、数据结构、程序模块和用于计算机系统1100的其他数据的非易失性存储。尽管该图示性示例示出了硬盘、可移除磁盘1133和可移除光盘1143,但在本玩家化身移动辅助的某些应用中也可以使用可以存储可被计算机访问的数据的其他类型的计算机可读存储介质,诸如是盒式磁带、闪存卡、数字视频盘、数据盒带、随机访问存储器(“RAM”)、只读存储器(“ROM”)等。附加地,如本文中使用的,术语计算机可读存储介质包括介质类型的一个或多个实例(例如,一个或多个磁盘、一个或多个CD等)。出于本说明书和权利要求的目的,短语“计算机可读存储介质”及其变型不包括波、信号和/或其他瞬时性和/或无形的通信介质。
[0059]包括操作系统1155、一个或多个应用程序1157、其他程序模块1160和程序数据1163的若干程序模块可以被存储在硬盘、磁盘1133、光盘1143、R0M 1117或者RAM 1121上。用户可以通过诸如是键盘之类的输入设备1166和诸如是鼠标之类的指向设备1168向计算机系统1100输进命令和信息。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏板、碟形卫星、扫描仪、轨迹球、触摸板、触摸屏、触摸敏感模块或设备、手势识别模块或设备、话音识别模块或设备、话音命令模块或设备等。这些和其他的输入设备通常通过耦合到系统总线1114的串行端口接口 1171连接到处理单元1105,但也可以通过诸如是并行端口、游戏端口或者USB的其他接口被连接。监视器1173或者其他类型的显示设备经由诸如是视频适配器1175之类的接口也连接到系统总线1114。除监视器1173之外,个人计算机通常包括诸如是扬声器和打印机之类的其他外围输出设备(未示出)。图10中示出的图示性示例还包括主机适配器1178、小型计算机系统接口(“SCSI”)总线1183和连接到SCSI总线1183的外部存储设备1176。
[0060]计算机系统1100可使用与诸如是远程计算机1188之类的一个或多个远程计算机的逻辑连接操作在联网环境中。远程计算机1188可以被选择为另一个个人计算机、服务器、路由器、网络PC、对等设备或者其他常见的网络节点,并且通常包括上面关于计算机系统1100所描述的元件中的许多或全部元件,尽管在图10中示出了仅单个代表性远程存储器/存储装置设备1190 ο图10中所描绘的逻辑连接包括局域网(“LAN” ) 1193和广域网(“WAN” )1195。这样的联网环境通常被部署在例如办公室、企业级计算机网络、内联网和互联网中。
[0061]当在LAN联网环境中使用时,计算机系统1100通过网络接口或者适配器1196连接到局域网1193。当在WAN联网环境中使用时,计算机系统1100通常包括宽带调制解调器1198、网络网关或者其他用于通过广域网1195(诸如是互联网)建立通信的装置。可以在内部或者外部的宽带调制解调器1198经由串行端口接口 1171连接到系统总线1114。在联网的环境中,与计算机系统1100或者其部分相关的程序模块可以被存储在远程存储器存储设备1190中。要指出,图10中所示的网络连接是图示性的,以及取决于玩家化身移动辅助的应用的具体要求可以使用在计算机之间建立通信链路的其他装置。在某些应用中使除多媒体控制台225之外的其他类型的计算平台能够实施本玩家化身移动辅助可能是合期望的和/或有优势的。例如,玩家化身移动辅助客户端可以容易地适于运行在各种固定计算平台和移动计算平台上。图11示出了能够执行本文中描述的用于玩家化身移动辅助的各种部件的计算平台或者设备的图示性架构1200。因此,图11中所图示的架构1200示出了可以适于服务器计算机、移动电话、PDA(个人数字助理)、智能电话、台式计算机、笔记本计算机、平板计算机、GPS(全球定位系统)设备、游戏控制台和/或膝上型计算机的架构。架构1200可以被用于执行本文中呈现的部件的任何方面。
[0062]图11中所图示的架构1200包括CPU 1202、包括RAM 1206和ROM 1208的系统存储器1204以及将存储器1204耦合到CPU 1202的系统总线1210。包含诸如在启动期间帮助在架构1200内的元件之间传递信息的基本例程的基本输入/输出系统被存储在ROM 1208中。架构1200进一步包括用于存储软件代码或者其他计算机执行代码的大容量存储设备1212,所述软件代码或者其他计算机执行代码用于实施应用、文件系统和操作系统。
[0063]大容量存储设备1212通过连接到总线1210的大容量存储器控制器(未示出)连接到CPU 1202。大容量存储设备1212和其关联的计算机可读存储介质为架构1200提供非易失性存储。尽管包含在本文中的对计算机可读存储介质的描述指诸如是硬盘或者CD-ROM驱动之类的大容量存储设备,但本领域的技术人员应当认识到,计算机可读介质可以是任何可以被架构1200访问的可用计算机存储介质。
[0064]作为示例而非限制,计算机可读存储介质可以包括用任何用于存储信息(诸如是计算机可读指令、数据结构、程序模块或者其他数据)的方法或者技术实施的易失性和非易失性、可移除和非可移除介质。例如,计算机可读介质包括但不限于RAM、R0M、EPR0M(可擦除可编程只读存储器)、EEPR0M(电可擦除可编程只读存储器)、闪存或者其他固态存储器技术、CD-ROM、DVD、HD-DVD(高清DVD)、蓝光盘或者其他光学存储器、盒式磁带、磁带、磁盘存储装置或者其他磁存储设备;或者任何其他可以用于存储期望的信息并且可以被架构1200访问的介质。
[0065]根据各种实施例,架构1200可以使用通过网络的与远程计算机的逻辑连接操作在联网环境中。架构1200可以通过连接到总线1210的网络接口单元1216连接到网络。应当认识到,网络接口单元1216还可以用于连接到其他类型的网络和远程计算机系统。架构1200还可以包括用于接收和处理来自包括键盘、鼠标或者电子触笔(未在图11中示出)的若干其他设备的输入的输入/输出控制器1218。类似地,输入/输出控制器1218可以向显示屏、打印机或者其他类型的输出设备(也未在图11中示出)提供输出。
[0066]应当认识到,本文中描述的软件构件当被加载到CPU1202中并且被执行时可以将CPU 1202和整个架构1200从通用计算系统变换成被定制为促进本文中呈现的功能性的专用计算系统。可以从可以单独或者共同地采取任意数量的状态的任意数量的晶体管或者其他分立的电路元件来构造CPU 1202。更具体地,CPU 1202可以响应于包含在本文中公开的软件模块中的可执行指令而操作为有限状态机。这些计算机可执行指令可以通过指定CPU1202如何在状态之间转变来变换CPU 1202,因此变换晶体管或者构成CPU 1202的其他分立的硬件元件。
[0067]对本文中呈现的软件模块进行编码还可以变换本文中呈现的计算机可读存储介质的物理结构。在本说明书的不同实施方案中,物理结构的具体变换可能取决于各种因素。这样的因素的示例可以包括但不限于用于实施计算机可读存储介质的技术、计算机可读存储介质是被表征为主要存储装置还是次要存储装置等。例如,如果计算机可读存储介质被实施为基于半导体的存储器,则可以通过变换半导体存储器的物理状态将本文中公开的软件编码在计算机可读存储介质上。例如,软件可以变换晶体管、电容器或者构成半导体存储器的其他分立的电路元件的状态。软件还可以变换这样的部件的物理状态以在其上存储数据。
[0068]作为另一示例,本文中公开的计算机可读存储介质可以使用磁技术或者光学技术来实施。在这样的实施方案中,本文中呈现的软件可以变换磁介质或者光学介质的物理状态(当软件被编码在其中时)。这些变换可以包括更改给定磁介质内的特定定位的磁特性。这些变换还可以包括更改给定光学介质内的特定定位的物理特征或者特性以改变那些定位的光学特性。对物理介质的其他变换是可能的,而不脱离本描述的范围和精神,并且所提供的前述示例仅用于存进本讨论。
[0069 ]根据以上内容,应当认识到,许多类型的物理变换在架构1200中发生,以便存储和执行本文中呈现的软件构件。还应当认识到,架构1200可以包括其他类型的计算设备,所述其他类型的计算设备包括手持型计算机、嵌入型计算机系统、智能电话、PDA和本领域技术人员已知的其他类型的计算设备。还设想架构1200可以不包括图11中所示的部件中的全部部件,可以包括未在图11中明确示出的其他部件,或者可以使用与图11中所示的架构完全不同的架构。
[0070]基于前述内容,应当认识到,在本文中已公开了用于玩家化身移动辅助的技术。尽管已使用特定于计算机结构特征、方法论和变换动作、具体的计算机器和计算机可读存储介质的语言描述了本文中呈现的主题,但将理解,在所附权利要求中限定的发明不必限于本文中描述的具体特征、动作或者介质。相反,作为实施权利要求的示例形式公开了具体的特征、动作和介质。
[0071]上面描述的主题仅作为图示被提供,并且不应当理解为是限制性的。可以对本文中描述的主题做出各种修改和改变,而不遵循所图示和描述的示例实施例和应用,以及不脱离在下面的权利要求中阐述的本发明的真实精神和范围。
【主权项】
1.一种用于控制支持图形用户界面的设备的计算机实施方法,其包括: 在所述设备处接收用于控制三维空间内的化身的定位的用户输入,所述定位由对于所述化身的位置和移动方向描述,所述三维空间的一部分被渲染在所述图形用户界面上;确定所述化身的所述定位与所述三维空间内的避免地带之间的距离;以及向用户提供在控制所述化身的所述定位时的计算机辅助引导,所述引导包括对所述三维空间内的所述化身的位置或者移动方向进行更改,计算机辅助引导的量随着在所述化身定位与所述避免地带之间的减小的距离而增大。2.根据权利要求1所述的方法,进一步包括,当所述化身定位与所述避免地带之间的距离减小到预定阈值以下时,移除所述计算机辅助引导。3.根据权利要求1所述的方法,进一步包括,如果计算出指示所述玩家化身将不与所述避免地带碰撞的轨迹,则移除所述计算机辅助引导,所述轨迹是至少部分基于所述化身的所述位置和移动方向的。4.根据权利要求1所述的方法,其中,所述计算机辅助引导促使化身通过穿过围绕所述避免地带的一侧的路径来避免所述避免地带,以及进一步包括: a.在所述设备处接收控制所述化身的所述位置和方向穿过围绕所述避免地带的相对一侧的路径的用户输入;以及 b.对所述玩家化身的位置或者运动连同所接收的玩家输入运用部分计算机辅助引导,以促使所述化身通过穿过围绕所述避免地带的相对一侧的路径来避免所述避免地带。5.—种用于控制支持图形用户界面的设备的计算机实施方法,其包括: 在所述设备处接收用于控制三维空间内的化身的定位的用户输入,所述定位由对于所述化身的位置和移动方向描述,所述三维空间的一部分被渲染在所述图形用户界面上;确定所述位置和移动方向是否指示所述化身将被控制为占据所述三维空间内的掩蔽物位置;以及 如果所述确定指示所述化身将被控制为占据所述掩蔽物位置,则向用户提供在控制所述化身的所述定位时的计算机辅助引导,所述引导包括控制所述化身占据所述掩蔽物位置。6.根据权利要求5所述的方法,其中,所述掩蔽物位置与第一预定区域相关联,以及其中,所述确定还将确定所述化身是否在所述第一预定区域内,并且如果是的话,则提供所述计算机辅助引导。7.根据权利要求6所述的方法,其中,所述掩蔽物位置与所述三维空间中的定位相关联,以及其中,所述第一预定区域与从所述定位起的预定半径内的区域或者体积相关联。8.根据权利要求5所述的方法,其中,如果所述确定是使得所述化身将不被控制为占据所述掩蔽物位置,则进一步包括提供计算机辅助引导来控制所述化身避免所述掩蔽物位置。9.根据权利要求5所述的方法,其中,如果所述确定是使得所述化身将不被控制为占据所述掩蔽物位置,则进一步包括移除所提供的计算机辅助引导。10.根据权利要求5所述的方法,其中,所述掩蔽物位置与小于所述第一预定区域并且在所述第一预定区域内的第二预定区域相关联,以及其中,确定所述位置和移动方向是否指示所述化身将被控制为占据所述三维空间内的掩蔽物位置包括确定与所述位置和运动方向相关联的轨迹是否与所述第二预定区域相交。
【文档编号】A63F13/577GK105848742SQ201480071067
【公开日】2016年8月10日
【申请日】2014年12月5日
【发明人】G.埃萨尔, A.戈德伯格
【申请人】微软技术许可有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1