掌桥专利:专业的专利平台
掌桥专利
首页

VR/AR多用户格斗类软件的时延补偿方法及系统

文献发布时间:2023-06-19 12:04:09


VR/AR多用户格斗类软件的时延补偿方法及系统

技术领域

本发明涉及时延补偿领域,具体的说,是涉及一种用于虚拟现实或增强现实软件环境中,多人格斗类的软件类型进行延迟补偿的方法及系统。

背景技术

在网络环境中运行的软件或者电子游戏,一个用户在与其他用户进行实时互动和交互时,网络延迟会使每个用户接收到信息的时间点不同,而接连导致不良的体验。延迟补偿的目的是减少网络延迟所带来的不良体验,并让所有用户都能得到一个满意的体验。

现在延迟补偿的方法有两种:

一种是“同步时间轴法”,即用户A和用户B在统一的时间轴中进行互动。例如,当网络延迟为200毫秒时,用户A输入命令后,此指令会在200毫秒后才被执行。同理,当用户B看到用户A做出的指令然后进行反应时,用户B的指令也会200毫秒之后才被执行。这意味着两个用户将同时存在于一个统一的时间轴,并目睹统一的事件发生。

另一种是“多时间轴法”,即用户A和用户B将经历不同的时间轴以及事件的结果,并且会将有适当的机制将不同的时间轴以及不同的事件结果进行合并处理,并最终回到统一的时间轴。例如,用户A启动攻击命令时,用户A会看到其虚拟角色立即执行此指令。而对于用户B来说,用户A的指令会在在200毫秒后才被执行并被用户B观察到,用户B可以做出相应的防御指令并看到自己的虚拟角色立刻执行此防御指令。在用户A的时间轴上,用户A会看到自己发出的指令成功的在用户B进行防御之前就击中了目标。但是在用户B的时间轴上,用户B成功对攻击做出了防御指令并成功地阻拦了用户A的攻击。这种方法中出现了两个不匹配的时间轴及事件结果:用户A看到用户B被击中了,但是用户B看到自己成功防御住了。那么接下来程序会根据此不同的时间轴进行合并以及结果统一化处理,程序会使用防守方(即用户B)的时间轴以及结果为基础进行合并统一。由于用户B对攻击做出了正确的反应,因此用户B的时间轴将用作统一时间轴的基础,所以用户A的时间轴将朝用户B的时间轴调整。这意味着用户A虽然看到了自己的进攻是成功的,但是结果会是用户B成功防御住了此次打击。常规上,使用此方法的电子游戏会试图通过视觉效果或其他动画机制来隐藏用户A对于结果判定的不对称,以使用户A的体验不会受到过多的影响。

但是随着网络技术的发展,虚拟现实(VR)、增强现实(AR)的应用逐渐增多,由于VR/AR的交互方法与传统PC或者其他游戏主机有着本质的不同,因此应用于传统PC或游戏机的补偿方法无法应用于VR/AR领域。随着VR和AR游戏的逐渐普及,VR/AR的网路游戏中所存在网路延迟的问题也逐渐的需要解决,并需要研制相应的延迟补偿解决方案。

发明内容

为了克服现有的技术的不足,本发明提供一种VR/AR多用户格斗类软件的时延补偿方法及系统。

本发明技术方案如下所述:

一种VR/AR多用户格斗类软件的时延补偿方法,其特征在于,

定义攻击事件发生的攻击方和防守方采用不同的时间轴,并产生不同的事件判定结果;

攻击方在攻击事件触发后一时间变量所限定的时间内等待防守方的信息回馈,以防守方对此攻击事件的判定后的回馈信息为基准对事件结果进行合并处理,将攻击方的事件判定结果调整为防守方的事件判定结果。

根据上述方案的本发明,其特征在于,在攻击事件发生时,以攻击方的时间轴为基准,确定攻击方发动攻击的时间点为攻击事件的触发时间点。

根据上述方案的本发明,其特征在于,以防守方的时间轴为基准,在攻击事件发生时,辨认防守方在此次攻击事件中所受到的伤害。

根据上述方案的本发明,其特征在于,在攻击方的时间轴中,攻击事件发生后,攻击方立刻对防守方产生的伤害定义为临时伤害;在等待并接收到防守方对此攻击事件的判定结果的回馈后,根据防守方的时间轴中对此攻击事件的判定结果,调整临时伤害并最终确定为确凿伤害。

根据上述方案的本发明,其特征在于,所述时间变量为固定值。

根据上述方案的本发明,其特征在于,所述时间变量为动态值。

另一方面,一种VR/AR多用户格斗类软件的时延补偿系统,包括硬件环境和软件环境,所述硬件环境用以为用户提供体验及交互的场所,所述软件环境规定用户交互的规则,其特征在于,所述软件环境还用以实现上述的VR/AR多用户格斗类软件的时延补偿方法。

