CN111714891B - 角色攀爬方法、装置、计算机设备及可读存储介质 - Google Patents

角色攀爬方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN111714891B
CN111714891B CN202010573843.6A CN202010573843A CN111714891B CN 111714891 B CN111714891 B CN 111714891B CN 202010573843 A CN202010573843 A CN 202010573843A CN 111714891 B CN111714891 B CN 111714891B
Authority
CN
China
Prior art keywords
obstacle
target
role
vector
detection
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.)
Active
Application number
CN202010573843.6A
Other languages
English (en)
Other versions
CN111714891A (zh
Inventor
李宁徽
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.)
Suzhou Magic Tower Network Technology Co ltd
Original Assignee
Suzhou Magic Tower Network Technology Co ltd
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 Suzhou Magic Tower Network Technology Co ltd filed Critical Suzhou Magic Tower Network Technology Co ltd
Priority to CN202010573843.6A priority Critical patent/CN111714891B/zh
Publication of CN111714891A publication Critical patent/CN111714891A/zh
Priority to PCT/CN2020/130395 priority patent/WO2021258627A1/zh
Application granted granted Critical
Publication of CN111714891B publication Critical patent/CN111714891B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

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

Abstract

本发明公开了一种角色攀爬方法、装置、计算机设备及计算机可读存储介质,涉及游戏设计技术领域,向障碍物发射检测射线,接收检测射线在命中障碍物后返回的法向量并计算角色朝向,进行攀爬,无需设置路线,攀爬范围没有限制,保证游戏的真实性,赋予角色生命力,增强玩家的游戏体验。所述方法包括:确定与目标角色发生碰撞的障碍物;在识别确定障碍物允许交互且地形满足攀爬条件下,基于目标角色向障碍物发射检测射线,确定组成障碍物的至少一个墙面;接收检测射线在命中至少一个墙面后返回的至少一个法向量,采用至少一个法向量计算目标角色的角色朝向;获取目标角色携带的速度向量,控制目标角色按照角色朝向以及速度向量紧贴障碍物进行攀爬。

Description

