CN102693362A - 一种与地形相适应的游戏角色跳跃方法和装置 - Google Patents
一种与地形相适应的游戏角色跳跃方法和装置 Download PDFInfo
- Publication number
- CN102693362A CN102693362A CN2012101414999A CN201210141499A CN102693362A CN 102693362 A CN102693362 A CN 102693362A CN 2012101414999 A CN2012101414999 A CN 2012101414999A CN 201210141499 A CN201210141499 A CN 201210141499A CN 102693362 A CN102693362 A CN 102693362A
- Authority
- CN
- China
- Prior art keywords
- jump
- landing point
- skip
- landform
- ski
- 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.)
- Granted
Links
Images
Landscapes
- Position Input By Displaying (AREA)
Abstract
本发明公开了一种与地形相适应的游戏角色跳跃方法和装置,该方法可自动查找合适的着陆点,并根据所述着陆点相对于起跳点所处的空间区域赋予角色模型不同的起跳速度,从而生成不同的跳跃轨迹抛物线。本发明能够使得角色模型在跳跃时会根据选择的着陆点来选择不同的跳跃速度,轨迹和方式,让玩家感受到更真实的跳跃,丰富了游戏的表现效果。
Description
技术领域
本发明涉及计算机3D游戏技术领域,尤其涉及一种与地形相适应的游戏角色跳跃方法和装置。
背景技术
目前跳跃已经成为优秀网络游戏的标志之一,尤其是在大型3D多人在线游戏中,可以极大的增加玩家对游戏世界的真实感受。并且从中可以衍生出很多相对应的玩法,增加游戏乐趣。
现有技术中的跳跃大部分都是以固定轨迹和速度,通过实时碰撞检测来实现。在遇到碰撞阻挡后结束此次跳跃。跳跃开始时给与一个固定的向上和向前的速度,一个重力加速度,这样就可以从角色起始点形成一条抛物线。算法如下:Y=Y0+(2*Vy+G*T)*T/2;
X=X0+Vx*T;
其中Y,X为跳跃轨迹坐标;Y0、X0为初始坐标位置;Vy、Vx分别为向上和向前的初始速度;G为向下的重力加速度;T为时间。
由于跳跃初期并没有根据当前游戏世界环境来选择不同轨迹和跳跃方式,会给用户产生一种抛垒球的感觉,表现效果比较差,在遇到悬崖时一般会选择摔伤,碰到高壁后一般会表现为迎头撞上墙壁然后垂直落下。这些都会让玩家感受到游戏的失真和游戏角色缺乏生命力。
发明内容
本发明的目的在于提出一种与地形相适应的游戏角色跳跃方法和装置,能够使得角色模型在跳跃时会根据选择的目的点来选择不同的跳跃速度,轨迹和方式。
为达此目的,本发明采用以下技术方案:
一种与地形相适应的游戏角色跳跃方法,包括以下步骤:
A、接收跳跃指令;
B、确定起跳点和着陆点,根据着陆点所处区域赋予角色模型预设的向上起跳速度;
C、根据角色模型的向上起跳速度、起跳点和着陆点确定跳跃的抛物线;
D、对所述抛物线的路径进行碰撞检测,若所述抛物线没有碰到障碍物,则角色模型进行跳跃。
步骤B中,赋予角色模型的向上起跳速度是所述着陆点所处区域对应的最小向上起跳速度;当步骤D中的碰撞检测判定抛物线路径存在障碍物时,则增加所述角色模型的向上起跳速度并返回步骤C重新确定抛物线;当增加后的角色模型向上起跳速度超过了所述着陆点所处区域对应的最大向上起跳速度时,则返回步骤B确定新的着陆点。
当所述跳跃指令为通过鼠标输入的着陆点时,
步骤B中,判断所述鼠标输入的着陆点与起跳点的水平距离是否小于第一预设距离,若小于,则计算所述鼠标输入的着陆点在起跳点所处水平面上的投影点,将鼠标输入的着陆点沿着从起跳点至所述鼠标输入的着陆点的投影点的方向移动第二预设距离后的点作为着陆点;
步骤B中,根据地形数据判断所述鼠标输入的着陆点是否存在游戏地形;若不存在,则在所述鼠标输入的着陆点所处的水平面内,以所述鼠标输入的着陆点为圆心、以第三预设距离为半径的圆形区域内进行物理检测,将所述圆形区域内存在游戏地形且与所述鼠标输入的着陆点距离最近的点作为着陆点。
当所述跳跃指令为来自键盘的跳跃键信号时,步骤B中,在角色模型正前方距离起跳点为角色模型的最大水平跳跃距离处的垂直方向上做物理检测,将具有游戏地形且相对于起跳点的垂直高度小于角色模型的最大跳跃高度的点作为着陆点;若不存在上述的着陆点,则向靠近起跳点的方向偏移第四预设距离处的垂直方向上继续做物理检测。
步骤D中,将所述抛物线分解为不同斜率的线段,对每个线段分别做碰撞检测,判断是否与障碍物有碰撞,当所有线段都没有碰到障碍物时,判定所述抛物线可以进行跳跃。
角色模型进行跳跃的过程中,还可继续接收跳跃指令,将接收到所述跳跃指令时角色模型所处的点作为起跳点,并进行步骤B至步骤D相同的处理。
接收所述步骤A中的跳跃指令之前,先接受起跳指令,所述起跳指令为来自鼠标或键盘的跳跃键信号。
一种与地形相适应的游戏角色跳跃装置,包括:接收模块、查询模块、运算模块和检测模块,其中
接收模块,用于接收跳跃指令;
查询模块,用于确定起跳点和着陆点,根据着陆点所处区域赋予角色模型预设的向上起跳速度;
运算模块,用于根据角色模型的向上起跳速度、起跳点和着陆点确定跳跃的抛物线;
检测模块,用于对所述抛物线的路径进行碰撞检测,若所述抛物线没有碰到障碍物,则角色模型进行跳跃。
所述查询模块赋予角色模型的向上起跳速度是所述着陆点所处区域对应的最小向上起跳速度;所述检测模块通过碰撞检测判定抛物线路径存在障碍物时,则增加所述角色模型的向上起跳速度并由所述运算模块重新确定抛物线;当增加后的角色模型向上起跳速度超过了所述着陆点所处区域对应的最大向上起跳速度时,则由所述查询模块确定新的着陆点。
当所述接收模块接收的跳跃指令为通过鼠标输入的着陆点时,
所述查询模块判断所述鼠标输入的着陆点与起跳点的水平距离是否小于第一预设距离,若小于,则计算所述鼠标输入的着陆点在起跳点所处水平面上的投影点,将鼠标输入的着陆点沿着从起跳点至所述鼠标输入的着陆点的投影点的方向移动第二预设距离后的点作为着陆点;
所述查询模块根据地形数据判断所述鼠标输入的着陆点是否存在游戏地形;若不存在,则在所述鼠标输入的着陆点所处的水平面内,以所述鼠标输入的着陆点为圆心、以第三预设距离为半径的圆形区域内进行物理检测,将所述圆形区域内存在游戏地形且与所述鼠标输入的着陆点距离最近的点作为着陆点。
当所述接收模块接收的跳跃指令为来自键盘的跳跃键信号时,所述查询模块在角色模型正前方距离起跳点为角色模型的最大水平跳跃距离处的垂直方向上做物理检测,将具有游戏地形且相对于起跳点的垂直高度小于角色模型的最大跳跃高度的点作为着陆点;若不存在上述的着陆点,则向靠近起跳点的方向偏移第四预设距离处的垂直方向上继续做物理检测。
所述检测模块将所述抛物线分解为不同斜率的线段,对每个线段分别做碰撞检测,判断是否与障碍物有碰撞,当所有线段都没有碰到障碍物时,判定所述抛物线可以进行跳跃。
角色模型进行跳跃的过程中,所述接收模块还可继续接收跳跃指令,将接收到所述跳跃指令时角色模型所处的点作为起跳点,并由所述查询模块、运算模块和检测模块进行相同的处理。
所述接收模块接收所述跳跃指令之前,先接受起跳指令,所述起跳指令为来自鼠标或键盘的跳跃键信号。
采用本发明的技术方案,能够使得角色模型在跳跃时会根据选择的着陆点以及世界环境的地形数据来自动选择不同的跳跃速度,轨迹和方式,丰富了游戏的表现效果,让玩家感受到更真实的跳跃。
附图说明
图1是本发明具体实施方式中系统对角色模型跳跃能力的限制说明示意图。
图2是本发明具体实施方式提供的与地形相适应的游戏角色跳跃方法的流程示意图。
图3是本发明具体实施方式中系统对着陆点相对于起跳点所处区域进行划分的示例图。
图4是本发明具体实施方式提供的与地形相适应的游戏角色跳跃装置的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
首先需要说明的是,系统对角色模型的跳跃能力是有限制的,如图1所示,包括:最大跳跃高度、最远水平跳跃距离和最大水平高度距离。最大跳跃高度,是指角色模型跳跃时在垂直方向上高于起跳点的最大高度;最远水平跳跃距离,是指角色模型跳跃时在水平方向上所能达到的最远距离;最大水平高度距离,是指角色模型跳跃时在水平方向并且与起跳点处于同一水平面内所能达到的最大距离。
图2是本发明具体实施方式提供的与地形相适应的游戏角色跳跃方法的流程示意图。如图2所示,该方法包括:
步骤S201,接收跳跃指令。所述跳跃指令,为通过鼠标输入的着陆点或者来自键盘的跳跃键信号。所述通过鼠标输入的着陆点,为玩家通过鼠标在世界地形中点选的点。
步骤S202,确定起跳点和着陆点,根据着陆点所处区域赋予角色模型预设的向上起跳速度。
当接收到上述跳跃指令时,记录角色模型当前所在位置的地形坐标P0(X0,Y0,Z0),以该点作为起跳点。
当玩家通过鼠标点选输入着陆点时,通常将玩家在世界地形中点选的点作为着陆点。但以下两种情形,不能直接以玩家点选的点作为着陆点:
(1)玩家点选的点与起跳点在水平方向的距离小于第一预设距离D1时。
利用玩家点选的点和起跳点P0的X坐标和Z坐标,计算两个点在水平方向的距离,并判断该距离是否小于第一预设距离。若小于,则找到所述玩家点选的点在起跳点所在水平面上的投影点,将玩家点选的点沿着从起跳点至所述玩家点选的点的投影点的方向移动第二预设距离后的点作为着陆点。
此情形出现在角色模型正前方视野是一面墙体时,此时玩家无法点到墙后的地形作为着陆点。玩家点到墙体上某一点时,根据该点与起跳点的X坐标和Z坐标计算两个点的水平距离。如果两个点的水平距离小于第一预设距离,则令玩家点选的点的Y坐标与起跳点相同,即得到所述玩家点选的点在起跳点所在水平面上的投影点。用所述投影点的坐标减去起跳点的坐标,可得到起跳点至投影点的向量,沿着这个向量的方向,将所述玩家点选的点移动第二预设距离后得到的点作为修正后的着陆点。相当于将玩家点选在墙体上的点平移到了墙体后面,通过后续的确定跳跃抛物线以及碰撞检测等步骤,可以使角色模型能够翻越面前的墙体。
(2)玩家点选的点不存在游戏地形时。
根据玩家点选的点的坐标以及地形数据,判断玩家点选的点是否存在游戏地形。若不存在游戏地形,则在所述玩家点选的点所处的水平面内,以所述玩家点选的点为圆心、以第三预设距离为半径的圆形区域内进行物理检测,判断所述圆形区域内是否进行有存在游戏地形的点,将存在游戏地形并且距离所述玩家点选的点最近的点作为修正后的着陆点。
此情形出现在角色模型跳跃至游戏地形的边缘时,例如房檐、屋顶、桥梁、悬崖等处。当玩家通过鼠标点选这些地形的边缘,以控制角色模型跳跃至上述地形时,由于上述地形狭长窄小的特点有时会出现点选的误差,即点选时没有点在地形上,使角色模型没有跳跃到想点选的地形上。这时在玩家点选的点所处的平面内,以所述玩家点选的点为圆心、以第三预设距离为半径的圆形区域内进行物理检测,将所述圆形区域内存在游戏地形并且距离所述玩家点选的点最近的点作为修正后的着陆点。此时达到了在一定限度内修正玩家误操作的效果,保持了游戏体验的连贯性。
当接收的跳跃指令为来自键盘的跳跃键信号时,默认为角色模型将向正前方跳跃最远水平跳跃距离。
此时在角色模型正前方的最远水平跳跃距离处的垂直方向上进行物理检测。所述垂直方向的物理检测,从世界的最高点开始逐步向下进行。检测到具有游戏地形的点时,再判断其高度是否超出了角色模型的最大跳跃高度,若超出则继续向下进行检测,直到将具有游戏地形同时未超出角色模型最大跳跃高度的点作为着陆点。如果在所述最远水平跳跃距离处的垂直方向上未找到满足上述条件的着陆点,则向靠近起跳点的方向偏移第四预设距离,在该处的垂直方向上继续做物理检测。如果该处的垂直方向上仍未找到满足上述条件的着陆点,则再向靠近起跳点的方向偏移第四预设距离,继续进行垂直方向的检测。即完成一个在水平方向上,从角色模型正前方最远水平跳跃距离处,向起跳点逐步缩限的垂直方向的物理检测,来找到着陆点。
上述为系统根据不同的跳跃指令查找并确定着陆点的过程,在确定着陆点后,要根据着陆点相对于起跳点所处的空间区域赋予角色模型预设的向上起跳速度。
根据角色模型的最大跳跃高度和最大水平跳跃距离,可确定能够出现着陆点的一个区域范围。如图3所示,在这个范围内,可进一步划分为若干子区域,如图中的划分出A、B、C三个区。图3为本发明具体实施方式中系统对着陆点相对于起跳点所处区域进行划分的示例图,实际的子区域划分方式可根据游戏地形环境、游戏角色需要等因素进行任意划分。为每一个子区域预设相应的最小向上起跳速度和最大向上起跳速度。即如果确定的着陆点处于划分的某个子区域中,则赋予角色模型该子区域相对应的最小向上起跳速度,并以该子区域相对应的最大向上起跳速度作为角色模型在此次跳跃中在垂直方向的速度限制。
步骤S203,根据角色模型的向上起跳速度、起跳点坐标和着陆点坐标确定跳跃的抛物线。
此时需建立临时的二维坐标系;以起跳点为原点,以起跳点的垂直方向为Y轴;找到着陆点在起跳点所处水平面的投影点,以起跳点到所述投影点的方向为X轴。则在此坐标系下确定起跳点坐标(X0,Y0)、着陆点坐标(X,Y),已知角色模型当前的向上起跳速度Vy和游戏场景的重力加速度G,代入如下公式:
Y=Y0+(2*Vy+G*T)*T/2; (1)
X=X0+Vx*T; (2)
通过公式(1)求出时间T;再通过公式(2)求出水平方向初始速度Vx;通过向量三角形合成出初始速度V0的大小和方向。通过公式(1)和(2)消去时间参数T,可得到跳跃抛物线通式Y=G/2Vx 2(X-X0)2+Y0+Vy;将已知的X0、Y0、Vy和求得的Vx代入,即可得到具有当前初始速度V0的跳跃轨迹抛物线。
步骤S204,对所述抛物线的路径进行碰撞检测,若所述抛物线没有碰到障碍物,则角色模型进行跳跃。对步骤S203中求得跳跃轨迹抛物线在进行碰撞检测,系统将所述抛物线分解为若干不同斜率的直线线段,对每一条线段在世界地形中做碰撞检测,查看是否与物体碰撞,当所有线段都没有与其他物体发生碰撞时,便判定此条抛物线可以进行跳跃。只要有一条线段与其他物体发生碰撞,则判定该跳跃轨迹上存在障碍物,不能依据此抛物线进行跳跃,此时系统会以一个预定值增加角色模型的向上起跳速度,用来根据步骤S203所述过程重新确定抛物线
在重新确定抛物线之前,还需要判断所述角色模型增加后的向上起跳速度是否超过了所述预设的与着陆点所处区域相对应的最大向上起跳速度。如果未超过,则根据新的向上起跳速度以及原有的起跳点和着陆点,确定新的跳跃轨迹抛物线,对新的抛物线继续进行碰撞检测;如果超过,则表明由于障碍物的阻挡,该着陆点不可用,需要根据前面步骤S202中所述的规则查找新的着陆点。
角色模型根据确定的抛物线轨迹进行跳跃。在跳跃的过程中还可以继续接收所述跳跃指令。将角色模型在跳跃过程中再次接收到所述跳跃指令时所处的点作为新的起跳点,并进行与上述步骤S202至步骤S204相同的处理。不同之处在于,在由所述跳跃过程中接收的跳跃指令启动的跳跃中,角色模型的跳跃能力会增强,即此时角色模型的最大跳跃高度、最远水平跳跃距离和最大水平高度距离会增大,相应的,着陆点的可选范围也会随之扩大,使角色模型在此次跳跃中可以跳到更高更远的地方。
在步骤S201中接收跳跃指令之前,可以先接收起跳指令。所述起跳指令为来自鼠标或键盘的跳跃键信号,即玩家通过鼠标或者键盘上设置的跳跃键输入的信号。接收起跳指令后,角色模型会做出一个想要起跳的动作,而并不会进行实际跳跃,如果在一定预设时间内接收到了跳跃指令,游戏角色才进入实际跳跃的过程。引入起跳指令可以丰富游戏角色的动作表现力。
图4是本发明具体实施方式提供的与地形相适应的游戏角色跳跃装置的结构示意图。如图4所示,该装置包括接收模块401、查询模块402、运算模块403和检测模块404,所述接收模块401、查询模块402、运算模块403和检测模块404依次连接,其中,
接收模块401,用于接收跳跃指令;
查询模块402,用于确定起跳点和着陆点,根据着陆点所处区域赋予角色模型预设的向上起跳速度;
运算模块403,用于根据角色模型的向上起跳速度、起跳点和着陆点确定跳跃的抛物线;
检测模块404,用于对所述抛物线的路径进行碰撞检测,若所述抛物线没有碰到障碍物,则角色模型进行跳跃。
所述查询模块402赋予角色模型的向上起跳速度是所述着陆点所处区域对应的最小向上起跳速度;所述检测模块404通过碰撞检测判定抛物线路径存在障碍物时,则增加所述角色模型的向上起跳速度并由所述运算模块403重新确定抛物线;当增加后的角色模型向上起跳速度超过了所述着陆点所处区域对应的最大向上起跳速度时,则由所述查询模块402确定新的着陆点。当所述接收模块401接收的跳跃指令为通过鼠标输入的着陆点时,所述查询模块402可以判断所述鼠标输入的着陆点与起跳点的水平距离是否小于第一预设距离,若小于,则计算所述鼠标输入的着陆点在起跳点所处水平面上的投影点,将鼠标输入的着陆点沿着从起跳点至所述鼠标输入的着陆点的投影点的方向移动第二预设距离后的点作为着陆点。
当所述接收模块401接收的跳跃指令为通过鼠标输入的着陆点时,所述查询模块402还可以根据地形数据判断所述鼠标输入的着陆点是否存在游戏地形;若不存在,则在所述鼠标输入的着陆点所处的水平面内,以所述鼠标输入的着陆点为圆心、以第三预设距离为半径的圆形区域内进行物理检测,将所述圆形区域内存在游戏地形且与所述鼠标输入的着陆点距离最近的点作为着陆点。
当接收模块401接收的跳跃指令为来自键盘的跳跃键信号,所述查询模块402在角色模型正前方距离起跳点为角色模型的最大水平跳跃距离处的垂直方向上做物理检测,将具有游戏地形且相对于起跳点的垂直高度小于角色模型的最大跳跃高度的点作为着陆点;若不存在上述的着陆点,则向靠近起跳点的方向偏移第四预设距离处的垂直方向上继续做物理检测。
所述检测模块404进行碰撞检测时,将所述抛物线分解为不同斜率的线段,对每个线段分别做碰撞检测,判断是否与障碍物有碰撞,当所有线段都没有碰到障碍物时,判定所述抛物线可以进行跳跃。
角色模型进行跳跃的过程中,所述接收模块401还可继续接收跳跃指令,将接收到所述跳跃指令时角色模型所处的点作为起跳点,并由所述查询模块402、运算模块403和检测模块404进行相同的处理。
所述接收模块401接收所述跳跃指令之前,还可以先接受起跳指令,所述起跳指令为来自鼠标或键盘的跳跃键信号。
采用本发明的技术方案,能够使得角色模型在跳跃时会根据选择的着陆点以及世界环境的地形数据来自动选择不同的跳跃速度,轨迹和方式,丰富了游戏的表现效果,让玩家感受到更真实的跳跃。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (18)
1.一种与地形相适应的游戏角色跳跃方法,其特征在于,包括以下步骤:
A、接收跳跃指令;
B、确定起跳点和着陆点,根据着陆点所处区域赋予角色模型预设的向上起跳速度;
C、根据角色模型的向上起跳速度、起跳点和着陆点确定跳跃的抛物线;
D、对所述抛物线的路径进行碰撞检测,若所述抛物线没有碰到障碍物,则角色模型进行跳跃。
2.根据权利要求1所述的与地形相适应的游戏角色跳跃方法,其特征在于,步骤B中,赋予角色模型的向上起跳速度是所述着陆点所处区域对应的最小向上起跳速度;当步骤D中的碰撞检测判定抛物线路径存在障碍物时,则增加所述角色模型的向上起跳速度并返回步骤C重新确定抛物线;当增加后的角色模型向上起跳速度超过了所述着陆点所处区域对应的最大向上起跳速度时,则返回步骤B确定新的着陆点。
3.根据权利要求2所述的与地形相适应的游戏角色跳跃方法,其特征在于,所述跳跃指令为通过鼠标输入的着陆点。
4.根据权利要求3所述的与地形相适应的游戏角色跳跃方法,其特征在于,步骤B中,判断所述鼠标输入的着陆点与起跳点的水平距离是否小于第一预设距离,若小于,则计算所述鼠标输入的着陆点在起跳点所处水平面上的投影点,将鼠标输入的着陆点沿着从起跳点至所述鼠标输入的着陆点的投影点的方向移动第二预设距离后的点作为着陆点。
5.根据权利要求3所述的与地形相适应的游戏角色跳跃方法,其特征在于,步骤B中,根据地形数据判断所述鼠标输入的着陆点是否存在游戏地形;若不存在,则在所述鼠标输入的着陆点所处的水平面内,以所述鼠标输入的着陆点为圆心、以第三预设距离为半径的圆形区域内进行物理检测,将所述圆形区域内存在游戏地形且与所述鼠标输入的着陆点距离最近的点作为着陆点。
6.根据权利要求2所述的与地形相适应的游戏角色跳跃方法,其特征在于,所述跳跃指令为来自键盘的跳跃键信号,步骤B中,在角色模型正前方距离起跳点为角色模型的最大水平跳跃距离处的垂直方向上做物理检测,将具有游戏地形且相对于起跳点的垂直高度小于角色模型的最大跳跃高度的点作为着陆点;若不存在上述的着陆点,则向靠近起跳点的方向偏移第四预设距离处的垂直方向上继续做物理检测。
7.根据权利要求1-6任一所述的与地形相适应的游戏角色跳跃方法,其特征在于,步骤D中,将所述抛物线分解为不同斜率的线段,对每个线段分别做碰撞检测,判断是否与障碍物有碰撞,当所有线段都没有碰到障碍物时,判定所述抛物线可以进行跳跃。
8.根据权利要求7所述的与地形相适应的游戏角色跳跃方法,其特征在于,角色模型进行跳跃的过程中,还可继续接收跳跃指令,将接收到所述跳跃指令时角色模型所处的点作为起跳点,并进行步骤B至步骤D相同的处理。
9.根据权利要求8所述的与地形相适应的游戏角色跳跃方法,其特征在于,接收所述步骤A中的跳跃指令之前,先接受起跳指令,所述起跳指令为来自鼠标或键盘的跳跃键信号。
10.一种与地形相适应的游戏角色跳跃装置,其特征在于,包括:接收模块、查询模块、运算模块和检测模块,其中
接收模块,用于接收跳跃指令;
查询模块,用于确定起跳点和着陆点,根据着陆点所处区域赋予角色模型预设的向上起跳速度;
运算模块,用于根据角色模型的向上起跳速度、起跳点和着陆点确定跳跃的抛物线;
检测模块,用于对所述抛物线的路径进行碰撞检测,若所述抛物线没有碰到障碍物,则角色模型进行跳跃。
11.根据权利要求10所述的与地形相适应的游戏角色跳跃装置,其特征在于,所述查询模块赋予角色模型的向上起跳速度是所述着陆点所处区域对应的最小向上起跳速度;所述检测模块通过碰撞检测判定抛物线路径存在障碍物时,则增加所述角色模型的向上起跳速度并由所述运算模块重新确定抛物线;当增加后的角色模型向上起跳速度超过了所述着陆点所处区域对应的最大向上起跳速度时,则由所述查询模块确定新的着陆点。
12.根据权利要求11所述的与地形相适应的游戏角色跳跃装置,其特征在于,所述接收模块接收的跳跃指令为通过鼠标输入的着陆点。
13.根据权利要求12所述的与地形相适应的游戏角色跳跃装置,其特征在于,所述查询模块判断所述鼠标输入的着陆点与起跳点的水平距离是否小于第一预设距离,若小于,则计算所述鼠标输入的着陆点在起跳点所处水平面上的投影点,将鼠标输入的着陆点沿着从起跳点至所述鼠标输入的着陆点的投影点的方向移动第二预设距离后的点作为着陆点。
14.根据权利要求12所述的与地形相适应的游戏角色跳跃装置,其特征在于,所述查询模块根据地形数据判断所述鼠标输入的着陆点是否存在游戏地形;若不存在,则在所述鼠标输入的着陆点所处的水平面内,以所述鼠标输入的着陆点为圆心、以第三预设距离为半径的圆形区域内进行物理检测,将所述圆形区域内存在游戏地形且与所述鼠标输入的着陆点距离最近的点作为着陆点。
15.根据权利要求11所述的与地形相适应的游戏角色跳跃装置,其特征在于,所述接收模块接收的跳跃指令为来自键盘的跳跃键信号,所述查询模块在角色模型正前方距离起跳点为角色模型的最大水平跳跃距离处的垂直方向上做物理检测,将具有游戏地形且相对于起跳点的垂直高度小于角色模型的最大跳跃高度的点作为着陆点;若不存在上述的着陆点,则向靠近起跳点的方向偏移第四预设距离处的垂直方向上继续做物理检测。
16.根据权利要求10-15所述的与地形相适应的游戏角色跳跃装置,其特征在于,所述检测模块将所述抛物线分解为不同斜率的线段,对每个线段分别做碰撞检测,判断是否与障碍物有碰撞,当所有线段都没有碰到障碍物时,判定所述抛物线可以进行跳跃。
17.根据权利要求16所述的与地形相适应的游戏角色跳跃装置,其特征在于,角色模型进行跳跃的过程中,所述接收模块还可继续接收跳跃指令,将接收到所述跳跃指令时角色模型所处的点作为起跳点,并由所述查询模块、运算模块和检测模块进行相同的处理。
18.根据权利要求17所述的与地形相适应的游戏角色跳跃装置,其特征在于,所述接收模块接收所述跳跃指令之前,先接受起跳指令,所述起跳指令为来自鼠标或键盘的跳跃键信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210141499.9A CN102693362B (zh) | 2012-05-08 | 2012-05-08 | 一种与地形相适应的游戏角色跳跃方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210141499.9A CN102693362B (zh) | 2012-05-08 | 2012-05-08 | 一种与地形相适应的游戏角色跳跃方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102693362A true CN102693362A (zh) | 2012-09-26 |
CN102693362B CN102693362B (zh) | 2016-05-18 |
Family
ID=46858790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210141499.9A Active CN102693362B (zh) | 2012-05-08 | 2012-05-08 | 一种与地形相适应的游戏角色跳跃方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102693362B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105204805A (zh) * | 2015-09-15 | 2015-12-30 | 网易(杭州)网络有限公司 | 一种基于高度变化的3d动态路标显示方法和显示装置 |
CN103942412B (zh) * | 2014-03-18 | 2017-10-17 | 深圳市宇慧通科技有限公司 | 游戏角色腾空的识别方法及装置 |
CN108079580A (zh) * | 2017-12-20 | 2018-05-29 | 苏州蜗牛数字科技股份有限公司 | 一种寻路方法及终端 |
EP3406313A1 (en) * | 2017-05-23 | 2018-11-28 | Nintendo Co., Ltd. | Information processing program, information processing device, information processing system, and information processing method |
CN109107154A (zh) * | 2018-08-02 | 2019-01-01 | 腾讯科技(深圳)有限公司 | 虚拟道具移动控制方法、装置、电子装置及存储介质 |
CN109364484A (zh) * | 2018-12-20 | 2019-02-22 | 北京像素软件科技股份有限公司 | 游戏角色移动测试方法及装置 |
CN110193198A (zh) * | 2019-05-23 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 对象跳跃控制方法、装置、计算机设备及存储介质 |
CN111068324A (zh) * | 2019-11-26 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 虚拟对象控制方法、装置、设备及存储介质 |
CN111729311A (zh) * | 2020-06-22 | 2020-10-02 | 苏州幻塔网络科技有限公司 | 攀爬跳跃方法、装置、计算机设备及计算机可读存储介质 |
CN112546630A (zh) * | 2020-12-25 | 2021-03-26 | 珠海西山居移动游戏科技有限公司 | 角色移动方法及装置 |
US11648475B2 (en) | 2018-03-23 | 2023-05-16 | Tencent Technology (Shenzhen) Company Limited | Object control method and device, storage medium, and electronic device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6283857B1 (en) * | 1996-09-24 | 2001-09-04 | Nintendo Co., Ltd. | Three-dimensional image processing apparatus with enhanced automatic and user point of view control |
CN1990074A (zh) * | 2005-12-28 | 2007-07-04 | 腾讯科技(深圳)有限公司 | 一种网络游戏中的物体运动控制方法 |
CN102117179A (zh) * | 2010-12-31 | 2011-07-06 | 杭州乐港科技有限公司 | 一种通过鼠标单键控制角色跳跃、移动的方法 |
-
2012
- 2012-05-08 CN CN201210141499.9A patent/CN102693362B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6283857B1 (en) * | 1996-09-24 | 2001-09-04 | Nintendo Co., Ltd. | Three-dimensional image processing apparatus with enhanced automatic and user point of view control |
CN1990074A (zh) * | 2005-12-28 | 2007-07-04 | 腾讯科技(深圳)有限公司 | 一种网络游戏中的物体运动控制方法 |
CN102117179A (zh) * | 2010-12-31 | 2011-07-06 | 杭州乐港科技有限公司 | 一种通过鼠标单键控制角色跳跃、移动的方法 |
Non-Patent Citations (1)
Title |
---|
于晓霞: "碰撞检测技术在游戏中的应用与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942412B (zh) * | 2014-03-18 | 2017-10-17 | 深圳市宇慧通科技有限公司 | 游戏角色腾空的识别方法及装置 |
CN105204805A (zh) * | 2015-09-15 | 2015-12-30 | 网易(杭州)网络有限公司 | 一种基于高度变化的3d动态路标显示方法和显示装置 |
CN105204805B (zh) * | 2015-09-15 | 2018-08-03 | 网易(杭州)网络有限公司 | 一种基于高度变化的3d动态路标显示方法和显示装置 |
EP3406313A1 (en) * | 2017-05-23 | 2018-11-28 | Nintendo Co., Ltd. | Information processing program, information processing device, information processing system, and information processing method |
US10821362B2 (en) | 2017-05-23 | 2020-11-03 | Nintendo Co., Ltd. | Information processing program, information processing device, information processing system, and information processing method for imparting relevance to speeds of an object before and after switching of movement |
US11298619B2 (en) | 2017-05-23 | 2022-04-12 | Nintendo Co., Ltd. | Information processing program, information processing device, information processing system, and information processing method |
CN108079580A (zh) * | 2017-12-20 | 2018-05-29 | 苏州蜗牛数字科技股份有限公司 | 一种寻路方法及终端 |
US12023589B2 (en) | 2018-03-23 | 2024-07-02 | Tencent Technology (Shenzhen) Company Limited | Object control method and device, storage medium, and electronic device |
US11648475B2 (en) | 2018-03-23 | 2023-05-16 | Tencent Technology (Shenzhen) Company Limited | Object control method and device, storage medium, and electronic device |
WO2020024726A1 (zh) * | 2018-08-02 | 2020-02-06 | 腾讯科技(深圳)有限公司 | 虚拟道具移动控制方法、终端及存储介质 |
US11752439B2 (en) | 2018-08-02 | 2023-09-12 | Tencent Technology (Shenzhen) Company Limited | Virtual item movement control method, terminal, and storage medium |
CN109107154A (zh) * | 2018-08-02 | 2019-01-01 | 腾讯科技(深圳)有限公司 | 虚拟道具移动控制方法、装置、电子装置及存储介质 |
CN109364484A (zh) * | 2018-12-20 | 2019-02-22 | 北京像素软件科技股份有限公司 | 游戏角色移动测试方法及装置 |
CN110193198A (zh) * | 2019-05-23 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 对象跳跃控制方法、装置、计算机设备及存储介质 |
CN110193198B (zh) * | 2019-05-23 | 2023-02-10 | 腾讯科技(深圳)有限公司 | 对象跳跃控制方法、装置、计算机设备及存储介质 |
KR102707203B1 (ko) * | 2019-05-23 | 2024-09-13 | 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 | 객체 점프 제어 방법 및 장치, 그리고 컴퓨터 디바이스 및 저장 매체 |
JP7455846B2 (ja) | 2019-05-23 | 2024-03-26 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | オブジェクトジャンプの制御方法、装置、コンピュータデバイスおよびコンピュータプログラム |
JP2022532968A (ja) * | 2019-05-23 | 2022-07-21 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | オブジェクトジャンプの制御方法、装置、コンピュータデバイスおよびコンピュータプログラム |
EP3974042A4 (en) * | 2019-05-23 | 2022-08-10 | Tencent Technology (Shenzhen) Company Limited | OBJECT JUMP CONTROL METHOD AND DEVICE AND COMPUTER DEVICE AND STORAGE MEDIA |
US11679331B2 (en) | 2019-05-23 | 2023-06-20 | Tencent Technology (Shenzhen) Company Limited | Object jump control method and apparatus, computer device, and storage medium |
KR20210115004A (ko) * | 2019-05-23 | 2021-09-24 | 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 | 객체 점프 제어 방법 및 장치, 그리고 컴퓨터 디바이스 및 저장 매체 |
WO2020233566A1 (zh) * | 2019-05-23 | 2020-11-26 | 腾讯科技(深圳)有限公司 | 对象跳跃控制方法、装置、计算机设备及存储介质 |
CN111068324B (zh) * | 2019-11-26 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 虚拟对象控制方法、装置、设备及存储介质 |
CN111068324A (zh) * | 2019-11-26 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 虚拟对象控制方法、装置、设备及存储介质 |
CN111729311A (zh) * | 2020-06-22 | 2020-10-02 | 苏州幻塔网络科技有限公司 | 攀爬跳跃方法、装置、计算机设备及计算机可读存储介质 |
CN111729311B (zh) * | 2020-06-22 | 2024-05-10 | 苏州幻塔网络科技有限公司 | 攀爬跳跃方法、装置、计算机设备及计算机可读存储介质 |
CN112546630B (zh) * | 2020-12-25 | 2022-09-02 | 珠海西山居数字科技有限公司 | 角色移动方法及装置 |
CN112546630A (zh) * | 2020-12-25 | 2021-03-26 | 珠海西山居移动游戏科技有限公司 | 角色移动方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102693362B (zh) | 2016-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102693362A (zh) | 一种与地形相适应的游戏角色跳跃方法和装置 | |
CN111714891B (zh) | 角色攀爬方法、装置、计算机设备及可读存储介质 | |
CN111729311B (zh) | 攀爬跳跃方法、装置、计算机设备及计算机可读存储介质 | |
JP6114460B1 (ja) | ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 | |
US10406438B2 (en) | Controlling behavior of entities in funnel sections of a computer-represented environment | |
US20090104990A1 (en) | Game device | |
CN108141512A (zh) | 飞行装置、移动装置、服务器以及程序 | |
US9238175B2 (en) | Natural movement in a virtual environment | |
CN105378785A (zh) | 在计算机游戏中自动瞄准目标对象的方法和装置 | |
CN106444835A (zh) | 基于Lazy Theta星和粒子群混合算法的水下潜器三维路径规划方法 | |
US10576382B2 (en) | Golf game apparatus, storage medium, golf game system and golf game control method | |
CN111753425A (zh) | 仿真方法、装置、电子设备及存储介质 | |
CN106422330B (zh) | 单位的寻路方法及装置 | |
US10888784B2 (en) | Control of player character with enhanced motion functionality | |
CN111753424B (zh) | 仿真方法、装置、电子设备及存储介质 | |
CN103533246A (zh) | 一种自动跟踪球形摄像机的控制方法 | |
JP2023543519A (ja) | 仮想アイテムの投入方法、装置、端末、及びプログラム | |
CN108654087A (zh) | 信息指示方法及装置、路况提示方法及装置 | |
CN103700137A (zh) | 一种时空相关的层次遮挡剔除方法 | |
CN111389007B (zh) | 一种游戏控制方法、装置、计算设备及存储介质 | |
CN105865457B (zh) | 一种基于文化算法的动态环境下航迹规划方法 | |
CN105457271A (zh) | 基于安卓和重力感应的海洋捕鱼类游戏 | |
CN114288660A (zh) | 虚拟角色的飞行控制方法及装置、存储介质、电子装置 | |
CN113521734A (zh) | 一种游戏中的飞行控制方法及装置 | |
CN108355355A (zh) | 一种3d竞技类网络游戏的控制方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |