发明内容
有鉴于此,本申请实施例提供了一种角色斜坡旋转方法及装置、计算设备及计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本申请实施例的第一方面,提供了一种角色斜坡旋转方法,包括:
获取角色在斜坡上的第一位置点信息和第二位置点信息,其中所述角色从第一位置点移动至第二位置点;
根据所述第一位置点信息和所述第二位置点信息,确定第一倾斜角度和第二倾斜角度;
根据所述第一倾斜角度和所述第二倾斜角度,对所述角色进行旋转。
可选的,根据所述第一位置点信息和所述第二位置点信息,确定第一倾斜角度,包括:
根据所述第一位置点信息和所述第二位置点信息,确定所述角色在前后投影方向上的第一子运动轨迹;
将所述第一子运动轨迹和水平面的夹角作为第一倾斜角度。
可选的,根据所述第一位置点信息和所述第二位置点信息,确定第二倾斜角度,包括:
根据所述第一位置点信息和所述第二位置点信息,确定所述角色在左右投影方向上的第二子运动轨迹;
将所述第二子运动轨迹和水平面的夹角作为第二倾斜角度。
可选的,根据所述第一倾斜角度和所述第二倾斜角度,对所述角色进行旋转,包括:
将所述角色在前后方向按照所述第一倾斜角度、在左右方向按照所述第二倾斜角度进行旋转。
可选的,根据所述第一倾斜角度和所述第二倾斜角度,对所述角色进行旋转,包括:
根据所述第一倾斜角度和所述第二倾斜角度,确定角色倾斜角度;
将所述角色按照所述角色倾斜角度进行旋转。
根据本申请实施例的第二方面,提供了一种角色斜坡旋转装置,包括:
获取模块,被配置为获取角色在斜坡上的第一位置点信息和第二位置点信息,其中所述角色从第一位置点移动至第二位置点;
确定模块,被配置为根据所述第一位置点信息和所述第二位置点信息,确定第一倾斜角度和第二倾斜角度;
旋转模块,被配置为根据所述第一倾斜角度和所述第二倾斜角度,对所述角色进行旋转。
可选的,所述确定模块,进一步被配置为根据所述第一位置点信息和所述第二位置点信息,确定所述角色在前后投影方向上的第一子运动轨迹;将所述第一子运动轨迹和水平面的夹角作为第一倾斜角度。
可选的,所述确定模块,进一步被配置为根据所述第一位置点信息和所述第二位置点信息,确定所述角色在左右投影方向上的第二子运动轨迹;将所述第二子运动轨迹和水平面的夹角作为第二倾斜角度。
可选的,所述旋转模块,进一步被配置为将所述角色在前后方向按照所述第一倾斜角度、在左右方向按照所述第二倾斜角度进行旋转。
可选的,所述旋转模块,进一步被配置根据所述第一倾斜角度和所述第二倾斜角度,确定角色倾斜角度;将所述角色按照所述角色倾斜角度进行旋转。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述角色斜坡旋转方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述角色斜坡旋转方法的步骤。
本申请提供的角色斜坡旋转方法,获取角色在斜坡上的第一位置点信息和第二位置点信息,其中所述角色从第一位置点移动至第二位置点;根据所述第一位置点信息和所述第二位置点信息,确定第一倾斜角度和第二倾斜角度;根据所述第一倾斜角度和所述第二倾斜角度,对所述角色进行旋转。可以使角色始终与斜坡的斜面保持垂直,且无需大计算开销,节省系统资源,使游戏更贴近于真实世界的状态,提升用户的游戏体验。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
欧拉角:用来唯一地确定定点转动明体位置的三个一组独立角参量,由章动角θ、进动角ψ和自转角φ组成,是3D图形学中一种常用的旋转表示方法。
四元数:3D图形学中一种最常用的旋转表示方法。
在本申请中,提供了一种角色斜坡旋转方法及装置、计算设备及计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示角色斜坡旋转方法中的步骤。图2示出了根据本申请一实施例的角色斜坡旋转方法的流程图,包括步骤202至步骤206。
步骤202:获取角色在斜坡上的第一位置点信息和第二位置点信息,其中所述角色从第一位置点移动至第二位置点。
在游戏中,控制游戏角色在斜坡上行走,第一位置点即为角色的开始位置,第二位置点即为角色的终点位置。位置点的信息包括该点处的坐标信息,游戏角色在斜坡上行走,可以是上坡,也可以是下坡。游戏角色可以是人,也可以是坐骑、宠物等游戏中可以移动的角色。
在本申请提供的一实施例中,游戏角色为人,控制人在上坡行走。获取开始行走的位置为[X1,Y1,Z1]和结束行走的位置[X2,Y2,Z2]。
在本申请提供的另一实施例中,游戏角色为一只熊,控制熊在山上行走,获取熊开始行走的位置信息和结束行走的位置信息。
在本申请提供的又一实施例中,游戏角色为一辆汽车,控制汽车在山坡上行驶,获取汽车开始行驶的位置信息和停车的位置信息。
步骤204:根据所述第一位置点信息和所述第二位置点信息,确定第一倾斜角度和第二倾斜角度。
以角色的朝向为准,第一倾斜角度为角色前后方向的倾斜角度,第二倾斜角度为角色左右方向的倾斜角度。根据第一位置点信息和第二位置点信息,确定角色的第一倾斜角度和第二倾斜角度。
在本申请提供的实施例中,人从开始位置[X1,Y1,Z1]移动至结束位置[X2,Y2,Z2],根据开始位置和结束位置确定第一倾斜角度为向后倾斜5度,第二倾斜角度为向左倾斜10度。
在本申请提供的另一实施例中,熊从开始行走的位置信息移动至结束行走的位置,根据开始行走的位置和结束行走的位置确定第一倾斜角度为向后倾斜10度,第二倾斜角度为向右倾斜13度。
在本申请提供的又一实施例中,汽车从开始行驶的位置行驶至停车位置,根据开始行驶的位置和停车位置,确定第一倾斜角度为向前倾斜8度,第二倾斜角度为向左倾斜5度。
步骤206:根据所述第一倾斜角度和所述第二倾斜角度,对所述角色进行旋转。
根据第一倾斜角度和第二倾斜角度,对所述角色进行旋转,使旋转后的角色能与斜坡垂直。达到与现实世界统一的目的,提升了游戏的表现力,提高了游戏用户的用户体验。
可选的,将所述角色在前后方向按照所述第一倾斜角度、在左右方向按照所述第二倾斜角度进行旋转。
在对所述角色旋转时,根据将所述角色在前后方向按照第一倾斜角度旋转,在左右方向按照第二倾斜角度旋转。
在本申请提供的实施例中,第一倾斜角度为向后倾斜5度,第二倾斜角度为向左倾斜10度,以此为依据对上坡的人进行旋转,调整人的角度使之与斜坡保持垂直。
在本申请提供的另一实施例中,根据第一倾斜角度为向后倾斜10度,第二倾斜角度为向右倾斜13度,对上坡的熊进行旋转,调整熊的角度使之与斜坡保持垂直。
在本申请提供的又一实施例中,根据第一倾斜角度为向前8度,第二倾斜角度为向左倾斜5度,对下坡的汽车进行旋转,调整汽车的角度使之与斜坡保持垂直。
可选的,根据所述第一倾斜角度和所述第二倾斜角度,确定角色倾斜角度,将所述角色按照所述角色倾斜角度进行旋转。
在根据第一倾斜角度和第二倾斜角度对所述角色进行旋转时,可以将第一倾斜角度和第二倾斜角度,通过欧拉角或四元数的方法计算,得到角色旋转的角色倾斜角度,根据角色倾斜角度对所述角色进行旋转。
在本申请提供的实施例中,根据欧拉角计算第一倾斜角度和第二倾斜角度,得到角色旋转的角色倾斜角度,根据得到的角色倾斜角度对上坡的人进行旋转,调整人的角度使之与斜坡保持垂直。
本申请实施例提供的角色斜坡旋转方法,通过在获取角色在斜坡上的开始位置和结束位置,根据开始位置和结束位置确定角色的在前后方向和左右方向的倾斜角度,根据倾斜角度对角色进行旋转,仅使用很小的计算开销,即可做到使角色与斜坡平面垂直,使游戏画面更加逼真,角色姿态跟贴近于真实世界的状态,在节省了计算开销资源的同时,提升了游戏的表现力和可玩性,增强了用户的游戏体验。
图3示出了本申请另一实施例的角色斜坡旋转方法,该角色斜坡旋转方法以对人驾驶摩托车下坡为例进行描述,包括步骤302至步骤312。
步骤302:获取角色在斜坡上的第一位置点信息和第二位置点信息,其中所述角色从第一位置点移动至第二位置点。
在本申请提供的实施例中,人驾驶摩托车下坡,开始位置点信息为[X3,Y3,Z3],结束位置点信息为[X4,Y4,Z4]。
步骤304:根据所述第一位置点信息和所述第二位置点信息,确定所述角色在前后投影方向上的第一子运动轨迹。
基于第一位置点信息和第二位置点信息,确定以角色朝向为准,在前后投影方向上的第一子运动轨迹。
在本申请提供的实施例中,人驾驶摩托车下坡,获取在下坡过程中在前后投影方向上的第一子运动轨迹H。
步骤306:将所述第一子运动轨迹和水平面的夹角作为第一倾斜角度。
根据角色的运动方向和第一子运动轨迹和水平面的夹角确定第一倾斜角度。当角色上坡时,第一倾斜角度方向为向后倾斜,倾斜角度为第一子运动轨迹与水平面的夹角;当角色下坡时,第一倾斜角度方向为向前倾斜,倾斜角度为第一子运动轨迹与水平面的夹角。
在本申请提供的实施例中,人驾驶摩托车下坡,可以确定第一倾斜角度方向为向前倾斜,根据第一子运动轨迹H与水平面的夹角可以确定倾斜角度为20度,因此第一倾斜角度为向前倾斜20度。
步骤308:根据所述第一位置点信息和所述第二位置点信息,确定所述角色在左右投影方向上的第二子运动轨迹。
基于第一位置点信息和第二位置点信息,确定以角色朝向为准,在左右投影方向上的第二子运动轨迹。
在本申请提供的实施例中,人驾驶摩托车下坡,获取在下坡过程中在左右投影方向上的第二子运动轨迹W。
步骤310:将所述第二子运动轨迹和水平面的夹角作为第二倾斜角度。
当角色上坡并向右有移动或角色下坡并向左有移动时,第二倾斜角度为向左倾斜,倾斜角度为第二子运动轨迹与水平面的夹角,当角色上坡并向左有移动或角色下坡并向右有移动时,第二倾斜角度为向右倾斜,倾斜角度为第二子运动轨迹与水平面的夹角。
在本申请提供的实施例中,人驾驶摩托车下坡并向左有移动,可以确定第二倾斜角度方向为向左倾斜,根据第二子运动轨迹W与水平面的夹角可以确定倾斜角度为12度,因此第二倾斜角度为向左倾斜12度。
步骤312:根据所述第一倾斜角度和所述第二倾斜角度,对所述角色进行旋转。
根据第一倾斜角度和第二倾斜角度,对所述角色进行旋转,使角色能保持与斜坡面保持垂直。
在本申请提供的实施例中。第一倾斜角度为向前倾斜20度,第二倾斜角度为向左倾斜12度,根据第一倾斜角度和第二倾斜角度,对人和摩托车进行旋转,使人驾驶摩托车下坡时能始终与斜坡面保持垂直。
本申请实施例提供的角色斜坡旋转方法,通过在获取角色在斜坡上的开始位置和结束位置,根据开始位置和结束位置确定角色的在前后方向和左右方向的倾斜角度,根据倾斜角度对角色进行旋转,仅使用很小的计算开销,即可做到使角色与斜坡平面垂直,使游戏画面更加逼真,角色姿态跟贴近于真实世界的状态,在节省了计算开销资源的同时,提升了游戏的表现力和可玩性,增强了用户的游戏体验。
与上述方法实施例相对应,本申请还提供了角色斜坡旋转装置实施例,图4示出了本申请一个实施例的角色斜坡旋转装置的结构示意图。如图4所示,该装置包括:
获取模块402,被配置为获取角色在斜坡上的第一位置点信息和第二位置点信息,其中所述角色从第一位置点移动至第二位置点。
确定模块404,被配置为根据所述第一位置点信息和所述第二位置点信息,确定第一倾斜角度和第二倾斜角度。
旋转模块406,被配置为根据所述第一倾斜角度和所述第二倾斜角度,对所述角色进行旋转。
可选的,所述确定模块404,进一步被配置为根据所述第一位置点信息和所述第二位置点信息,确定所述角色在前后投影方向上的第一子运动轨迹;将所述第一子运动轨迹和水平面的夹角作为第一倾斜角度。
可选的,所述确定模块404,进一步被配置为根据所述第一位置点信息和所述第二位置点信息,确定所述角色在左右投影方向上的第二子运动轨迹;将所述第二子运动轨迹和水平面的夹角作为第二倾斜角度。
可选的,所述旋转模块406,进一步被配置为将所述角色在前后方向按照所述第一倾斜角度、在左右方向按照所述第二倾斜角度进行旋转。
可选的,所述旋转模块406,进一步被配置根据所述第一倾斜角度和所述第二倾斜角度,确定角色倾斜角度;将所述角色按照所述角色倾斜角度进行旋转。
本申请实施例提供的角色斜坡旋转装置,通过在获取角色在斜坡上的开始位置和结束位置,根据开始位置和结束位置确定角色的在前后方向和左右方向的倾斜角度,根据倾斜角度对角色进行旋转,仅使用很小的计算开销,即可做到使角色与斜坡平面垂直,使游戏画面更加逼真,角色姿态跟贴近于真实世界的状态,在节省了计算开销资源的同时,提升了游戏的表现力和可玩性,增强了用户的游戏体验。
本申请一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述的角色斜坡旋转方法的步骤。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述角色斜坡旋转方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该计算机可读存储介质的技术方案与上述的角色斜坡旋转方法的技术方案属于同一构思,计算机可读存储介质的技术方案未详细描述的细节内容,均可以参见上述角色斜坡旋转方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。