角色攀爬方法、装置、计算机设备及可读存储介质
技术领域
本发明涉及游戏设计技术领域,特别是涉及一种角色攀爬方法、装置、计算机设备及可读存储介质。
背景技术
随着生活水平的提高,人们的生存质量和生活环境发生了翻天覆地的变化,大规模的城市建设,给人们的生活带来高品质享受的同时,也带来了巨大的压力,人们在压力环境下容易出现焦虑、精神不集中、工作无法正常完成等问题,因此,很多可以用于缓解疲劳的游戏应运而生。近年来,游戏设计技术飞速发展,为了更好的游戏体验,游戏开发人员对游戏的要求也越来越高,现在市面上的很多游戏都十分注重玩家在游戏时与游戏世界中的地形、建筑等的交互,所以在游戏中增加了角色的攀爬、翻越等功能,使得游戏的玩法增加,玩家可以体会别样的游戏感受。
相关技术中,游戏在设计时,游戏开发人员会在游戏中对可以攀爬的建筑进行标记,并以打点的方式,沿着可以攀爬的建筑制作攀爬路线,这样,玩家在游戏时,便可以控制自己的角色在游戏世界中按照设计的攀爬路线进行攀爬,实现对游戏世界的探索。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
攀爬路线一般设计在特定的建筑物上,只有在特定的建筑物上玩家才能控制角色进行攀爬,而且攀爬路线也是固定的,对于攀爬路线没有涉及到的区域,玩家无法控制角色进行攀爬,角色攀爬的范围受到局限,导致游戏失真且游戏的角色缺乏生命力,游戏的智能性较差。
发明内容
有鉴于此,本发明提供了一种角色攀爬方法、装置、计算机设备及可读存储介质,主要目的在于解决目前玩家无法控制角色进行攀爬,角色攀爬的范围受到局限,导致游戏失真且游戏的角色缺乏生命力,游戏的智能性较差的问题。
依据本发明第一方面,提供了一种角色攀爬方法,该方法包括:
确定与目标角色发生碰撞的障碍物;
在识别确定所述障碍物允许交互且地形满足攀爬条件下,基于所述目标角色向所述障碍物发射检测射线,确定组成所述障碍物的至少一个墙面;
接收所述检测射线在命中所述至少一个墙面后返回的至少一个法向量,采用所述至少一个法向量计算所述目标角色的角色朝向;
获取所述目标角色携带的速度向量,控制所述目标角色按照所述角色朝向以及所述速度向量紧贴所述障碍物进行攀爬。
在另一个实施例中,所述确定与目标角色发生碰撞的障碍物之后,所述方法还包括:
获取所述障碍物的实体属性;
当所述障碍物的实体属性指示所述障碍物允许交互时,检测所述障碍物是否允许推动以及是否允许翻越;
若检测到所述障碍物不允许推动且不允许翻越,则查询所述障碍物是否携带禁止攀爬标记;
若查询到所述障碍物未携带所述禁止攀爬标记,则以所述目标角色的中心点为起点,向水平方向发射预设长度的检测射线,并接收所述检测射线返回的检测结果;
当所述检测结果显示所述障碍物为虚拟爬梯时,控制所述目标角色沿着所述虚拟爬梯的铺设轨迹进行攀爬;
当所述检测结果显示所述障碍物并非所述虚拟爬梯时,识别确定所述障碍物允许交互且所述地形满足所述攀爬条件。
在另一个实施例中,所述检测所述障碍物是否允许推动以及是否允许翻越之后,所述方法还包括:
当检测到所述障碍物允许推动时,将所述目标角色调整至推动状态,控制所述目标角色推动所述障碍物,并省略检测所述障碍物是否允许翻越的过程;
当检测到所述障碍物不允许推动时,检测所述障碍物是否允许翻越,并在确定所述障碍物允许翻越时,将所述目标角色调整至翻越状态,控制所述目标角色翻越所述障碍物。
在另一个实施例中,所述基于所述目标角色向所述障碍物发射检测射线,确定组成所述障碍物的至少一个墙面,包括:
控制所述目标角色贴近所述障碍物;
基于所述速度向量,确定所述目标角色的分速度以及所述分速度指示的分速度方向,所述分速度是所述目标角色在所述速度向量指示的前进方向的左向速度或右向速度;
向所述分速度方向发射检测射线;
若所述检测射线命中所述障碍物,则将命中的实体作为所述至少一个墙面;
若所述检测射线未命中所述目标墙面,则分别向所述前进方向、所述前进方向的左侧以及所述前进方向的右侧发射所述检测射线,并将所述检测射线命中的实体作为所述至少一个墙面。
在另一个实施例中,所述控制所述目标角色贴近所述障碍物,包括:
确定所述速度向量指示的所述目标角色的前进方向;
以所述目标角色的当前位置为起点,控制所述目标角色向所述前进方向进行碰撞,将所述目标角色与所述障碍物发生碰撞的位置确定为墙面位置;
将所述目标角色调整至所述墙面位置指示的位置,紧贴所述障碍物。
在另一个实施例中,所述基于所述速度向量,确定所述目标角色的分速度以及所述分速度指示的分速度方向,包括:
将所述速度向量投影在所述目标角色的前进方向右侧的水平线上,得到所述分速度;
将所述速度向量与所述分速度相乘,得到速度乘积;
当所述速度乘积的取值为正数时,将所述分速度方向设置为所述前进方向的右向;
当所述速度乘积的取值为负数时,将所述分速度方向设置为所述前进方向的右向。
在另一个实施例中,所述采用所述至少一个法向量计算所述目标角色的角色朝向,包括:
计算所述至少一个法向量的第一向量和,将所述第一向量和标准化,得到标准向量和;
对所述标准向量和进行取反操作,将取反后的所述标准向量和指示的方向作为所述角色朝向。
在另一个实施例中,所述获取所述目标角色携带的速度向量,控制所述目标角色按照所述角色朝向以及所述速度向量紧贴所述障碍物进行攀爬之后,所述方法还包括:
当检测到玩家控制所述目标角色进行转向时,获取所述玩家向所述目标角色输入的待转向速度向量;
计算所述待转向速度向量与所述速度向量的向量差值,将所述向量差值指示的方向作为待转向方向;
控制所述目标角色向角色朝向往所述待转向方向进行过渡。
依据本发明第二方面,提供了一种角色攀爬装置,该装置包括:
确定模块,用于确定与目标角色发生碰撞的障碍物;
发射模块,用于在识别确定所述障碍物允许交互且地形满足攀爬条件下,基于所述目标角色向所述障碍物发射检测射线,确定组成所述障碍物的至少一个墙面;
第一计算模块,用于接收所述检测射线在命中所述至少一个墙面后返回的至少一个法向量,采用所述至少一个法向量计算所述目标角色的角色朝向;
控制模块,用于获取所述目标角色携带的速度向量,控制所述目标角色按照所述角色朝向以及所述速度向量紧贴所述障碍物进行攀爬。
在另一个实施例中,所述确定与目标角色发生碰撞的障碍物之后,所述方法还包括:
第一获取模块,用于获取所述障碍物的实体属性;
第一检测模块,用于当所述障碍物的实体属性指示所述障碍物允许交互时,检测所述障碍物是否允许推动以及是否允许翻越;
查询模块,用于若检测到所述障碍物不允许推动且不允许翻越,则查询所述障碍物是否携带禁止攀爬标记;
所述发射模块,还用于若查询到所述障碍物未携带所述禁止攀爬标记,则以所述目标角色的中心点为起点,向水平方向发射预设长度的检测射线,并接收所述检测射线返回的检测结果;
所述控制模块,还用于当所述检测结果显示所述障碍物为虚拟爬梯时,控制所述目标角色沿着所述虚拟爬梯的铺设轨迹进行攀爬;
所述发射模块,还用于当所述检测结果显示所述障碍物并非所述虚拟爬梯时,识别确定所述障碍物允许交互且所述地形满足所述攀爬条件。
在另一个实施例中,所述装置还包括:
推动模块,用于当检测到所述障碍物允许推动时,将所述目标角色调整至推动状态,控制所述目标角色推动所述障碍物,并省略检测所述障碍物是否允许翻越的过程;
翻越模块,用于当检测到所述障碍物不允许推动时,检测所述障碍物是否允许翻越,并在确定所述障碍物允许翻越时,将所述目标角色调整至翻越状态,控制所述目标角色翻越所述障碍物。
在另一个实施例中,所述发射模块,包括:
控制单元,用于控制所述目标角色贴近所述障碍物;
第一确定单元,用于基于所述速度向量,确定所述目标角色的分速度以及所述分速度指示的分速度方向,所述分速度是所述目标角色在所述速度向量指示的前进方向的左向速度或右向速度;
发射单元,用于向所述分速度方向发射检测射线;
第二确定单元,用于若所述检测射线命中所述障碍物,则将命中的实体作为所述至少一个墙面;
所述第二确定单元,还用于若所述检测射线未命中所述目标墙面,则分别向所述前进方向、所述前进方向的左侧以及所述前进方向的右侧发射所述检测射线,并将所述检测射线命中的实体作为所述至少一个墙面。
在另一个实施例中,所述控制单元,用于确定所述速度向量指示的所述目标角色的前进方向;以所述目标角色的当前位置为起点,控制所述目标角色向所述前进方向进行碰撞,将所述目标角色与所述障碍物发生碰撞的位置确定为墙面位置;将所述目标角色调整至所述墙面位置指示的位置,紧贴所述障碍物。
在另一个实施例中,所述第一确定单元,用于将所述速度向量投影在所述目标角色的前进方向右侧的水平线上,得到所述分速度;将所述速度向量与所述分速度相乘,得到速度乘积;当所述速度乘积的取值为正数时,将所述分速度方向设置为所述前进方向的右向;当所述速度乘积的取值为负数时,将所述分速度方向设置为所述前进方向的右向。
在另一个实施例中,所述第一计算模块,用于计算所述至少一个法向量的第一向量和,将所述第一向量和标准化,得到标准向量和;对所述标准向量和进行取反操作,将取反后的所述标准向量和指示的方向作为所述角色朝向。
在另一个实施例中,所述装置还包括:
第二获取模块,用于当检测到玩家控制所述目标角色进行转向时,获取所述玩家向所述目标角色输入的待转向速度向量;
第二计算模块,用于计算所述待转向速度向量与所述速度向量的向量差值,将所述向量差值指示的方向作为待转向方向;
所述控制模块,还用于控制所述目标角色向角色朝向往所述待转向方向进行过渡。
依据本发明第三方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
依据本发明第四方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。
借由上述技术方案,本发明提供的一种角色攀爬方法、装置、计算机设备及可读存储介质,本发明可以确定与目标角色发生碰撞的障碍物,在识别确定障碍物允许交互且地形满足攀爬条件下,基于目标角色向障碍物发射检测射线,确定组成障碍物的至少一个墙面,并接收检测射线在命中至少一个墙面后返回的至少一个法向量,采用至少一个法向量计算目标角色的角色朝向,进而获取目标角色携带的速度向量,控制目标角色按照角色朝向以及速度向量紧贴障碍物进行攀爬,使得障碍物上无需设置任何固定的攀爬路线,通过目标角色与障碍物之间持续进行射线检测来确定目标角色想要行进的方向,从而控制目标角色自动在障碍物上进行攀爬,角色的攀爬范围不会受到限制,保证游戏的真实性,赋予游戏角色生命力,提高了游戏的智能性,增强玩家的游戏体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种角色攀爬方法流程示意图;
图2A示出了本发明实施例提供的一种角色攀爬方法流程示意图;
图2B示出了本发明实施例提供的一种角色攀爬方法流程示意图;
图2C示出了本发明实施例提供的一种角色攀爬方法流程示意图;
图2D示出了本发明实施例提供的一种角色攀爬方法的示意图;
图2E示出了本发明实施例提供的一种角色攀爬方法的示意图;
图3A示出了本发明实施例提供的一种角色攀爬装置的结构示意图;
图3B示出了本发明实施例提供的一种角色攀爬装置的结构示意图;
图3C示出了本发明实施例提供的一种角色攀爬装置的结构示意图;
图3D示出了本发明实施例提供的一种角色攀爬装置的结构示意图;
图3E示出了本发明实施例提供的一种角色攀爬装置的结构示意图;
图4示出了本发明实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种角色攀爬方法,如图1所示,该方法包括:
101、确定与目标角色发生碰撞的障碍物。
102、在识别确定障碍物允许交互且地形满足攀爬条件下,基于目标角色向障碍物发射检测射线,确定组成障碍物的至少一个墙面。
103、接收检测射线在命中至少一个墙面后返回的至少一个法向量,采用至少一个法向量计算目标角色的角色朝向。
104、获取目标角色携带的速度向量,控制目标角色按照角色朝向以及速度向量紧贴障碍物进行攀爬。
本发明实施例提供的方法,可以确定与目标角色发生碰撞的障碍物,在识别确定障碍物允许交互且地形满足攀爬条件下,基于目标角色向障碍物发射检测射线,确定组成障碍物的至少一个墙面,并接收检测射线在命中至少一个墙面后返回的至少一个法向量,采用至少一个法向量计算目标角色的角色朝向,进而获取目标角色携带的速度向量,控制目标角色按照角色朝向以及速度向量紧贴障碍物进行攀爬,使得障碍物上无需设置任何固定的攀爬路线,通过目标角色与障碍物之间持续进行射线检测来确定目标角色想要行进的方向,从而控制目标角色自动在障碍物上进行攀爬,角色的攀爬范围不会受到限制,保证游戏的真实性,赋予游戏角色生命力,提高了游戏的智能性,增强玩家的游戏体验。
本发明实施例提供了一种角色攀爬方法,如图2A所示,该方法包括:
201、确定与目标角色发生碰撞的障碍物。
发明人认识到,目前的很多游戏中都增加了角色的攀爬功能,为了实现这个攀爬功能,游戏的开发人员在特定的建筑物上设置了特定的攀爬路线,玩家在游戏世界中只能控制自己的角色在这些特定的建筑物上攀爬,而且只能沿着攀爬路线进行攀爬,这就导致玩家在游戏世界中的行动受到限制,玩家无法控制角色自由的探索游戏世界。为了解决上述问题,本发明提出了一种角色攀爬的方法,在实现该角色攀爬方法时,考虑到游戏世界中有些障碍物是可以直接推动、翻越以及进行其他交互的,因此,对障碍物的地形进行检测,当确定该障碍物不是可以推动、翻越以及进行其他交互的障碍物时,就可以确定该障碍物的地形允许进行攀爬,便提供对障碍物的攀爬功能,且自动检测组成障碍物的墙面,确定障碍物的墙面形状,以便按照墙面形状以及角色携带的速度向量,控制角色按照障碍物的实际情况进行攀爬,无需为障碍物设置攀爬路线,通过上述的过程,玩家可以控制角色自由在障碍物上攀爬,提高了游戏的真实性。
而玩家在希望控制角色进行爬行时,首先就是需要通过与障碍物进行碰撞来触发角色的爬行,因此,当玩家的目标角色发生碰撞时,确定与目标角色发生碰撞的障碍物,以便后续通过对障碍物进行一系列的检测,确定障碍物是否可以进行攀爬以及在确定可以攀爬后按照玩家的指示进行攀爬操作。其中,游戏中可以设置回调函数MoveBlockedBy(障碍移动),基于该回调函数确定目标角色是否与障碍物发生碰撞,并基于该回调函数实现触发下述对障碍物的地形进行检测。
202、对障碍物进行识别。
在本发明实施例中,当确定了障碍物后,考虑到游戏世界中有些障碍物是可以直接推动、翻越以及进行其他交互的,因此,需要对障碍物的地形进行识别。其中,由于在游戏中为了可以对游戏世界中的实体进行区分以及集成管理,通常会为每个实体设置与其对应的实体属性,用该实体属性来指示实体是哪种物体是用来做什么的是否可以与角色进行交互等等,因此,可以利用游戏世界中实体对应的实体属性,对障碍物进行一个大致的识别,也即获取障碍物的实体属性,当障碍物的实体属性指示障碍物允许交互时,表明该障碍物是可以与目标角色进行推动、翻越、攀爬中任一种交互的,而推动以及翻越都是具有固定的执行模式的,所以,进一步地,需要识别障碍物是否允许推动以及是否允许翻越。若识别到障碍物允许推动,则将目标角色调整至推动状态,控制目标角色推动障碍物即可,也无需执行下述识别障碍物是否允许翻越以及是否可以攀爬的过程。若识别到障碍物不允许推动,则继续识别障碍物是否允许翻越,并在确定障碍物允许翻越时,将目标角色调整至翻越状态,控制目标角色翻越障碍物,也无需执行下述识别障碍物是否允许攀爬的过程。
而若识别到障碍物不允许推动且不允许翻越,则需要继续确定该障碍物是否可以攀爬,确定是否可以攀爬是通过查询障碍物是否携带禁止攀爬标记实现的。在查询障碍物是否携带禁止攀爬标记时,若查询到障碍物未携带禁止攀爬标记,则表示该障碍物是可以进行攀爬的,而在游戏世界中,可以攀爬的障碍物一般分为两种类型,一种是诸如山、高楼等的实体,这种实体是可以为玩家提供自由攀爬的功能的,而另一种是虚拟爬梯,虚拟爬梯也就是梯子,一般来说,梯子的大小是固定的,使得梯子可以提供的攀爬范围也是固定的,目标角色只能沿着梯子进行攀爬,所以,在确定障碍物可以进行攀爬后,需要以目标角色的中心点为起点,向水平方向发射预设长度的检测射线,并接收检测射线返回的检测结果,根据该检测结果确定该障碍物是否为虚拟爬梯。当检测结果显示障碍物为虚拟爬梯时,表示目标角色只能沿着虚拟爬梯进行攀爬,虚拟爬梯营造的环境不具有提供自由攀爬的条件,因此,控制目标角色沿着虚拟爬梯的铺设轨迹进行攀爬。而当检测结果显示障碍物并非虚拟爬梯时,表明该障碍物并不是虚拟爬梯,确定是诸如山、高楼等实体,这种实体可以提供一定范围的攀爬区域,在这一定范围的攀爬区域内,目标角色是可以自由攀爬的,因此,通过整个过程可以确定识别到障碍物不仅允许交互,而且障碍物的地形也满足攀爬条件,可以继续执行下述步骤203中的过程。
在实际应用的过程中,整个对障碍物的地形进行识别的过程总结如下:
参见图2B,首先确定该障碍物是否可以进行交互,如果该障碍物不可以交互,则结束当前流程。如果该障碍物可以交互,则继续判断该障碍物是否可以推动。如果该障碍物是可以推动的,则直接控制目标角色进入推动状态,对该障碍物进行推动,并结束当前流程。如果该障碍物不可以推动,则继续判断该障碍物是否可以翻越。如果该障碍物是可以翻越的,则直接控制目标角色进入翻越状态,翻越该障碍物,并结束当前流程。如果该障碍物不可以翻越,则查询该障碍物是否携带禁止攀爬标记。如果该障碍物携带了禁止攀爬标记,则表示该障碍物在游戏世界中是不允许攀爬的,直接结束当前流程,不提供攀爬功能即可。如果该障碍物未携带禁止攀爬标记,则表示该障碍物可以进行攀爬,需要进一步确定该障碍物是否为虚拟爬梯。当确定该障碍物为虚拟爬梯时,直接控制目标角色沿着虚拟爬梯进行攀爬即可。当确定该障碍物不是虚拟爬梯时,便确定该障碍物可以提供自由攀爬的功能,继续执行对障碍物的其他识别并按照玩家的操作控制目标角色在障碍物上进行攀爬。
203、在识别确定所述障碍物允许交互且地形满足攀爬条件下,基于目标角色向障碍物发射检测射线,确定组成障碍物的至少一个墙面。
在本发明实施例中,考虑到游戏世界中的障碍物很多都是不规则形状的,而在不规则形状的障碍物上进行攀爬时,角色相对于障碍物的法向量都是不同的,只有确定了目标角色的位置与障碍物形成的法向量才能精准的确定目标角色的角色朝向,因此,当检测到障碍物的地形允许攀爬时,需要确定组成障碍物的至少一个墙面,进而确定目标角色的角色朝向。其中,在确定组成障碍物的至少一个墙面时,可以基于目标角色向障碍物发射检测射线,根据检测射线是否命中以及命中后检测射线返回的内容确定障碍物覆盖到哪些范围。
在确定组成障碍物的至少一个墙面时,首先,控制目标角色贴近障碍物。其中,在控制目标角色贴近障碍物时,由于玩家如果希望目标角色在障碍物上进行攀爬时,会通过摇杆对目标角色进行控制,使得目标角色会携带速度向量,因此,可以先确定该目标角色携带的速度向量,确定速度向量指示的目标角色的前进方向,进而以目标角色的当前位置为起点,控制目标角色向前进方向进行碰撞,将目标角色与障碍物发生碰撞的位置确定为墙面位置,并将目标角色调整至墙面位置指示的位置,以使得目标角色紧贴障碍物。在实际应用的过程中,上述将目标角色紧贴障碍物的过程可以基于函数MoveAlongVines(沿途行进)实现,在该函数中,可将目标角色视为一个玩家胶囊体,以玩家胶囊体为形状,玩家胶囊体的位置为起点,按照速度向量的指示向前方做一次碰撞检测,检测障碍物的墙面位置,以便使玩家胶囊体可以紧贴障碍物进行运动。
随后,完成了目标角色紧贴障碍物后,基于速度向量,确定目标角色的分速度以及分速度指示的分速度方向。其中,游戏世界是3D(Three Dimensions,三维)世界,目标角色的速度向量是一个三维变量,也即虚拟引擎中的FVector(其他类矢量),该速度向量是可以分解前后、左右和上下三个方向上的分量的。而由于攀爬时目标角色需要紧贴障碍物,前后方向上的速度分量用于碰撞测试中,因此,在确定角色朝向时,需要应用左右方向上的速度,也就是目标角色在速度向量指示的前进方向的左向速度或右向速度,也即本发明实施例中的分速度,以使后续通过对分速度进行处理计算就可以确定目标角色的角色朝向。在确定分速度时,将速度向量投影在目标角色的前进方向右侧的水平线上,得到分速度,并将速度向量与分速度相乘,得到速度乘积。这样,当速度乘积的取值为正数时,确定目标角色是存在右向的速度的,可将分速度方向设置为前进方向的右向。当速度乘积的取值为负数时,确定目标角色不存在右向的速度,而存在左向的速度,因此,将分速度方向设置为前进方向的右向。
最后,确定了分速度后,便向分速度方向发射检测射线。若检测射线命中障碍物,则可直接将命中的实体作为至少一个墙面。若检测射线未命中目标墙面,则需要分别向前进方向、前进方向的左侧以及前进方向的右侧发射检测射线,并将检测射线命中的实体作为至少一个墙面。其中,根据检测射线是否命中障碍物来确定至少一个墙面分为多种可能,因此,对多种可能分别进行描述,整个墙面的检测过程如下:
参见图2C,确定分速度方向,如果存在分速度,则向分速度方向发射检测射线。当检测射线命中障碍物时,可直接将命中的实体作为至少一个墙面。另外,参见图2D,圆形代表目标角色,如果障碍物为图示的形状,则目标角色在图2D中所示的三个位置对障碍物进行墙面的检测是可以直接基于分速度方向进行的射线检测命中的,因此,进一步地,还可以确定障碍物的至少一个墙面的形状为图2D所示的形状,也即N型朝内墙面,且目标角色与至少一个墙面的相对位置可能为图2D中所示的任一种可能,这样,在后续可以根据命中的检测射线返回的内容确定角色朝向,以便控制目标角色进行转向。当检测射线没有命中障碍物时,就需要对目标角色进行多方位的检测。首先,可以向目标角色的前进方向的左侧发射检测射线。如果该检测射线没有命中障碍物,则从目标角色的左前方开始持续向右侧发射检测射线,并在检测射线命中时可以直接确定命中的实体即为至少一个墙面。需要说明的是,在这个持续发射检测射线的过程中,左侧没有命中说明目标角色的左侧是没有遮挡的,但是在移动发射检测射线的过程中是存在遮挡的,由此可以推断障碍物的至少一个墙面可能是图2E所示的形状,也即U型朝外墙面,而目标角色与至少一个墙面的相对位置为第一种可能,这样,在后续可以根据命中的检测射线返回的内容确定角色朝向,以便控制目标角色进行转向。如果在向目标角色的前进方向的左侧发射检测射线命中了,则可将命中的实体作为组成障碍物的左侧墙面,记录该左侧墙面,并在随后向目标角色的前进方向的右侧发射检测射线,确定是否存在右侧墙面。另外,在从目标角色的左前方开始持续向右侧发射检测射线时,也是存在没有命中任何实体的可能的,所以,如果从目标角色的左前方开始持续向右侧发射检测射线时没有发生命中,则也向目标角色的前进方向的右侧发射检测射线,确定是否存在右侧墙面。在向目标角色的前进方向的右侧发射检测射线后,如果检测射线命中了实体,则可将命中的实体作为组成障碍物的右侧墙面,记录该右侧墙面,并继续向目标角色的中间方向发射检测射线。如果向目标角色的前进方向的右侧发射检测射线没有命中,则需要从目标角色的右前方开始持续向左侧发射检测射线,并在检测射线命中时可以直接确定命中的实体即为至少一个墙面。需要说明的是,在这个持续发射检测射线的过程中,右侧没有命中说明目标角色的右侧是没有遮挡的,但是在移动发射检测射线的过程中是存在遮挡的,由此可以推断障碍物的至少一个墙面可能是图2E所示的形状,也即U型朝外墙面,而目标角色与至少一个墙面的相对位置为第三种可能,这样,在后续可以根据命中的检测射线返回的内容确定角色朝向,以便控制目标角色进行转向。而如果在从目标角色的右前方开始持续向左侧发射检测射线时,没有发生命中,则需要清零右侧墙面,并开始向目标角色的中间往前方发射检测射线。另外,在上述向目标角色的前进方向的右侧发射检测射线后发生了命中,并记录了右侧墙面后,也开始向目标角色的中间往前方发射检测射线。如果向目标角色的中间往前方发射检测射线没有发生命中,则清零中间的向量,并在后续根据上述过程中命中的检测射线返回的内容计算角色朝向。如果向目标角色的中间往前方发射检测射线发生命中,则可以确定目标角色与至少一个墙面的相对位置为图2E中所示的第二种可能,接收该命中的检测射线返回的内容,进而确定目标角色的角色朝向。
通过上述过程,便可以确定组成障碍物的至少一个墙面,进而在后续可以通过至少一个墙面与目标角色的相对位置,确定目标角色与至少一个墙面之间的法向量,以便根据法向量精确的计算目标角色的角色朝向。需要说明的是,上述确定至少一个墙面的过程可以通过函数UpdateVinesInfo(更新路线信息)实现,通过该函数可以在游戏世界中的每一帧都控制目标角色直接向障碍物发射检测射线并直接根据检测射线对障碍物的命中,生成至少一个法向量。
204、接收检测射线在命中至少一个墙面后返回的至少一个法向量,采用至少一个法向量计算目标角色的角色朝向。
在本发明实施例中,由于至少一个墙面组成的障碍物是可能有多种形状的,而且目标角色与至少一个墙面的相对位置是存在多种可能的,因此,需要确定目标角色当前紧贴障碍物所处的位置与至少一个墙面形成的法向量,进而根据法向量在计算目标角色的角色朝向。其中,由于在上述步骤204中目标角色向障碍物发生的检测射线都是水平发射的,当检测射线命中了至少一个墙面后,便可以直接确定目标角色与墙面形成的法向量。所以,可接收检测射线在命中至少一个墙面后返回的至少一个法向量,并采用至少一个法向量计算目标角色的角色朝向。需要说明的是,参见步骤203中发射检测射线的过程可知,会向目标角色的左侧、中间以及右侧分别发送检测射线,这样,命中障碍物时,就会返回至少一个不同方位的法向量,所以,至少一个法向量可以分为左侧法向量、中间法向量以及右侧法向量。其中,左侧法向量可用Left Vines Normal(左侧法向量)表示,中间法向量可用MiddleVines Normal(中间法向量)表示,右侧法向量可用Right Vines Normal(右侧法向量)表示。
在采用至少一个法向量计算目标角色的角色朝向时,首先,需要计算至少一个法向量的第一向量和,将第一向量和标准化,得到标准向量和。随后,对标准向量和进行取反操作,将取反后的标准向量和指示的方向作为角色朝向。
205、获取目标角色携带的速度向量,控制目标角色按照角色朝向以及速度向量紧贴障碍物进行攀爬。
在本发明实施例中,由于目标角色会携带玩家通过摇杆控制目标角色而传达的速度向量,因此,在确定了目标角色的角色朝向后,可以获取目标角色携带的速度向量,控制该目标角色按照角色朝向以及速度向量紧贴障碍物进行攀爬即可。
需要说明的是,由于在实际游戏的过程中,目标角色相对于障碍物的位置是随着时间不断变化的,且每时每刻玩家对目标角色的控制中下发的速度向量也可能会随着玩家的意愿不断变化,因此,为了保证目标角色在游戏世界中的行为可以精确跟随玩家的操作,游戏中的每一帧都需要执行上述步骤201至步骤205中所示的过程,对障碍物进行检测以及确定目标角色的角色朝向,进而控制目标角色按照玩家的实时操作行动。
而在实际应用的过程中,玩家凭借自身的意愿在控制目标角色移动时,可能会希望目标角色转向,这样,当检测到玩家控制目标角色进行转向时,可以获取玩家向目标角色输入的待转向速度向量,并计算待转向速度向量与速度向量的向量差值,将向量差值指示的方向作为待转向方向,进而控制目标角色向角色朝向往待转向方向进行过渡,以便达到目标角色顺滑转向的效果。
需要说明的是,游戏中目标角色对障碍物的攀爬分为两种情况,一种是向下攀爬,一种是向上攀爬。如果目标角色向下攀爬,则当确定目标角色爬到可以行走的地面时,控制目标角色退出攀爬状态即可。如果目标角色向上攀爬,则当确定目标角色爬到障碍物的顶端时,控制目标角色翻越障碍物的顶端并退出攀爬状态即可。
再有,上述过程中描述的是目标角色在行走至障碍物处,与障碍物发生碰撞后触发的攀爬过程,而在游戏世界中,还会提供攀爬跳跃的功能,也即玩家通过摇杆控制目标角色进行攀爬跳跃,使得目标角色跳跃一定高度,挂载在障碍物的一定高度,进而在从一定高度向上或者向下攀爬。或者,玩家在游戏的过程中还可能控制目标角色进行攀爬回跳,也即向目前目标角色的角色朝向的反方向进行跳跃。进一步地,考虑到游戏世界中的实际环境,很可能玩家进行攀爬所处的环境是室外雨天,为了使游戏世界与真实世界更加相符,还可在游戏的室外雨天环境中设置一种角色的下滑机制,模拟目标角色一边向上攀爬,一边由于湿滑的障碍物向下下滑的情况。需要说明的是,不论是本发明中描述的攀爬过程,还是上述提及的退出攀爬状态、攀爬跳跃、攀爬回跳、攀爬翻越以及雨天攀爬,都可以配合游戏中的动画特效实现,使得目标角色的整个攀爬过程更加的逼真,增强用户的游戏体验。
本发明实施例提供的方法,可以确定与目标角色发生碰撞的障碍物,在识别确定障碍物允许交互且地形满足攀爬条件下,基于目标角色向障碍物发射检测射线,确定组成障碍物的至少一个墙面,并接收检测射线在命中至少一个墙面后返回的至少一个法向量,采用至少一个法向量计算目标角色的角色朝向,进而获取目标角色携带的速度向量,控制目标角色按照角色朝向以及速度向量紧贴障碍物进行攀爬,使得障碍物上无需设置任何固定的攀爬路线,通过目标角色与障碍物之间持续进行射线检测来确定目标角色想要行进的方向,从而控制目标角色自动在障碍物上进行攀爬,角色的攀爬范围不会受到限制,保证游戏的真实性,赋予游戏角色生命力,提高了游戏的智能性,增强玩家的游戏体验。
进一步地,作为图1所述方法的具体实现,本发明实施例提供了一种角色攀爬装置,如图3A所示,所述装置包括:确定模块301,发射模块302,第一计算模块303和控制模块304。
该确定模块301,用于确定与目标角色发生碰撞的障碍物;
该发射模块302,用于在识别确定所述障碍物允许交互且地形满足攀爬条件下,基于所述目标角色向所述障碍物发射检测射线,确定组成所述障碍物的至少一个墙面;
该第一计算模块303,用于接收所述检测射线在命中所述至少一个墙面后返回的至少一个法向量,采用所述至少一个法向量计算所述目标角色的角色朝向;
该控制模块304,用于获取所述目标角色携带的速度向量,控制所述目标角色按照所述角色朝向以及所述速度向量紧贴所述障碍物进行攀爬。
在具体的应用场景中,如图3B所示,该装置还包括:第一获取模块305,第一检测模块306和查询模块307。
该第一获取模块305,用于获取所述障碍物的实体属性;
该第一检测模块306,用于当所述障碍物的实体属性指示所述障碍物允许交互时,检测所述障碍物是否允许推动以及是否允许翻越;
该查询模块307,用于若检测到所述障碍物不允许推动且不允许翻越,则查询所述障碍物是否携带禁止攀爬标记;
该发射模块302,还用于若查询到所述障碍物未携带所述禁止攀爬标记,则以所述目标角色的中心点为起点,向水平方向发射预设长度的检测射线,并接收所述检测射线返回的检测结果;
该控制模块304,还用于当所述检测结果显示所述障碍物为虚拟爬梯时,控制所述目标角色沿着所述虚拟爬梯的铺设轨迹进行攀爬;
该发射模块302,还用于当所述检测结果显示所述障碍物并非所述虚拟爬梯时,识别确定所述障碍物允许交互且所述地形满足所述攀爬条件。
在具体的应用场景中,如图3C所示,该装置还包括:推动模块308和翻越模块309。
该推动模块308,用于当检测到所述障碍物允许推动时,将所述目标角色调整至推动状态,控制所述目标角色推动所述障碍物,并省略检测所述障碍物是否允许翻越的过程;
该翻越模块309,用于当检测到所述障碍物不允许推动时,检测所述障碍物是否允许翻越,并在确定所述障碍物允许翻越时,将所述目标角色调整至翻越状态,控制所述目标角色翻越所述障碍物。
在具体的应用场景中,如图3D所示,该发射模块302,包括:控制单元3021,第一确定单元3022,发射单元3023和第二确定单元3024。
该控制单元3021,用于控制所述目标角色贴近所述障碍物;
该第一确定单元3022,用于基于所述速度向量,确定所述目标角色的分速度以及所述分速度指示的分速度方向,所述分速度是所述目标角色在所述速度向量指示的前进方向的左向速度或右向速度;
该发射单元3023,用于向所述分速度方向发射检测射线;
该第二确定单元3024,用于若所述检测射线命中所述障碍物,则将命中的实体作为所述至少一个墙面;
该第二确定单元3024,还用于若所述检测射线未命中所述目标墙面,则分别向所述前进方向、所述前进方向的左侧以及所述前进方向的右侧发射所述检测射线,并将所述检测射线命中的实体作为所述至少一个墙面。
在具体的应用场景中,该控制单元3021,用于确定所述速度向量指示的所述目标角色的前进方向;以所述目标角色的当前位置为起点,控制所述目标角色向所述前进方向进行碰撞,将所述目标角色与所述障碍物发生碰撞的位置确定为墙面位置;将所述目标角色调整至所述墙面位置指示的位置,紧贴所述障碍物。
在具体的应用场景中,该第一确定单元3022,用于将所述速度向量投影在所述目标角色的前进方向右侧的水平线上,得到所述分速度;将所述速度向量与所述分速度相乘,得到速度乘积;当所述速度乘积的取值为正数时,将所述分速度方向设置为所述前进方向的右向;当所述速度乘积的取值为负数时,将所述分速度方向设置为所述前进方向的右向。
在具体的应用场景中,该第一计算模块303,用于计算所述至少一个法向量的第一向量和,将所述第一向量和标准化,得到标准向量和;对所述标准向量和进行取反操作,将取反后的所述标准向量和指示的方向作为所述角色朝向。
在具体的应用场景中,如图3E所示,该装置还包括:第二获取模块310和第二计算模块311。
该第二获取模块310,用于当检测到玩家控制所述目标角色进行转向时,获取所述玩家向所述目标角色输入的待转向速度向量;
该第二计算模块311,用于计算所述待转向速度向量与所述速度向量的向量差值,将所述向量差值指示的方向作为待转向方向;
该控制模块304,还用于控制所述目标角色向角色朝向往所述待转向方向进行过渡。
本发明实施例提供的装置,可以确定与目标角色发生碰撞的障碍物,在识别确定障碍物允许交互且地形满足攀爬条件下,基于目标角色向障碍物发射检测射线,确定组成障碍物的至少一个墙面,并接收检测射线在命中至少一个墙面后返回的至少一个法向量,采用至少一个法向量计算目标角色的角色朝向,进而获取目标角色携带的速度向量,控制目标角色按照角色朝向以及速度向量紧贴障碍物进行攀爬,使得障碍物上无需设置任何固定的攀爬路线,通过目标角色与障碍物之间持续进行射线检测来确定目标角色想要行进的方向,从而控制目标角色自动在障碍物上进行攀爬,角色的攀爬范围不会受到限制,保证游戏的真实性,赋予游戏角色生命力,提高了游戏的智能性,增强玩家的游戏体验。
需要说明的是,本发明实施例提供的一种角色攀爬装置所涉及各功能单元的其他相应描述,可以参考图1和图2A至图2E中的对应描述,在此不再赘述。
在示例性实施例中,参见图4,还提供了一种设备,该设备400包括通信总线、处理器、存储器和通信接口,还可以包括、输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的角色攀爬方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的角色攀爬方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (12)

1.一种角色攀爬方法,其特征在于,包括:
确定与目标角色发生碰撞的障碍物;
在识别确定所述障碍物允许交互且地形满足攀爬条件下,基于所述目标角色向所述障碍物发射检测射线,确定组成所述障碍物的至少一个墙面,其中,发射检测射线的方向基于玩家通过摇杆向所述目标角色下发的速度向量确定,所述检测射线用于确定所述至少一个墙面与所述目标角色的相对位置;
接收所述检测射线在命中所述至少一个墙面后返回的至少一个法向量,采用所述至少一个法向量计算所述目标角色的角色朝向,所述至少一个法向量是所述目标角色当前紧贴障碍物所处的位置与所述至少一个墙面形成的;
获取所述目标角色携带的速度向量,控制所述目标角色按照所述角色朝向以及所述速度向量紧贴所述障碍物进行攀爬。
2.根据权利要求1所述的方法,其特征在于,所述确定与目标角色发生碰撞的障碍物之后,所述方法还包括:
获取所述障碍物的实体属性;
当所述障碍物的实体属性指示所述障碍物允许交互时,检测所述障碍物是否允许推动以及是否允许翻越;
若检测到所述障碍物不允许推动且不允许翻越,则查询所述障碍物是否携带禁止攀爬标记;
若查询到所述障碍物未携带所述禁止攀爬标记,则以所述目标角色的中心点为起点,向水平方向发射预设长度的检测射线,并接收所述检测射线返回的检测结果;
当所述检测结果显示所述障碍物为虚拟爬梯时,控制所述目标角色沿着所述虚拟爬梯的铺设轨迹进行攀爬;
当所述检测结果显示所述障碍物并非所述虚拟爬梯时,识别确定所述障碍物允许交互且所述地形满足所述攀爬条件。
3.根据权利要求2所述的方法,其特征在于,所述检测所述障碍物是否允许推动以及是否允许翻越之后,所述方法还包括:
当检测到所述障碍物允许推动时,将所述目标角色调整至推动状态,控制所述目标角色推动所述障碍物,并省略检测所述障碍物是否允许翻越的过程;
当检测到所述障碍物不允许推动时,检测所述障碍物是否允许翻越,并在确定所述障碍物允许翻越时,将所述目标角色调整至翻越状态,控制所述目标角色翻越所述障碍物。
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标角色向所述障碍物发射检测射线,确定组成所述障碍物的至少一个墙面,包括:
控制所述目标角色贴近所述障碍物;
基于所述速度向量,确定所述目标角色的分速度以及所述分速度指示的分速度方向,所述分速度是所述目标角色在所述速度向量指示的前进方向的左向速度或右向速度;
向所述分速度方向发射检测射线;
若所述检测射线命中所述障碍物,则将命中的实体作为所述至少一个墙面;
若所述检测射线未发生命中,则分别向所述前进方向、所述前进方向的左侧以及所述前进方向的右侧发射所述检测射线,并将所述检测射线命中的实体作为所述至少一个墙面。
5.根据权利要求4所述的方法,其特征在于,所述控制所述目标角色贴近所述障碍物,包括:
确定所述速度向量指示的所述目标角色的前进方向;
以所述目标角色的当前位置为起点,控制所述目标角色向所述前进方向进行碰撞,将所述目标角色与所述障碍物发生碰撞的位置确定为墙面位置;
将所述目标角色调整至所述墙面位置指示的位置,紧贴所述障碍物。
6.根据权利要求4所述的方法,其特征在于,所述基于所述速度向量,确定所述目标角色的分速度以及所述分速度指示的分速度方向,包括:
将所述速度向量投影在所述目标角色的前进方向右侧的水平线上,得到所述分速度;
将所述速度向量与所述分速度相乘,得到速度乘积;
当所述速度乘积的取值为正数时,将所述分速度方向设置为所述前进方向的右向;
当所述速度乘积的取值为负数时,将所述分速度方向设置为所述前进方向的右向。
7.根据权利要求1所述的方法,其特征在于,所述采用所述至少一个法向量计算所述目标角色的角色朝向,包括:
计算所述至少一个法向量的第一向量和,将所述第一向量和标准化,得到标准向量和;
对所述标准向量和进行取反操作,将取反后的所述标准向量和指示的方向作为所述角色朝向。
8.根据权利要求1所述的方法,其特征在于,所述获取所述目标角色携带的速度向量,控制所述目标角色按照所述角色朝向以及所述速度向量紧贴所述障碍物进行攀爬之后,所述方法还包括:
当检测到玩家控制所述目标角色进行转向时,获取所述玩家向所述目标角色输入的待转向速度向量;
计算所述待转向速度向量与所述速度向量的向量差值,将所述向量差值指示的方向作为待转向方向;
控制所述目标角色向角色朝向往所述待转向方向进行过渡。
9.一种角色攀爬装置,其特征在于,包括:
确定模块,用于确定与目标角色发生碰撞的障碍物;
发射模块,用于在识别确定所述障碍物允许交互且地形满足攀爬条件下,基于所述目标角色向所述障碍物发射检测射线,确定组成所述障碍物的至少一个墙面,其中,发射检测射线的方向基于玩家通过摇杆向所述目标角色下发的速度向量确定,所述检测射线用于确定所述至少一个墙面与所述目标角色的相对位置;
第一计算模块,用于接收所述检测射线在命中所述至少一个墙面后返回的至少一个法向量,采用所述至少一个法向量计算所述目标角色的角色朝向,所述至少一个法向量是所述目标角色当前紧贴障碍物所处的位置与所述至少一个墙面形成的;
控制模块,用于获取所述目标角色携带的速度向量,控制所述目标角色按照所述角色朝向以及所述速度向量紧贴所述障碍物进行攀爬。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第一获取模块,用于获取所述障碍物的实体属性;
第一检测模块,用于当所述障碍物的实体属性指示所述障碍物允许交互时,检测所述障碍物是否允许推动以及是否允许翻越;
查询模块,用于若检测到所述障碍物不允许推动且不允许翻越,则查询所述障碍物是否携带禁止攀爬标记;
所述发射模块,还用于若查询到所述障碍物未携带所述禁止攀爬标记,则以所述目标角色的中心点为起点,向水平方向发射预设长度的检测射线,并接收所述检测射线返回的检测结果;
所述控制模块,还用于当所述检测结果显示所述障碍物为虚拟爬梯时,控制所述目标角色沿着所述虚拟爬梯的铺设轨迹进行攀爬;
所述发射模块,还用于当所述检测结果显示所述障碍物并非所述虚拟爬梯时,识别确定所述障碍物允许交互且所述地形满足所述攀爬条件。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
12.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
CN202010573843.6A 2020-06-22 2020-06-22 角色攀爬方法、装置、计算机设备及可读存储介质 Active CN111714891B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010573843.6A CN111714891B (zh) 2020-06-22 2020-06-22 角色攀爬方法、装置、计算机设备及可读存储介质
PCT/CN2020/130395 WO2021258627A1 (zh) 2020-06-22 2020-11-20 角色攀爬方法、装置、计算机程序及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010573843.6A CN111714891B (zh) 2020-06-22 2020-06-22 角色攀爬方法、装置、计算机设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN111714891A CN111714891A (zh) 2020-09-29
CN111714891B true CN111714891B (zh) 2021-05-11