根据上述方案的本发明,其特征在于,所述硬件环境包括具有6个自由度跟踪用的用户手持输入设备。

根据上述方案的本发明,其特征在于,所述用户交互的规则为格斗类多人对抗游戏规则。

根据上述方案的本发明,其有益效果在于,由于传统的针对PC或移动端等的游戏延迟补偿策略无法应用到虚拟现实/增强现实的网络游戏中,导致该类游戏出现网络延迟时用户的感知非常差,而本发明的时延补偿方法和系统可以应用在现有的虚拟现实/增强现实的网络游戏中,可以减少网络延迟所带来的不良体验,并让所有用户都能得到一个满意的体验。

附图说明

图1为本发明中用户A的时间轴中的实现流程图;

图2为本发明中用户B的时间轴中的实现流程图。

具体实施方式

下面结合附图以及实施方式对本发明进行进一步的描述:

在传统的PC、移动端或者Console(游戏设备,如PlayStation游戏机或Xbox游戏机)的硬件环境中运行的游戏软件中,角色的行动采用既定的动画来演绎玩家的指示,而这个既定的动画被赋予一个执行的帧数。在采用多时间轴方法应对延迟问题时,均通过软件内的“帧数差”来进行视觉欺骗,使得用户感觉不到不同时间轴进行统一的违和感。

在进行延迟补偿时,最常用的方法是通过调整帧数来合并时间轴。例如,由于网络延迟造成游戏存在5帧的延迟,当用户A使用一个帧数为15帧的动画攻击用户B时,用户B会在5帧(延迟时间)后才会看到用户A的攻击,此时在用户B的时间轴中,赋予用户A攻击动画仅有10帧。此时,用户A的时间轴中,用户A看到的是15帧的动画,而在用户B的时间轴中,用户B看到的是10帧的动画,因此用户A攻击到用户B的时间点是吻合的,唯一不同的是动画的帧数不同。通过这样的方式,来将不同用户的时间轴及对应事件结果进行统一。

然而在VR/AR多用户格斗类游戏中,虚拟形象的游戏动作是通过游戏玩家自身的动作进行实时还原的,其不能通过触发既定的动画来完成相应动作,也就无法使用调整帧数并结合时间轴的方法来处理网络延迟。

为了解决VR/AR多用户格斗类游戏中,无法使用现有多时间轴合并方式来处理延迟的问题,本发明提供一种VR/AR多用户格斗类软件的时延补偿系统,用以为多用户提供格斗游戏体验环境,包括VR(虚拟现实)环境和AR(增强现实)环境。后续实施例中将使用技术术语“虚拟环境”进行说明,但是本领域普通技术人员将认识到,本文的描述也可以应用于增强现实环境或任何其他合适的网络游戏环境。

该时延补偿系统包括硬件环境和软件环境。

硬件环境用以为用户提供体验及交互的场所,为其用户营造一个虚拟环境并允许用户在虚拟环境中进行体验以及互动。优选包括具有6个自由度跟踪用的用户手持输入设备,用户通过用户手持输入设备进行行为信号输入,进而通过软件环境转换为对应的格斗信号进行游戏。

软件环境规定用户交互的规则,本实施例中的软件环境规定了格斗类多人对抗游戏的规则及行为框架。该软件环境的规则及行为框架描述了一个格斗类两人或多人对抗游戏。在下述实施例中,两个用户(用户A和用户B)通过VR设备,被放置在一个虚拟场所中,在该虚拟环境中,用户A和用户B通过个人的行为转化为对应的游戏信号进行格斗体验。

该软件环境可以通过识别用户的动作,执行虚拟环境中的攻防动作。

在一个具体实施例中,两个用户都将通过VR设备,在虚拟环境中拥有一个虚拟化身作为代表他们在该虚拟环境中的存在。用户在虚拟环境中,通过VR设备的手持硬件,进行武打动作,软件环境会识别这些武打动作,并认定为攻击或防守动作。当攻击方成功实现攻击动作并成功击中另一用户的虚拟化身,则受到攻击的一方的HP指数(生命指数,下同)就会得到减少。

例如,用户A的HP指数为100分,用户B的HP指数也为100分。如果用户A在握住VR手动控制器的同时以一定速度挥动拳头,则该挥舞的动作将在虚拟环境中以挥拳的形式表示出来,并把该动作判定为进攻动作,当进攻动作碰撞到另一个用户B的虚拟化身,并对该用户B的HP指数造成损害,用户B亦可以通过格挡(或抵挡,减少承受的伤害)动作或躲避(规避伤害)动作来应对攻击。当某一方的HP指数归零或低于零,则游戏结束,HP指数为零的一方落败,另一方获胜。

