游戏角色移动测试方法及装置与流程
本发明实施例涉及游戏测试技术领域,具体而言,涉及一种游戏角色移动测试方法及装置。
背景技术:
角色扮演类网络游戏作为游戏的重要类型之一,掌握着游戏市场较多的游戏玩家资源,随着科技的发展,游戏玩家对角色扮演类网络游戏的需求也越来越广泛,在传统的角色扮演网络游戏中,游戏角色大多只能在平面范围内移动,而实际游戏场景中可能出现游戏角色在球体上进行移动的情况,而如何判断游戏角色在球体上完成跑跳等一系列移动动作后的落脚点成为一个难题。
技术实现要素:
有鉴于此,本发明提供了一种游戏角色移动测试方法及装置。
本发明实施例提供了一种游戏角色移动测试方法,用于对游戏角色在球体上的移动进行测试,应用于服务端,所述方法包括:
获取游戏角色在球体表面的移动指令,根据所述移动指令计算得到所述游戏角色的位移;将所述位移按照第一设定方向和第二设定方向进行分解,获得沿所述第一设定方向的第一距离值和沿所述第二设定方向的第二距离值;其中,所述第一设定方向指向所述球体表面的球心的反方向,所述第二设定方向与所述第一设定方向垂直;
获取所述游戏角色在设定坐标系中的初始坐标点;
基于所述第一距离值将所述初始坐标点沿所述第一设定方向进行移动以得到第一坐标点;
基于所述第二距离值将所述第一坐标点沿所述第二设定方向进行移动以得到第二坐标点;
计算设定点分别到所述初始坐标点和所述第二坐标点的距离的差值的绝对值;将所述第二坐标点沿所述第一设定方向的反方向移动第三距离值得到第三坐标点,将所述第三坐标点作为所述游戏角色在所述球体表面的落地点,其中,所述第三距离值等于所述绝对值。
可选地,基于所述第一距离值将所述初始坐标点沿所述第一设定方向进行移动以得到第一坐标点的步骤,包括:
检测所述初始坐标点形成的设定区域沿所述第一设定方向移动所述第一设定距离值时是否产生碰撞;
若没有产生碰撞,将所述初始坐标点沿所述第一设定方向移动所述第一距离值得到第一坐标点;
若产生碰撞,将第一设定碰撞点作为第一坐标点。
可选地,基于所述第二距离值将所述第一坐标点沿所述第二设定方向进行移动以得到第二坐标点的步骤,包括:
检测所述设定区域沿所述第二设定方向移动所述第二设定距离值时是否产生碰撞;
若没有产生碰撞,将所述第一坐标点沿所述第二设定方向移动所述第二距离值得到第二坐标点;
若产生碰撞,将第二设定碰撞点作为第二坐标点。
可选地,所述方法还包括:
获取用于修改所述第一设定碰撞点和第二设定碰撞点的修改指令,根据所述修改指令对所述第一设定碰撞点和所述第二设定碰撞点进行修改。
可选地,根据所述移动指令计算得到所述游戏角色的位移的步骤,包括:
解析获得所述移动指令中包括的移动方向、移动速度和持续时间;
根据所述移动方向、所述移动速度和所述持续时间计算得到所述位移。
本发明实施例还提供了一种游戏角色移动测试装置,用于对游戏角色在球体上的移动进行测试,应用于服务端,所述装置包括:
位移分解模块,用于获取游戏角色在球体表面的移动指令,根据所述移动指令计算得到所述游戏角色的位移;将所述位移按照第一设定方向和第二设定方向进行分解,获得沿所述第一设定方向的第一距离值和沿所述第二设定方向的第二距离值;其中,所述第一设定方向指向所述球体表面的球心的反方向,所述第二设定方向与所述第一设定方向垂直;
初始坐标点获取模块,用于获取所述游戏角色在设定坐标系中的初始坐标点;
第一移动模块,用于基于所述第一距离值将所述初始坐标点沿所述第一设定方向进行移动以得到第一坐标点;
第二移动模块,用于基于所述第二距离值将所述第一坐标点沿所述第二设定方向进行移动以得到第二坐标点;
第三移动模块,用于计算设定点分别到所述初始坐标点和所述第二坐标点的距离的差值的绝对值;将所述第二坐标点沿所述第一设定方向的反方向移动第三距离值得到第三坐标点,将所述第三坐标点作为所述游戏角色在所述球体表面的落地点,其中,所述第三距离值等于所述绝对值。
可选地,所述第一移动模块通过以下方式基于所述第一距离值将所述初始坐标点沿所述第一设定方向进行移动以得到第一坐标点:
检测所述初始坐标点形成的设定区域沿所述第一设定方向移动所述第一设定距离值时是否产生碰撞;
若没有产生碰撞,将所述初始坐标点沿所述第一设定方向移动所述第一距离值得到第一坐标点;
若产生碰撞,将第一设定碰撞点作为第一坐标点。
可选地,所述第二移动模块通过以下方式基于所述第二距离值将所述第一坐标点沿所述第二设定方向进行移动以得到第二坐标点:
检测所述设定区域沿所述第二设定方向移动所述第二设定距离值时是否产生碰撞;
若没有产生碰撞,将所述第一坐标点沿所述第二设定方向移动所述第二距离值得到第二坐标点;
若产生碰撞,将第二设定碰撞点作为第二坐标点。
可选地,所述装置还包括:
修改模块,用于获取用于修改所述第一设定碰撞点和所述第二设定碰撞点的修改指令,根据所述修改指令对所述第一设定碰撞点和所述第二设定碰撞点进行修改。
可选地,所述位移分解模块通过以下方式根据所述移动指令计算得到所述游戏角色的位移:
解析获得所述移动指令中包括的移动方向、移动速度和持续时间;
根据所述移动方向、所述移动速度和所述持续时间计算得到所述位移。
本发明实施例还提供了一种服务端,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的游戏角色移动测试方法。
本发明实施例还提供了一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在服务端执行上述的游戏角色移动测试方法。
有益效果
本发明实施例提供的游戏角色移动测试方法及装置,将根据移动指令计算得到的位移按照第一设定方向和第二设定方向进行分解以获得第一距离值和第二距离值,并先后基于第一距离值和第二距离值对游戏角色的初始坐标点进行移动,然后基于初始坐标点在第一设定方向的坐标值与第二坐标点在所述第一设定方向的坐标值的差值的绝对值计算得到游戏角色的落脚点,能够在球体表面实现不同方向的游戏角色移动测试,准确计算出游戏角色的落脚点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的一种服务端10的方框示意图。
图2为本发明实施例所提供的一种游戏角色移动测试方法的流程图。
图3为本发明实施例所提供的一种球体世界的示意图。
图4为一实施方式中图2所示的步骤s23包括的子步骤的示意图。
图5为本发明实施例所提供的一种游戏角色移动测试的示意图。
图6为一实施方式中图2所示的步骤s24包括的子步骤的示意图。
图7为本发明实施例所提供的一种游戏角色移动测试的另一示意图。
图8为本发明实施例所提供的一种游戏角色移动测试的又一示意图。
图9为本发明实施例所提供的一种游戏角色移动测试装置20的模块框图。
图标:
10-服务端;11-存储器;12-处理器;13-网络模块;
20-游戏角色移动测试装置;21-位移分解模块;22-初始坐标点获取模块;23-第一移动模块;24-第二移动模块;25-第三移动模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
发明人经调查发现,目前角色扮演类网络游戏中的游戏角色大多数只能在平面范围内移动,即模拟了一个重力方向唯一向下的世界,但是这种方式限制了游戏角色的自由跳跃以及飞行等移动方式,在一些特殊场景中,存在游戏角色在球体上的移动,但是游戏角色在球体上进行移动后难以准确计算出落脚点,为后期的游戏制作带来了困难。
以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。
基于上述研究,本发明实施例提供了一种游戏角色移动测试方法及装置,能够在球体表面实现不同方向的游戏角色移动测试,准确计算出游戏角色的落脚点。
图1示出了本发明实施例所提供的一种服务端10的方框示意图。本发明实施例中的服务端10具有数据存储、传输、处理功能,如图1所示,服务端10包括:存储器11、处理器12、网络模块13和游戏角色移动测试装置20。
存储器11、处理器12和网络模块13之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件互相之间可以通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有游戏角色移动测试装置20,所述游戏角色移动测试装置20包括至少一个可以软件或固件(firmware)的形式储存于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,例如本发明实施例中的游戏角色移动测试装置20,从而执行各种功能应用以及数据处理,即实现本发明实施例中的游戏角色移动测试方法。
其中,所述存储器11可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。
所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
网络模块13用于通过网络建立服务端10与其他通信终端设备之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。
可以理解,图1所示的结构仅为示意,服务端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序。所述计算机程序运行时控制所述可读存储介质所在服务端10执行下面的游戏角色移动测试方法。
图2示出了本发明实施例所提供的一种游戏角色移动测试方法的流程图。所述方法有关的流程所定义的方法步骤应用于服务端10,可以由所述处理器12实现。下面将对图2所示的具体流程进行详细阐述:
请结合参阅图3,首先在场景中建立坐标系,该坐标系为设定坐标系,球体模型ss的局部坐标原点为球心sso,球体模型ss的引力半径超过球体模型ss的半径,在球体模型ss引力范围内的任意一点的重力方向指向球心sso,由此,建立一重力方向g始终指向球心sso的球体世界。
考虑到测试效率,将游戏角色看作胶囊体c,如图3所示,胶囊体c的坐标可以为(xc,yc,zc)。
步骤s21,获取游戏角色在球体表面的移动指令,根据移动指令计算得到游戏角色的位移,将位移按照第一设定方向和第二设定方向进行分解,获得沿第一设定方向的第一距离值和沿第二设定方向的第二距离值。
在每一帧中,移动指令包括移动方向、移动速度和持续时间,根据移动方向、移动速度和持续时间能够计算得到游戏角色的位移d,如图3所示。
将位移d沿第一设定方向f1和第二设定方向f2进行分解得到第一距离值d1和第二距离值d2。
其中,第一设定方向f1远离球心(与g相反),第二设定方向f2垂直于第一设定方向f1。
步骤s22,获取游戏角色在设定坐标系中的初始坐标点。
如图3所示,初始坐标点可以为(xc,yc,zc)。
步骤s23,基于第一距离值将初始坐标点沿第一设定方向进行移动以得到第一坐标点。
请结合参阅图4和图5,本实施例中通过步骤s231、步骤s232和步骤s233列举了步骤s23的其中一种实现方式。
步骤s231,检测初始坐标点形成的设定区域沿第一设定方向移动第一设定距离值时是否产生碰撞。
可以理解,设定区域为胶囊体c。例如,在一些游戏场景中,可能存在包裹着球体的天花板,如图5所示,在将初始坐标点进行移动之前,会先通过碰撞检测判断胶囊体c在移动过程中是否与天花板产生碰撞,若没有产生碰撞,转向步骤s232,若产生碰撞,转向步骤s233。
步骤s232,将初始坐标点沿第一设定方向移动第一距离值得到第一坐标点。
若没有产生碰撞,将初始坐标点(xc,yc,zc)沿f1方向移动第一距离值d1的到第一坐标点(xc,yc+d1,zc),如图5所示。
步骤s233,将第一设定碰撞点作为第一坐标点。
若产生碰撞,表明胶囊体c还未完成第一距离值d1的移动时就已经触碰到天花板而不能继续沿f1方向移动,此时将胶囊体c移动到第一设定碰撞点,将第一设定碰撞点作为第一坐标点。可以理解,第一设定碰撞点为胶囊体c与天花板的碰撞点。
步骤s24,基于第二距离值将第一坐标点沿第二设定方向进行移动以得到第二坐标点。
请结合参阅图6和图7,本实施例中通过步骤s241、步骤s242和步骤s243列举了步骤s24的其中一种实现方式。
步骤s241,检测设定区域沿第二设定方向移动第二设定距离值时是否产生碰撞。
可以理解,胶囊体c沿第二设定方向f2移动时,可能会与障碍物碰撞,在移动之前,需要进行碰撞检测以确定移动过程中是否与碰撞无产生碰撞,若没有产生碰撞,转向步骤s242,若产生碰撞,转向步骤s243。
步骤s242,将第一坐标点沿第二设定方向移动第二距离值得到第二坐标点。
可以理解,若没有产生碰撞,表明胶囊体c能够越过障碍物,进而能够沿f2方向进行移动,因此,将第一坐标点(xc,yc+d1,zc)沿f2方向移动第二距离值d2得到第二坐标点(xc+d2,yc+d1,zc),如图7所示。
步骤s243,将第二设定碰撞点作为第二坐标点。
若产生碰撞,表明胶囊体c还未完成第二距离值d2的移动时就已经触碰到障碍物而不能继续沿f2方向移动,此时将胶囊体c移动到第二设定碰撞点,将第二设定碰撞点作为第二坐标点。可以理解,第二设定碰撞点为胶囊体c与障碍物的碰撞点。
步骤s25,计算设定点分别到初始坐标点和第二坐标点的距离的差值的绝对值,将第二坐标点沿第一设定方向的反方向移动第三距离值得到第三坐标点,将第三坐标点作为游戏角色在球体表面的落地点。
可以理解,设定点为球心sso,如图8所示,球心sso到初始坐标点的距离为d1,球心sso到第二坐标点的距离为d2,则差值的绝对值为|d2-d1|。
第一设定方向的方向指向球形,可以理解,与第二坐标点(xc+d2,yc+d1,zc)对应的第一设定方向为图8中的f3,因此,沿f3的反方向将第二坐标点移动|d2-d1|得到游戏角色在球体模型ss表面的落地点l。
以上方法能够适用于多个方向的移动测试,并且引入天花板和障碍物测试,能够准确测试出游戏角色在不同移动指令和不同场景下的移动路径和落脚点,为游戏的后续开发提供准确的数据基础。
可选地,可以根据实际情况对第一设定碰撞点和第二设定碰撞点的坐标进行调整,以实现对不同游戏角色跳跃性能的测试。
可选地,游戏角色在每帧中进行了移动时,会记录当前帧与前一帧相对于球心的夹角变化inc,叠加这个夹角变化的四元数可以得到从球体空间到世界空间的旋转量l=l*inc,可以使用l辅助更新摄像机变化、移动方向的计算等。
在上述基础上,如图9所示,本发明实施例提供了一种游戏角色移动测试装置20,所述游戏角色移动测试装置20包括:位移分解模块21、初始坐标点获取模块22、第一移动模块23、第二移动模块24和第三移动模块25。
位移分解模块21,用于获取游戏角色在球体表面的移动指令,根据所述移动指令计算得到所述游戏角色的位移;将所述位移按照第一设定方向和第二设定方向进行分解,获得沿所述第一设定方向的第一距离值和沿所述第二设定方向的第二距离值;其中,所述第一设定方向指向所述球体表面的球心的反方向,所述第二设定方向与所述第一设定方向垂直。
由于位移分解模块21和图2中步骤s21的实现原理类似,因此在此不作更多说明。
初始坐标点获取模块22,用于获取所述游戏角色在设定坐标系中的初始坐标点。
由于初始坐标点获取模块22和图2中步骤s22的实现原理类似,因此在此不作更多说明。
第一移动模块23,用于基于所述第一距离值将所述初始坐标点沿所述第一设定方向进行移动以得到第一坐标点。
由于第一移动模块23和图2中步骤s23的实现原理类似,因此在此不作更多说明。
第二移动模块24,用于基于所述第二距离值将所述第一坐标点沿所述第二设定方向进行移动以得到第二坐标点。
由于第二移动模块24和图2中步骤s24的实现原理类似,因此在此不作更多说明。
第三移动模块25,用于计算设定点分别到所述初始坐标点和所述第二坐标点的距离的差值的绝对值;将所述第二坐标点沿所述第一设定方向的反方向移动第三距离值得到第三坐标点,将所述第三坐标点作为所述游戏角色在所述球体表面的落地点,其中,所述第三距离值等于所述绝对值。
由于第三移动模块25和图2中步骤s25的实现原理类似,因此在此不作更多说明。
综上,本发明实施例所提供的游戏角色移动测试方法及装置,能够在球体表面实现不同方向的游戏角色移动测试,准确计算出游戏角色的落脚点。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务端10,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
相关知识
游戏角色移动测试方法及装置与流程
游戏优化方法、游戏优化装置及移动终端.pdf
网络游戏产业移动端游戏开发与推广方案.doc
移动游戏测试步骤细则
移动游戏测试
游戏测试的主要工作及主要流程
剑与远征扬沙戈壁攻略最新路线图 通关流程及注意事项
游戏角色模型制作流程与技巧介绍
网页游戏的测试流程
移动游戏业务体验指标及评估方法 蜂窝移动网.pdf
推荐资讯
- 1老六爱找茬美女的烦恼怎么过- 4999
- 2博德之门3黄金雏龙法杖怎么得 4867
- 3《大侠立志传》剿灭摸金门任务 4312
- 4代号破晓官方正版角色介绍 4023
- 5赛马娘锻炼到底的伙伴支援卡事 3802
- 6闪烁之光11月兑换码大全20 3774
- 7原神原海异种刷怪路线-原神原 3547
- 8爆梗找茬王厕所特工怎么通关- 3542
- 9《我的世界》领地删除指令是什 3440
- 10原神开局星落湖怎么出去 原神 3426