Family

ID=72569922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010573843.6A Active CN111714891B (zh) 2020-06-22 2020-06-22 角色攀爬方法、装置、计算机设备及可读存储介质

Country Status (2)

Country Link
CN (1) CN111714891B (zh)
WO (1) WO2021258627A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111714891B (zh) * 2020-06-22 2021-05-11 苏州幻塔网络科技有限公司 角色攀爬方法、装置、计算机设备及可读存储介质
CN112221147B (zh) * 2020-10-15 2024-03-22 网易(杭州)网络有限公司 游戏场景中的避障方法、电子设备和机器可读存储介质
CN112316429A (zh) * 2020-11-27 2021-02-05 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、终端及存储介质
IL305745A (en) * 2021-03-10 2023-11-01 Bungie Inc A lug catch is free of it
CN113509725B (zh) * 2021-07-08 2024-07-12 杭州炎魂网络科技有限公司 一种二维游戏角色移动控制方法、装置及存储介质
CN113559516B (zh) * 2021-07-30 2023-07-14 腾讯科技(深圳)有限公司 虚拟角色的控制方法和装置、存储介质及电子设备
CN113797543B (zh) * 2021-09-27 2023-06-23 腾讯科技(深圳)有限公司 游戏处理方法、装置、计算机设备、存储介质及程序产品
CN117732074A (zh) * 2022-12-13 2024-03-22 苏州幻塔网络科技有限公司 角色攀爬方法、装置、计算机设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108635853A (zh) * 2018-03-23 2018-10-12 腾讯科技(深圳)有限公司 对象的控制方法和装置、存储介质、电子装置
CN111068324A (zh) * 2019-11-26 2020-04-28 腾讯科技(深圳)有限公司 虚拟对象控制方法、装置、设备及存储介质
CN111265856A (zh) * 2020-01-17 2020-06-12 腾讯科技(深圳)有限公司 虚拟操作对象的控制方法、装置、存储介质及电子装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002200333A (ja) * 2000-11-01 2002-07-16 Sony Computer Entertainment Inc 記録媒体、プログラム、プログラム実行システムおよびプログラム実行装置
US10569176B2 (en) * 2018-06-22 2020-02-25 Yacht Club Games, LLC Video game gameplay having nuanced character movements and dynamic movement indicators
CN110665230B (zh) * 2019-09-26 2020-11-13 腾讯科技(深圳)有限公司 虚拟世界中的虚拟角色控制方法、装置、设备及介质
CN110681156B (zh) * 2019-10-10 2021-10-29 腾讯科技(深圳)有限公司 虚拟世界中的虚拟角色控制方法、装置、设备及存储介质
CN111330272B (zh) * 2020-02-14 2021-12-31 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、终端及存储介质
CN111714891B (zh) * 2020-06-22 2021-05-11 苏州幻塔网络科技有限公司 角色攀爬方法、装置、计算机设备及可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108635853A (zh) * 2018-03-23 2018-10-12 腾讯科技(深圳)有限公司 对象的控制方法和装置、存储介质、电子装置
WO2019179355A1 (zh) * 2018-03-23 2019-09-26 腾讯科技 (深圳) 有限公司 对象的控制方法和装置、存储介质、电子装置
CN111068324A (zh) * 2019-11-26 2020-04-28 腾讯科技(深圳)有限公司 虚拟对象控制方法、装置、设备及存储介质
CN111265856A (zh) * 2020-01-17 2020-06-12 腾讯科技(深圳)有限公司 虚拟操作对象的控制方法、装置、存储介质及电子装置