上述格斗游戏的具体规则及框架为现有的网络格斗类游戏(包括VR游戏、AR游戏,下同)的基本规则和框架,本发明并未对具体的规则和框架进行限定和改进,故不再对具体的实现过程进行描述。上述软件环境还用以实现VR/AR多用户格斗类软件的时延补偿方法,通过该方法缓解(克服)网络延迟所带来的不良体验。

如图1、图2所示,一种VR/AR多用户格斗类软件的时延补偿方法,用于减少网络延迟所带来的不良体验,并让所有用户都能得到一个满意的体验。

首先,定义攻击事件发生的攻击方和防守方经历不同的时间轴,并产生不同的事件判定结果,即攻击方采用攻击方的时间轴,防守方采用防守方的时间轴。在本发明中,格斗类游戏的软件系统中允许不同的时间轴存在,具体的,不同的用户都拥有自己的时间轴和虚拟场景内发生的事件判断的结果,该软件系统可以认知所有产生的不同的时间轴和事件的判断结果。

在一个具体的实施例中,用户在属于自己的时间轴中不会感觉到任何延迟。例如延迟环境为200毫秒,用户A向用户B进行了一次攻击(假设伤害值为50点),在用户A的时间轴中,这个攻击指令将不会有任何延迟而立刻在用户A的虚拟场景中被虚拟化身执行;而用户B的时间轴中,则会在200毫秒后在用户B的虚拟场景中看到用户A的攻击并做出反应,这个反应在用户B的时间轴中也不会有任何延迟,但是在用户A的时间轴中用户B的反应动作会有200毫秒的延迟。

假设用户B在属于自己的时间轴中针对用户A的进攻做出了及时的反应,并成功躲过了用户A的进攻而免受到任何伤害,但是在用户A的时间轴中用户B因为晚反应了200毫秒而没有躲过进攻并遭到了伤害。这就在两个不同的时间轴(用户A的时间轴和用户B的时间轴)中出现了两个不同的事件判断结果:在用户A时间轴中,此次进攻的判定结果为击中,并造成50点伤害,用户B的HP指数减少为50(100-50)点;但在用户B时间轴中,用户B成功躲避了用户A的进攻,然后免受到任何伤害,用户B的HP指数依然为100点。

由此,两不同的时间轴中出现了针对一次交互事件(用户A向用户B进攻)的两个不同判定结果,进而造成了两个不同的状态:用户B的HP指数在用户A时间轴中为50点,但在用户B的自身的时间轴中为100点。

其次,在上述不同时间轴及不同时间轴对应的不同的事件判定结果的基础上,对不同的时间轴产生的不同的事件判定结果(包括所有用户的血量、击打数据(例如成功击中、成功躲避、成功防守等游戏相关数据)等)进行合并统一,形成统一的结果,并统一判定该结果造成的状态。

1、先对伤害的概念进行重新定义,包括“临时伤害”和“确凿伤害”。

在攻击方的时间轴中,攻击事件发生后,攻击方立刻对防守方产生的伤害定义为临时伤害;在攻击方的事件进行合并统一后,根据防守方的事件判定结果,将临时伤害取消或将临时伤害转换为确凿伤害。

在本发明中,假设用户A攻击用户B,在用户A的时间轴中,用户A攻击到用户B所造成的伤害定义为“临时伤害”,即50点的“临时伤害”;若在用户B的时间轴中,用户B确实遭受到了该伤害,且没有进行有效抵挡或躲避,那么在用户B的时间轴中,用户B遭受了50点的“确凿伤害”,对应的,在用户A的时间轴中,用户B所受到的“临时伤害”转化为“确凿伤害”。

若在用户B的时间轴中,用户B针对用户A的攻击做出了有效抵挡或躲避,那么用户A的攻击无效,用户B的HP指数仍旧为100点;对应的,在用户A的时间轴中,用户A对于用户B的“临时伤害”被取消(即“确凿伤害”为0)。

2、系统判定事件的触发时间点。

在本发明中,在攻击事件发生时,触发事件以攻击方的时间轴为准,并以攻击方时间轴中其攻击动作发生时间为事件的触发时间点。在本实施例中,事件的触发时间点为在用户A的时间轴中,用户A攻击用户B的时刻。

3、合并统一处理步骤

攻击方在攻击事件触发后,在一定时间变量内等待防守方的信息回馈,以防守方对此攻击事件判定所回馈的信息为基准对事件结果进行合并处理,将攻击方的事件判定结果调整为防守方的事件判定结果。具体的:

(1)时间变量

先在软件系统中设定一个时间变量,在攻击事件触发后,攻击方在不超过该时间变量的时间值内等待防守方的回馈信息包,再以该反馈信息包中的信息为基准进行时间轴的合并统一处理。

该时间变量为固定值或动态值。在一个优选实施例中,此时间变量的固定值选用1秒钟;在另一个实施例中,此时间变量为根据网络延迟而变化的动态值(该变化规律可根据情况设定)。

(2)实施辨认

合并统一处理的步骤包括了实施辨认的步骤。该步骤中,在攻击事件发生时,确定以防守方(即用户B,下同)的时间轴为基准,辨认防守方在受到攻击时的防守是否有发生并有效。

在防守方的时间轴中,若防守方成功躲避或抵挡了攻击方的进攻,并没有受到任何伤害,则认定进攻方的攻击无效。若认定攻击方的攻击无效,在上述实施例中的用户B的HP指数仍旧为100点;若防守方的防守对于攻击方的防守部分有效,例如,用户B对于用户A的攻击只能起到25点的防守效果,那么用户A的攻击部分有效,该判定过程与全部抵挡的效果类似,不再具体论述。

(3)合并统一

基于攻击方触发的攻击事件,在防守方的时间轴中,当防守方接收到这个攻击事件后,防守方终端根据防守方的防守情况向攻击方终端发送对此次攻击事件的判定结果的回馈信息包。如攻击方能够及时(即在设定的时间变量范围内)接收到防守方发送的回馈信息包,则以防守方发送的回馈信息包中所带有的判断结果为基准,将两个不同时间轴中的不同判定结果进行统一合并处理,即将攻击方的时间轴的事件结果修正为防守方的时间轴的事件结果。具体的,合并统一的处理将会进一步调整攻击方(用户A)的时间轴中防守方(用户B)的HP指数以及其他必要的游戏参数。

例如,用户A向用户B发动50点伤害的攻击:若在用户B的时间轴中,用户B成功抵挡,则在用户A的时间轴中,产生的50点“临时伤害”被取消(即确定“确凿伤害”为0);若在用户B的时间轴中,用户B没有躲避或抵挡用户A的攻击并遭受了50点的伤害,在合并统一处理后,在用户A的时间轴中,该50点的“临时伤害”转化为50点的“确凿伤害”。

在一个具体实施例中,如果攻击方没能在时间变量所设定的时间内接收到防守方发送的回馈信息包,则攻击方时间轴中的判定结果则不会改变,并将“临时伤害”直接转换为“确凿伤害”。同时,攻击方终端将会发送回馈信息包给防守方终端,防守方终端接收到回馈信息包后,以该回馈信息包的结果为基准进行攻击事件判定结果的修正。

例如,设定事件变量为固定值1秒钟:如果用户A(攻击方)未在1秒钟内收到用户B(防守方)发送的回馈信息包,则用户A所造成的50点“临时伤害”会直接确认为“确凿伤害”,并将该结果以回馈信息包的形式发送至用户B的终端;用户B的终端会收到回馈信息包,无条件的把自身时间轴中自身的HP值减少50点。

在一种实施例中,为了保证攻击的连贯性,将攻击方所有的攻击行为转化为所造成的“临时伤害”最终的“确凿伤害”后,再进行胜负判断,即在所有伤害被判定为“确凿伤害”或“无效”后才进行HP指数判定。具体的:如果用户B的HP指数为0的时候,若用户A的时间轴中还存在“临时伤害”的余额时,则需要等待所有的“临时伤害”余额转化为“确凿伤害”或“无效”后才宣布用户A比赛获胜。若“临时伤害”没有得到有效转换(即转为“确凿伤害”),而是被取消,则用户B的HP指数将会恢复,并继续比赛。

另外一种实施例中,攻击方(用户A)造成的“临时伤害”让防守方(用户B)的HP指数在攻击方的时间轴中已经等于或低于零,则攻击方的终端会向防守方的终端发送胜利信息包,并直接获得此次胜利或击倒。

上述实施例中以用户A和用户B两个用户的攻防动作作为示例进行说明,对于多个(三个及以上)用户的相互攻防动作,每两个用户之间的攻防交互视为一攻击方与一防守方之间的交互,其原理与两个用户之间的相互配对关系相同,可以与上述实现过程相类似,此处不再累述。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

上面结合附图对本发明专利进行了示例性的描述,显然本发明专利的实现并不受上述方式的限制,只要采用了本发明专利的方法构思和技术方案进行的各种改进,或未经改进将本发明专利的构思和技术方案直接应用于其它场合的,均在本发明的保护范围内。

相关技术
  • VR/AR多用户格斗类软件的时延补偿方法及系统
  • 一种VR/AR装置及其防撞方法、VR/AR装置系统
技术分类

06120113157528