Also Published As

Publication number Publication date
WO2021258627A1 (zh) 2021-12-30
CN111714891A (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
CN111714891B (zh) 角色攀爬方法、装置、计算机设备及可读存储介质
CN111729311B (zh) 攀爬跳跃方法、装置、计算机设备及计算机可读存储介质
US20180191990A1 (en) Projection system
CN107789837B (zh) 信息处理方法、装置和计算机可读存储介质
US7847808B2 (en) Photographic mapping in a simulation
US9643092B2 (en) Apparatus and method for simulated gameplay based on a geospatial position
Hämäläinen et al. Martial arts in artificial reality
CN107596683A (zh) 基于增强现实的童车虚拟游乐方法、装置及系统
CN112807681B (zh) 游戏控制方法、装置、电子设备及存储介质
JP2010068872A (ja) プログラム、情報記憶媒体及びゲーム装置
JP6204635B1 (ja) ゴルフプレイ支援システム、ゴルフプレイ支援方法、及びプログラム
TW202220731A (zh) 虛擬場景中狀態切換方法、裝置、設備、媒體及程式產品
US20050090302A1 (en) System and method for utilizing vectors in a video game
US11602691B2 (en) Techniques for virtual reality boundaries and related systems and methods
US8542112B2 (en) Navigation system with physical activity safety mechanism and method of operation thereof
Stone et al. Robocup-2000: The fourth robotic soccer world championships
KR101977964B1 (ko) 가상의 크리켓 경기를 제어하는 제어 장치, 제어 방법 및 컴퓨터 프로그램
CN116421975A (zh) 角色的移动控制方法、装置、计算机设备及可读存储介质
KR102505470B1 (ko) 라이다센서 및 빅데이터를 이용한 스크린-골프 운영시스템
TWI450264B (zh) 用於模擬中之圖像對映的方法及電腦程式產品
JP6901541B2 (ja) ゲームプログラム、コンピュータ、及びゲームシステム
KR102141841B1 (ko) 행동 패턴 분석 기반의 맞춤형 콘텐츠 제공 시스템 및 그 방법
CN109858090B (zh) 基于动态视域的公共建筑引导系统设计方法
JP7082302B2 (ja) ゲームプログラム、ゲーム装置、及びゲームシステム
JP6974780B2 (ja) ゲームプログラム、コンピュータ、及びゲームシステム

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
GR01 Patent grant
GR01 Patent grant