CN109364475A - 虚拟角色控制方法、装置、终端、系统及介质 - Google Patents

虚拟角色控制方法、装置、终端、系统及介质 Download PDF

Info

Publication number
CN109364475A
CN109364475A CN201811184595.5A CN201811184595A CN109364475A CN 109364475 A CN109364475 A CN 109364475A CN 201811184595 A CN201811184595 A CN 201811184595A CN 109364475 A CN109364475 A CN 109364475A
Authority
CN
China
Prior art keywords
control
virtual role
role
virtual
activation instruction
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.)
Pending
Application number
CN201811184595.5A
Other languages
English (en)
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.)
Whale Color Online Technology (dalian) Co Ltd
Jingcai Online Technology Dalian Co Ltd
Original Assignee
Whale Color Online Technology (dalian) 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 Whale Color Online Technology (dalian) Co Ltd filed Critical Whale Color Online Technology (dalian) Co Ltd
Publication of CN109364475A publication Critical patent/CN109364475A/zh
Pending legal-status Critical Current

Links

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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • 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
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/807Role playing or strategy games

Abstract

本发明实施例提供了一种虚拟角色控制方法、装置、终端、系统及介质,应用于可呈现图形用户界面的终端,方法包括:监测虚拟角色在虚拟场景中的坐标;在虚拟角色处于第一预设坐标的情况下,启动第一控件,获取第一控件对应的第一激活指令,执行第一激活指令对应的第一虚拟操作;在虚拟角色处于第二预设坐标的情况下,启动第二控件,获取第二控件对应的第二激活指令,执行第二激活指令对应的第二虚拟操作。应用本发明实施例,能够实现模拟真实跳伞的过程。

Description

虚拟角色控制方法、装置、终端、系统及介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种虚拟角色控制方法、装置、终端、系统及介质。
背景技术
跳伞运动是指跳伞员乘飞机、气球等飞行载具升至高空后跳下,并借助空气动力和降落伞在开伞之前和开伞之后完成各种规定动作,并利用降落伞减缓下降速度在指定区域安全着陆的一项体育运动。由于跳伞运动危险性大,且较为昂贵,对天气环境、身体素质要求比较严格等种种原因,并不能成为人人可以参与体验的项目。
为了给用户带来较为真实的跳伞运动的体验,亟需一种方法实现模拟跳伞。
发明内容
本发明实施例的目的在于提供一种虚拟角色控制方法、装置、终端、系统及介质,以实现模拟真实跳伞的过程。具体技术方案如下:
第一方面,本发明实施例提供了一种虚拟角色控制方法,应用于可呈现图形用户界面的终端,所述方法包括:
监测虚拟角色在虚拟场景中的坐标;
在所述虚拟角色处于第一预设坐标的情况下,启动第一控件,获取所述第一控件对应的第一激活指令,执行所述第一激活指令对应的第一虚拟操作;
在所述虚拟角色处于第二预设坐标的情况下,启动第二控件,获取所述第二控件对应的第二激活指令,执行所述第二激活指令对应的第二虚拟操作。
可选的,所述在所述虚拟角色处于第一预设坐标的情况下,启动第一控件,获取所述第一控件对应的第一激活指令,执行所述第一激活指令对应的第一虚拟操作的步骤,包括:
在所述虚拟角色处于第一预设坐标的情况下,启动第一控件,以使所述第一控件控制在图形用户界面中显示第一按钮;
获取用户对所述第一按钮的操作;
根据用户对所述第一按钮的操作,生成所述第一控件对应的第一激活指令;
触发所述第一控件执行所述第一激活指令对应的第一虚拟操作。
可选的,所述方法还包括:
在所述虚拟角色处于第三预设坐标的情况下,若未获取到用户对所述第一按钮的操作,则生成所述第一控件对应的第一激活指令;
触发所述第一控件执行所述第一激活指令对应的所述第一虚拟操作。
可选的,所述监测虚拟角色在虚拟场景中的坐标的步骤,包括:
监测虚拟角色在虚拟场景中的目标路线上的坐标;所述目标路线为:从预设的多条路线中随机地选择一条路线,所述目标路线中包括所述第一预设坐标和所述第三预设坐标。
可选的,所述在所述虚拟角色处于第二预设坐标的情况下,启动第二控件,获取所述第二控件对应的第二激活指令,执行所述第二激活指令对应的第二虚拟操作的步骤,包括:
在所述虚拟角色处于第二预设坐标的情况下,启动第二控件,以使所述第二控件控制在图形用户界面中显示第二按钮;
获取用户对所述第二按钮的操作;
根据用户对所述第二按钮的操作,生成所述第二控件对应的第二激活指令;
触发所述第二控件执行所述第二激活指令对应的第二虚拟操作。
可选的,所述方法还包括:
在所述虚拟角色处于第四预设坐标的情况下,若未获取用户对所述第二按钮的操作,则生成所述第一控件对应的第一激活指令;
触发所述第二控件执行所述第二激活指令对应的所述第二虚拟操作。
可选的,所述方法还包括:
在获取所述第一控件对应的第一激活指令之后,关闭所述第一控件;和/或
在获取所述第二控件对应的第二激活指令之后,关闭所述第二控件。
可选的,所述第一虚拟操作为:控制所述虚拟角色脱离飞行载具下落;所述第二虚拟操作为:控制所述虚拟角色打开降落伞;
所述方法还包括:在所述虚拟角色与地面的距离小于等于预设距离阈值情况下,播放落地画面。
可选的,所述终端的图形用户界面中显示有运动状态信息;
所述运动状态信息包括:所述虚拟角色的高度坐标、所述虚拟角色下降的速度、所述第二预设坐标、所述虚拟角色运动的预计时长、所述虚拟角色运动的已耗费时长、所述虚拟角色运动的剩余时长中的一种或多种。
可选的,所述终端的图形用户界面中显示有第三按钮;所述方法还包括:
获取用户对所述第三按钮的操作;
根据用户对所述第三按钮的操作,生成所述第三控件对应的第三激活指令;
触发所述第三控件执行所述第三激活指令对应的第三虚拟操作。
可选的,所述第三虚拟操作为:对所述第一控件和所述第二控件执行停止操作,确定所述虚拟角色的可降落区域,获取所述虚拟角色在所述可降落区域中的降落地点,控制所述虚拟角色在所述降落地点落地;
所述停止操作为:关闭或拒绝开启所述第一控件和所述第二控件。
可选的,所述虚拟场景中包括所述终端上的所述虚拟角色和至少一个其他终端上的其他虚拟角色;所述方法还包括:
在确定所述其他终端在执行所述第一虚拟操作的情况下,生成所述第一控件对应的第四激活指令;
触发所述第一控件执行所述第四激活指令对应的第四虚拟操作。
可选的,所述第四虚拟操作为:控制所述其他虚拟角色脱离飞行载具下落;或控制所述其他虚拟角色和所述虚拟角色脱离所述飞行载具下落。
第二方面,本发明实施例提供了一种虚拟角色控制装置,应用于可呈现图形用户界面的终端,所述装置包括:
监测单元,用于监测虚拟角色在虚拟场景中的坐标;
第一执行单元,用于在所述虚拟角色处于第一预设坐标的情况下,启动第一控件,获取所述第一控件对应的第一激活指令,执行所述第一激活指令对应的第一虚拟操作;
第二执行单元,用于在所述虚拟角色处于第二预设坐标的情况下,启动第二控件,获取所述第二控件对应的第二激活指令,执行所述第二激活指令对应的第二虚拟操作。
可选的,所述第一执行单元,具体用于:
在所述虚拟角色处于第一预设坐标的情况下,启动第一控件,以使所述第一控件控制在图形用户界面中显示第一按钮;
获取用户对所述第一按钮的操作;
根据用户对所述第一按钮的操作,生成所述第一控件对应的第一激活指令;
触发所述第一控件执行所述第一激活指令对应的第一虚拟操作。
可选的,所述第一执行单元,还用于:
在所述虚拟角色处于第三预设坐标的情况下,若未获取到用户对所述第一按钮的操作,则生成所述第一控件对应的第一激活指令;
触发所述第一控件执行所述第一激活指令对应的所述第一虚拟操作。
可选的,所述监测单元,具体用于:
监测虚拟角色在虚拟场景中的目标路线上的坐标;所述目标路线为:从预设的多条路线中随机地选择一条路线,所述目标路线中包括所述第一预设坐标和所述第三预设坐标。
可选的,所述第二执行单元,具体用于:
在所述虚拟角色处于第二预设坐标的情况下,启动第二控件,以使所述第二控件控制在图形用户界面中显示第二按钮;
获取用户对所述第二按钮的操作;
根据用户对所述第二按钮的操作,生成所述第二控件对应的第二激活指令;
触发所述第二控件执行所述第二激活指令对应的第二虚拟操作。
可选的,所述第二执行单元,还用于:
在所述虚拟角色处于第四预设坐标的情况下,若未获取用户对所述第二按钮的操作,则生成所述第一控件对应的第一激活指令;
触发所述第二控件执行所述第二激活指令对应的所述第二虚拟操作。
可选的,所述第一执行单元,还用于在获取所述第一控件对应的第一激活指令之后,关闭所述第一控件;
所述第二执行单元,还用于在获取所述第二控件对应的第二激活指令之后,关闭所述第二控件。
可选的,所述第一虚拟操作为:控制所述虚拟角色脱离飞行载具下落;所述第二虚拟操作为:控制所述虚拟角色打开降落伞;
所述装置还包括:第三执行单元,用于在所述虚拟角色与地面的距离小于等于预设距离阈值情况下,播放落地画面。
可选的,所述终端的图形用户界面中显示有运动状态信息;
所述运动状态信息包括:所述虚拟角色的高度坐标、所述虚拟角色下降的速度、所述第二预设坐标、所述虚拟角色运动的预计时长、所述虚拟角色运动的已耗费时长、所述虚拟角色运动的剩余时长中的一种或多种。
可选的,所述终端的图形用户界面中显示有第三按钮;所述装置还包括:第四执行单元,用于获取用户对所述第三按钮的操作;根据用户对所述第三按钮的操作,生成所述第三控件对应的第三激活指令;触发所述第三控件执行所述第三激活指令对应的第三虚拟操作。
可选的,所述第三虚拟操作为:对所述第一控件和所述第二控件执行停止操作,确定所述虚拟角色的可降落区域,获取所述虚拟角色在所述可降落区域中的降落地点,控制所述虚拟角色在所述降落地点落地;
所述停止操作为:关闭或拒绝开启所述第一控件和所述第二控件。
可选的,所述虚拟场景中包括所述终端上的所述虚拟角色和至少一个其他终端上的其他虚拟角色;
所述装置还包括:第五执行单元,用于在确定所述其他终端在执行所述第一虚拟操作的情况下,生成所述第一控件对应的第四激活指令;触发所述第一控件执行所述第四激活指令对应的第四虚拟操作。
可选的,所述第四虚拟操作为:控制所述其他虚拟角色脱离飞行载具下落;或控制所述其他虚拟角色和所述虚拟角色脱离所述飞行载具下落。
第三方面,本发明实施例提供了一种可呈现图形用户界面的终端,包括处理器和存储器;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现上述虚拟角色控制方法的任一步骤。
可选的,所述终端为触控终端,所述终端的图形用户界面上设置有多个按钮;所述按钮在所述图形用户界面的位置与以下至少任一项相适应:
所述图形用户界面的尺寸属性;
所述用户握持所述终端的状态属性;
所述图形用户界面的当前应用场景信息。
第四方面,本发明实施例提供了一种虚拟角色控制系统,所述系统包括可呈现图形用户界面的终端和服务器;
所述终端,用于向所述服务器发送加入指令;
所述服务器用于根据所述加入指令,向所述终端发送开始指令;
所述终端,还用于根据所述开始指令,监测虚拟角色在虚拟场景中的坐标;在所述虚拟角色处于第一预设坐标的情况下,启动第一控件,获取所述第一控件对应的第一激活指令,执行所述第一激活指令对应的第一虚拟操作;在所述虚拟角色处于第二预设坐标的情况下,启动第二控件,获取所述第二控件对应的第二激活指令,执行所述第二激活指令对应的第二虚拟操作。
第五方面,本发明实施例提供了一种机器可读存储介质,所述机器可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述虚拟角色控制方法的任一步骤。
第六方面,本发明实施例提供了一种计算机程序,所述计算机程序被处理器执行时实现上述虚拟角色控制方法的任一步骤。
本发明实施例提供的一种虚拟角色控制方法、装置、终端、介质及程序,监测虚拟角色在虚拟场景中的坐标;在虚拟角色处于第一预设坐标的情况下,启动第一控件,获取第一控件对应的第一激活指令,执行第一激活指令对应的第一虚拟操作;在虚拟角色处于第二预设坐标的情况下,启动第二控件,获取第二控件对应的第二激活指令,执行第二激活指令对应的第二虚拟操作。基于该方法,若第一预设坐标为水平坐标,第二预设坐标为垂直坐标,可以实现虚拟角色先后从飞行载具上跳下和打开降落伞,完成整个跳伞的模拟过程,实现了模拟真实跳伞的过程。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为作为本发明一个具体实施例的进入实战训练的界面视图;
图2为作为本发明一个具体实施例的等候室阶段界面视图;
图3为作为本发明一个具体实施例的载具航行界面视图;
图4为作为本发明另一个具体实施例的载具航行界面视图;
图5为作为本发明一个具体实施例的虚拟角色跳伞后的界面视图;
图6为作为本发明一个具体实施例的虚拟角色开伞后的界面视图;
图7为作为本发明另一个具体实施例的虚拟角色开伞后的界面视图;。
图8为作为本发明一个具体实施例的虚拟角色落地阶段的界面视图;
图9为作为本发明一个具体实施例的虚拟角色落地后进入游戏场景的界面视图;
图10为作为本发明的一个具体实施例的地图缩略图界面视图;
图11为作为本发明的一个具体实施例的虚拟角色在场景中的界面视图;
图12为作为本发明一个具体实施例的虚拟角色所在位置的直角坐标系示意图。
图13为作为本发明一个具体实施例的虚拟角色视角的示意图;
图14为作为本发明一个具体实施例的虚拟跳伞技术方案的流程图;
图15为作为本发明一个具体实施例的虚拟摄像机俯仰角区间的示意图;
图16为作为本发明一个具体实施例的电子设备硬件组成示意图;
图17为本发明实施例提供的虚拟角色控制方法的一种流程示意图;
图18为本发明实施例提供的虚拟角色控制装置的一种结构示意图;
图19为本发明实施例提供的可呈现图形用户界面的终端的一种结构示意图;
图20为本发明实施例提供的虚拟角色控制系统的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于理解,以及为了与本发明具体实施例中其他类似名词加以区分,先对本发明实施例中涉及的名词进行命名和解释,但本解释并不能作为该名词含义的限制。
真实跳伞的过程非常复杂,模拟跳伞的过程可以应用于一些游戏软件中,以及一些训练伞兵的应用软件中。
用户:使用本发明实施例提供的方法、装置、系统的人,用户拥有一台或多台电子设备,并可以向电子设备发出指令。其中,在游戏服务器系统内,通过互联网提供的注册信息等资料,获得游戏身份和账号,利用游戏身份和账号参与、使用游戏的终端用户也可称为用户。
虚拟角色:用户在应用软件或者游戏软件中所操控的虚拟角色。虚拟角色包括但不限于游戏角色、训练角色等。例如图1中显示的男子形象的游戏角色。
等候室:虚拟角色登上飞行载具前的等待场所,等待其他用户一起参与的地点,例如图2显示的等候室。等候室是与地图A类似的训练场场景,本用户以及其他用户均在这个等候室等候一起出发。
飞行载具:应用软件中运载虚拟角色的飞机、气球等。客户端可以随机生成不同的飞行载具模型,并且飞行载具模型具有各种动态效果。各种动态效果,在这里包括但不限于螺旋桨转动、云层的遮盖后飞行载具模型的阴影变化、阳光照射的光影变化、伞兵跳伞效果、加速减速等动态效果。
地图A:为S×S大小的正方形地图。当飞行载具进行航行时,在背景显示地图A。地图A包括但不限于2D地图、3D地图,尤其包括2D地图。例如在游戏软件中,用户可以调取地图A,来查看虚拟角色当前位置位于地图A上的哪个点,并且可以在地图A上进行标记某个点或某几个点。其中,S代表地图A所表示的实际地形的尺寸,单位是米。
地图B:在跳伞过程中,在客户端的图形用户界面向用户呈现的虚拟地图。地图B包括但不限于2D地图、3D地图。地图B与地图A大小一致,但是地图B中的有效区域是地图A中除去海域以外的部分,可以供虚拟角色登陆的不规则形状的立体或平面地图,在海域中虚拟角色不能登录。地图B是由高、低两张分辨率贴图混合形成并显示的动态地图,动态效果根据虚拟角色所在高度、与贴图中建筑物的距离来确定。
地图C:虚拟角色实战训练时,使用的立体效果图。地图C为可以实现虚拟角色奔跑、互相搏斗、捡拾物品、显示轰炸、物品被破坏、物品被移动等效果的地图。
地图A、B、C尺寸相同,地形结构相同,物体所在位置坐标也是一致的,用途不同,图素表现方式不同,三个地图可以被理解为同一个地形图的不同表现方式,仅是为了显示效果的安排而设计的不同类型的地图。
物体:是指在地图中显示的各种物体,包括但不限于建筑物、树木、石头、山体、河流、海洋、道路、墙体、载具、陷阱等物体。具体的物体包括物件和地形结构。其中,地形结构是指高山、村落、农田等,物件是指树木、电线杆、纸箱、汽车、栅栏等相对地形结构小一些的物品。
地图B的低分辨率贴图:地图B场景中的物件被裁减后只表现地形结构的地图。
地图B的高分辨率贴图:地图B中包含物件和地形结构地图。
跳伞控件:实现在图形用户界面显示跳伞按钮,并通过跳伞按钮提供入口供用户点击,收到用户点击操作后模拟跳伞过程的组件。例如设置有跳伞按钮供用户点击,用户在跳伞按钮的位置范围内点击该跳伞按钮,跳伞控件收到针对跳伞按钮点击操作后,启动跳伞。
摇杆控件:实现控制虚拟角色运动方向的组件。该摇杆控件的功能中包括在图形用户界面显示摇杆控制按钮,如图2左下角的圆形摇杆控制按钮,客户端接收到用户针对摇杆控制按钮的上、下、左、右操作指令后,执行操作指令所对应的命令。其中,“下”操作指令在不同的时刻对应不同的指令,“下”操作指令包括伞兵恢复与地面水平的状态、伞兵恢复与地面垂直的状态、伞兵向后移动等。
飞行状态显示控件:实现应用软件或者游戏软件在图形用户界面显示虚拟角色当前高度/速度以及提示最低强制降落高度等飞行状态信息的组件。该飞行状态显示控件的功能中,包括在图形用户界面显示飞行状态的工具条,以与用户进行界面交互,如图5右边边长处显示的高度显示条。
开伞控件:实现在图形用户界面显示开伞按钮,并通过开伞按钮提供入口供用户点击,收到用户点击操作后模拟开伞过程的组件。例如设置有开伞按钮供用户点击,用户在开伞按钮的位置范围内点击该开伞按钮,开伞控件收到针对跳伞按钮点击操作后,启动开伞。
飞行高度检测组件:实现测量虚拟角色实时的高度的组件。每帧画面从虚拟角色的位置向下做射线检测,计算虚拟角色的高度。
垂直速度检测组件:实现计算垂直方向虚拟角色的速度的组件。
水平速度检测组件:实现计算水平方向虚拟角色的速度的组件。
偏离距离检测组件:实现计算水平方向虚拟角色偏离初始位置距离的组件。
自动导航控件:实现在图形用户界面显示自动导航按钮,并通过自动导航按钮提供入口供用户点击,收到用户点击操作后自动导航虚拟角色降落过程的组件。例如设置有自动导航按钮供用户点击,用户在自动导航按钮的位置范围内点击该自动导航按钮,自动导航控件收到针对跳伞按钮点击操作后,启动自动导航。
虚拟摄像机组件:拍摄应用软件或者游戏软件内的实时画面。虚拟摄影机是计算机内动画软件架设的“摄影机”,它在动画制作时针对表现视点的作用,相当于传统意义上的摄影机,虚拟摄影机与物理摄影机的拍摄对象完全不同,但是功能却极其相似。
碰撞圆柱体:虚拟角色周围的圆柱空间,用于决定碰撞。
虚幻单位:虚幻编辑器中用于度量距离和旋转量的单位。
客户端:安装有应用软件或游戏软件的用户的终端,用户通过客户端获取到运营服务、游戏服务及其他相关服务。用户侧终端包括但不限于可呈现图形用户界面的终端。
可呈现图形用户界面的终端:可以为手机、平板电脑、笔记本电脑、游戏机、PDA等具备触控屏幕的电子设备。可呈现图形用户界面的终端也可以为通过模拟器等方式将键盘以及鼠标的操作模拟为控制操作的不具备触控屏幕的电子设备。这种方式同样可以视为本公开中所述的终端。
服务器:为运营应用软件或游戏软件而安装、架设的服务设备。服务器用于向用户提供运营服务、游戏服务及其他相关服务。
移动终端:包括但不限于手机终端、pad终端、智能眼镜、安装有网页浏览器的PC端、手柄类游戏机、学习机等设备。移动终端为可以提供安装客户端软件的系统环境的设备。
应用软件开发基于的操作系统包括但不限于windows操作系统、Android系统、iOS系统等。
PC端:包括但不限于笔记本、台式机、电脑、计算机等设备,可以安装客户端软件。
第一控件、第二控件和第三控件:控制虚拟角色运动的组件。第一控件包括但不限于跳伞控件。第二控件包括但不限于开伞控件。第三控件包括但不限于自动导航控件。
第一激活指令、第二激活指令、第三激活指令和第四激活指令:终端控制虚拟角色的依据。
第一激活指令和第四激活指令包括但不限于跳伞指令。跳伞控件获取到跳伞指令后,启动跳伞。
第二激活指令包括但不限于开伞指令。开伞控件获取到开伞指令后,启动开伞。
第三激活指令包括但不限于自动导航指令。自动导航控件获取到自动导航指令后,启动自动导航。
为实现模拟真实跳伞的过程,本发明实施例提供了一种虚拟角色控制方法。参考图17,图17为本发明实施例提供的虚拟角色控制方法的一种流程示意图。该方法应用于可呈现图形用户界面的终端,所述方法包括如下步骤。
步骤171,监测虚拟角色在虚拟场景中的坐标。
在本发明的一个实施例中,终端中可以预先设置有多条路线。终端可以从这多条路线中随机地选择一条路线,作为目标路线。终端控制虚拟角色在虚拟场景中沿目标路线移动,并监测虚拟角色在虚拟场景中的目标路线上的坐标。
在本发明的另一个实施例中,服务器中可以预先设置有多条路线。服务器可以从这多条路线中随机地选择一条路线,作为目标路线,将目标路线发送给终端。终端控制虚拟角色在虚拟场景中沿目标路线移动,并监测虚拟角色在虚拟场景中的目标路线上的坐标。
步骤172,在虚拟角色处于第一预设坐标的情况下,启动第一控件,获取第一控件对应的第一激活指令,执行第一激活指令对应的第一虚拟操作。
在本发明的一个实施例中,终端在虚拟角色处于第一预设坐标的情况下,启动第一控件。第一控件控制在图形用户界面中显示第一按钮。用户对第一按钮的操作。终端获取用户对第一按钮的操作;根据用户对第一按钮的操作,生成第一控件对应的第一激活指令;触发第一控件执行第一激活指令对应的第一虚拟操作。也就是,第一控件根据第一激活指令,执行第一虚拟操作。
上述对第一按钮的操作可以为用户对第一按钮的触控操作,也可以为用户通过鼠标或键盘对第一按钮的点击操作。
在本发明的另一个实施例中,目标路线中包括第一预设坐标和第三预设坐标。终端在虚拟角色处于第三预设坐标的情况下,若未获取到用户对所述第一按钮的操作,则生成第一控件对应的第一激活指令,触发第一控件执行第一激活指令对应的第一虚拟操作。
一个示例中,在虚拟场景为模拟跳伞场景的情况下,虚拟角色的路线即为飞行载具的航线,也就是,虚拟角色在目标路线上的坐标,即为载有虚拟角色的飞行载具在目标航线上的坐标。上述第一预设坐标和第三预设坐标可为目标航线上的水平坐标。第一激活指令可以为跳伞指令,第一虚拟操作可为控制虚拟角色脱离飞行载具下落,也就是第一虚拟操作可为控制虚拟角色跳伞。
在虚拟角色移动至目标航线上的第一预设坐标的情况下,终端启动第一控件,第一控件控制在图形用户界面中显示第一按钮。若获取到用户对第一按钮的操作,则终端根据用户对第一按钮的操作,生成第一控件对应的跳伞指令,触发第一控件控制虚拟角色脱离飞行载具下落。在虚拟角色从目标航线上的第一预设坐标移动至第三预设坐标的情况下,若一直未获取到用户对第一按钮的操作,则终端强制生成第一控件对应的跳伞指令,触发第一控件控制虚拟角色脱离飞行载具下落。
在本发明的一个实施例中,为提高终端的处理能力,降低误操作的概率,终端在获取第一控件对应的第一激活指令之后,关闭第一控件,关闭图形用户界面中显示第一按钮。
在本发明的一个实施例中,虚拟场景中包括终端上的虚拟角色和至少一个其他终端上的其他虚拟角色。终端在确定其他终端在执行第一虚拟操作的情况下,生成第一控件对应的第四激活指令;触发第一控件执行第四激活指令对应的第四虚拟操作。
一个示例中,在虚拟场景为模拟跳伞场景的情况下,第四激活指令可为跳伞指令,第四虚拟操作为:控制其他虚拟角色脱离飞行载具下落;或控制其他虚拟角色和虚拟角色脱离飞行载具下落。
例如,虚拟场景为模拟跳伞场景,模拟跳伞场景中包括终端1上的虚拟角色1和终端2上的虚拟角色2。终端2获取到跳伞指令1,根据跳伞指令1,控制虚拟角色2脱离飞行载具下落,并将跳伞指令1发送给终端1。终端1接收到跳伞指令1后,确定终端2在执行控制其他虚拟角色脱离飞行载具下落的虚拟操作。若虚拟角色1已脱离飞行载具下落,则终端1生成跳伞指令3,根据跳伞指令3,控制虚拟角色2脱离飞行载具下落。若虚拟角色1未脱离飞行载具下落,则终端1生成跳伞指令4,根据跳伞指令4,控制虚拟角色1和虚拟角色2脱离飞行载具下落。
步骤173,在虚拟角色处于第二预设坐标的情况下,启动第二控件,获取第二控件对应的第二激活指令,执行第二激活指令对应的第二虚拟操作。
在本发明的一个实施例中,终端在虚拟角色处于第二预设坐标的情况下,启动第二控件。第二控件控制在图形用户界面中显示第二按钮。终端获取用户对第二按钮的操作,根据用户对第二按钮的操作,生成第二控件对应的第二激活指令,触发第二控件执行第二激活指令对应的第二虚拟操作。也就是,第二控件根据第二激活指令,执行第二虚拟操作。
上述对第二按钮的操作可以为用户对第二按钮的触控操作,也可以为用户通过鼠标或键盘对第一按钮的点击操作。
在本发明的另一个实施例中,终端在虚拟角色处于第四预设坐标的情况下,若未获取到用户对所述第二按钮的操作,则生成第二控件对应的第二激活指令,触发第二控件执行第二激活指令对应的第二虚拟操作。
一个示例中,在虚拟场景为模拟跳伞场景的情况下,上述第二预设坐标和第四预设坐标可为高度坐标。第二激活指令可以为开伞指令,第二虚拟操作可为控制虚拟角色打开降落伞。
在虚拟角色处于第二预设坐标的情况下,终端启动第二控件,第二控件控制在图形用户界面中显示第二按钮。若获取到用户对第二按钮的操作,则终端根据用户对第二按钮的操作,生成第二控件对应的开伞指令,触发第二控件控制虚拟角色打开降落伞。在虚拟角色从第二预设坐标下降至第四预设坐标的情况下,若一直未获取到用户对第二按钮的操作,则终端强制生成第二控件对应的开伞指令,触发第二控件控制虚拟角色打开降落伞。
在本发明的一个实施例中,为提高终端的处理能力,降低误操作的概率,终端在获取第二控件对应的第二激活指令之后,关闭第二控件,关闭图形用户界面中显示第二按钮。
一个示例中,在虚拟场景为模拟跳伞场景的情况下,终端在监测到虚拟角色与地面的距离小于等于预设距离阈值情况下,播放落地画面。
在本发明的一个实施例中,为便于用户对虚拟角色的进行控制,终端的图形用户界面中显示有运动状态信息。在虚拟场景为模拟跳伞场景的情况下,运动状态信息可以为飞行状态信息。
运动状态信息包括:虚拟角色的高度坐标、虚拟角色下降的速度、第二预设坐标、虚拟角色运动的预计时长、虚拟角色运动的已耗费时长、虚拟角色运动的剩余时长中的一种或多种。
在本发明的一个实施例中,终端的图形用户界面中固定显示有第三按钮;终端获取用户对第三按钮的操作,根据用户对第三按钮的操作,生成第三控件对应的第三激活指令,触发第三控件执行第三激活指令对应的第三虚拟操作。
一个示例中,在虚拟场景为模拟跳伞场景的情况下,第三控件可为自动导航控件,第三激活指令可以为自动导航指令,第三虚拟操作可为对第一控件和第二控件执行停止操作,确定虚拟角色的可降落区域,获取虚拟角色在可降落区域中的降落地点,控制虚拟角色在降落地点落地。其中,停止操作为:关闭或拒绝开启第一控件和第二控件。
通过本发明实施例提供的技术方案,监测虚拟角色在虚拟场景中的坐标;在虚拟角色处于第一预设坐标的情况下,启动第一控件,获取第一控件对应的第一激活指令,执行第一激活指令对应的第一虚拟操作;在虚拟角色处于第二预设坐标的情况下,启动第二控件,获取第二控件对应的第二激活指令,执行第二激活指令对应的第二虚拟操作。基于该方法,若第一预设坐标为水平坐标,第二预设坐标为垂直坐标,可以实现虚拟角色先后从飞行载具上跳下和打开降落伞,完成整个跳伞的模拟过程,实现了模拟真实跳伞的过程。
为便于对本方案的理解,以模拟跳伞场景为例进行说明。先从最简单的游戏软件作为一个具体实施例,来描述如何实现模拟跳伞的过程。如图1至图10,表示了在某款游戏软件中如何一步步实现模拟跳伞的过程,现简述如下。
图1:进入实战训练,点击开始游戏按钮,将显示图2。
图2:进入等候室,多个游戏角色显示在屏幕中,当人数达到上限值(如60)人后,开始倒计时。图2的屏幕显示的是倒计时10秒时的图形用户界面。倒计时结束后,显示图3。
图3:飞机选择随机的路线开始航行,左上角的地图显示该飞机位于海洋位置,因此不会出现跳伞按钮,当飞机位于陆地位置的某一个区域后,将显示跳伞按钮。
图4:飞机下方显示为陆地,右侧圆圈是显示的跳伞按钮,点击跳伞按钮后,将显示图5。本图的下方地图,是地图B的低分辨率贴图。
图5:游戏角色背着伞包开始下落,周围如果有其他游戏角色跳下,将显示各个跳下的游戏角色。高度条位于右侧,在高度条上同时显示速度为182Km/h,现在的高度位置可以开伞,因此在右侧显示圆形的开伞按钮。高度条的下方为白色条,当高度条上的三角形指示按钮位于白色条的上边缘时,即使用户没有点击开伞按钮,也会跳转显示图6。如果用户在下落过程中点击了开伞按钮,则立即跳转显示图6,不必再等待高度降落到白色条的上边缘线处。
图6:跳伞下落到一定的高度,地图显示较为粗糙。在整个开伞降落的过程中,地图B的低分辨率贴图逐渐过渡到地图B的高分辨率贴图,其中离游戏角色近的树木立体效果明显,离游戏角色较远的树木是平面图,周围的房子也会根据与游戏角色距离的变化不断出现,水面的光影效果开始明显。
图7:即将到达地面,游戏角色身下的地图已经全部过渡到地图B的高分辨率贴图。当高度值位于白色条的下方线时,开始播放落地动画。
图8:落地动画播放完毕,显示游戏角色、以及地图C。
图9:地图C为一张立体效果图,周围的植被、地形都是立体的。屏幕上显示了各种操作按钮,用户可以通过点击这些操作按钮,来控制游戏角色在地图C中行走、射击、摧毁设施等操作。
图10:地图A,可以显示飞机飞行所在位置,以及游戏角色所处位置。周围连通区域是海洋,飞机处于海洋位置不能跳伞。这是一次随机航线,每次飞行的路线可不同。
图11:正中央两棵大树,在离虚拟角色近的第一树木为立体效果图,离虚拟角色较远的第二树木为平面效果图。当游戏角色逐渐接近两棵树木,离第二树木接近一定距离后,第二树木由平面效果图变换为立体效果图。这里,通过平面效果向立体效果的过渡,来实现节省CPU和带宽。
在本发明实施例中,首先要对游戏中虚拟角色运动相关的参数进行定义,如图12和图13所示。
以虚拟角色为核心开启模拟跳伞的过程,初始位置为原点建立空间直角坐标系(x,y,z),其中,x:屏幕中虚拟角色向前滑行的坐标值;y:屏幕中虚拟角色向左/右滑行方向的坐标值;z:虚拟角色离地高度的坐标值。虚拟角色围绕直角坐标系x、y、z三轴旋转的角度分别为α、β、γ。虚拟摄像机的视角变换程度可以用欧拉角定义:α:俯仰角,即摇杆控件响应上下操作时,虚拟摄像机翻转的角度。β:偏航角,即摇杆控件响应左右操作时,虚拟摄像机翻转的角度。γ:翻滚角,即屏幕空白处响应任何方向操作时,虚拟摄像机翻滚的角度。
虚拟角色运动基本动作:自由下落(俯瞰地面自由落体)、向前滑行、向左滑行、向右滑行、加速降落(垂直方向)、减速降落(垂直方向)。
用户通过客户端上的摇杆控制按钮控制虚拟角色的运动方向。
垂直方向速度计算方法:
在一个实施例中,可以采用如下方法进行垂直方向速度计算。
1.重力加速度减去空气阻力加速度为当前加速度,当前加速度乘以时间为速度变化值,并额外增加速度变化曲线,实现不同速度时控制速度变化的快慢;采用速度变化曲线的方法,是为了模拟真实的跳伞过程中空气阻力在不同速度下的变化过程,但与实际上空气阻力公式有所不同。与真实的空气阻力变化过程不同的原因是,为了在图形用户界面显示时较为震撼,有虚拟摄像机跟拍虚拟角色并刻意显示急速的一种方式。由于空气阻力存在的原因,且空气阻力在不同的速度下数值不同,因此为速度额外增加一个速度变化曲线,来模拟真实的速度随高度的变化过程。
2.虚拟角色垂直地面向下的力受用户输入的Z轴分量影响,而阻力加速度受速度影响,没有用户输入时两个力自动达到平衡,加速度为0;虚拟角色垂直地面向下的力因为受到用户输入的Z轴分量和重力的共同作用,因此引入重力缩放系数,该虚拟角色垂直向下的力,用重力缩放系数乘以重力来确定。
3.重力缩放系数:当用户有输入时,虚拟摄像机朝向不同(朝向仅在270到359的范围内生效),输入加速度的单位向量在-1到1之间变化,以此为输入从重力缩放系数曲线中取出重力缩放系数;
4.垂直方向速度是以垂直方向的实际加速度来计算。重力加速度(常数)经过重力缩放系数修正后得到垂直方向的实际加速度。在本实施例垂直方向的实际加速度计算过程中,不开伞阶段空气阻力值与开伞阶段空气阻力值被设定为两个固定的值,因此下降过程中两个阶段的空气阻力值都不随下降速度的变化而变化,通过设置重力缩放系数,将空气阻力受到下降速度变化的影响拟合到垂直方向重力受到重力缩放系数的影响的变化过程中。本实施例垂直方向的实际加速度计算过程的优点是,既能真实的模拟跳伞过程,也能简化垂直方向物理过程计算。
本实施例的优点是可以既能真实的模拟跳伞过程,又可以避免真实跳伞过程中的复杂的物理情况带来的复杂的建模计算,也避免了真实跳伞进入虚拟世界后带来的各种不适应。不适应表现在时间上。例如,跳伞高度通常是9000-15000英尺,约合3000-4500米,时速可以达到200千米每小时,自由落体时间经历30-60秒,然后开伞飘浮,飘浮时间比较长,预计10分钟左右,从上飞机到跳伞,再到开伞的过程最少经历30分钟。用户很难在应用软件上体验这么长时间的跳伞飞行,因此需要根据应用软件所要表现的内容尽量缩短跳伞时间,跳伞时间要缩短,但是下落的速度又不能进行过度放大以避免失真,那么本发明的一个实施例采用上述技术解决方案,对时间和速度进行了协调,使得体验不打折扣的情况下,还能在较短的时间里结束跳伞的全过程。例如,在游戏软件中,从上飞机到跳伞降落到地面,预计2分钟的时间,在这么短的时间需要完成现实生活中的30分钟时长的跳伞体验,因此设计了上述技术方案来实现。在一个实施例中垂直方向速度还可以有另外一种计算方法,如下。
模拟真实物理情况,垂直方向速度由重力和空气阻力来计算;ma=mg-F1;t时刻虚拟角色离地高度Ht=1/2at2;t时刻虚拟角色垂直方向速度Vt=V0+at;空气阻力F=kvt2,其中k表示空气阻力系数,是一个固定常数。通过以上系列公式计算得到垂直方向速度的物理意义是,下落物体所受到的力有竖直向下的重力和竖直向上的空气阻力,空气阻力随着速度的增加会增加,当下落的物体速度不再增加时,重力和空气阻力达到平衡。下落物体从初速度开始,每秒受到一个加速度的作用,所以随后每一时刻的速度会随时发生改变。本实施例优点是尽量模拟真实跳伞过程中的真实情况。
水平方向速度计算:
1.水平速度在有输入时速度等于加速度乘以时间,没有输入时匀速变化到0。
从用户通过摇杆控件输入的指令中,计算出水平方向的加速度值,记录该输入指令从开始到结束的时间长度,然后用加速度值乘以该时间长度得到当前的水平速度,当接收不到用户的输入的指令时,开始对水平速度做减速,将水平速度均匀变化到0米每秒。
作为一个可选的实施例,跳伞的全过程分为:1开始阶段、2等候室阶段、3倒计时阶段、4航行阶段、5跳伞阶段、6不开伞滑翔阶段、7开伞阶段、8低空滑翔阶段、9落地阶段和10结束阶段。以一款游戏软件为例,分阶段对各阶段的技术方案进行描述。
1、关于启动游戏的开始阶段。
一台移动设备或者PC端作为客户端安装有游戏软件,其他移动设备或者PC端作为客户端也分别安装有游戏软件,该游戏软件提供联网功能,可以供多个用户进入游戏,并在一个共同的地图中联网一起玩游戏,且该游戏软件带有模拟真实跳伞功能。当用户在客户端中启动游戏软件后,内存加载游戏软件,游戏软件的图形用户界面上提供给用户“开始游戏”或“加入游戏”按钮供用户启动模拟真实跳伞功能。用户选择“开始游戏”或“加入游戏”按钮,向客户端输入游戏开始指令。例如,用户点击“开始游戏”或“加入游戏”按钮,客户端根据用户对“开始游戏”或“加入游戏”按钮的点击操作,生成游戏开始指令。
客户端接收到游戏开始的指令后,将用户放置在等待环节,用户在等待环节可以进入等候室阶段,等待其他用户接入游戏,当用户达到预设的人数上下限值后,开始启动航行。
2、关于等候室阶段。
在图形用户界面中显示游戏角色在等候室进行等待,如果某些条件具备后,启动乘坐飞机。等候室可以是将游戏角色们放置在地图C中,或者是放置在某个房间中,或者是播放某段动画视频,游戏角色在这些场景中等待,直到用户人数达到一定数量,开始启动倒计时。例如,用户人数达到100人后,开始启动航行环节,在启动航行环节时,服务器开始准备生成航行阶段的数据,准备完毕后向所有客户端发送指令,服务器准备过程需要一些时间,这段时间允许新用户加入,但是如果此时仍然不停地有新用户加入的话,先不启动倒计时,而是继续等待,如果最后一个新用户加入后5秒钟内没有新用户再次加入的话,结束等待,启动倒计时功能。如果所有用户达到某个上限值,比如120人时,不再等待,直接启动倒计时功能。本实施例的优点在于在每次可以让更多的人加入同一个地图进行游戏,同时减少了新加入用户在等候室中的等待时间。
在一个实施例中关于进入等候室的阶段还可以有如下方案:游戏角色进入等候室后,立即启动倒计时,倒计时结束前,服务器继续接收新用户进入等候室的请求,服务器端与新用户通讯建立成功后,新用户加入游戏成功,直到用户人数达到预设数量,比如120人时,倒计时结束后进入下一步航行环节。本实施例的优点在于能够节省玩家在等候室阶段等待时间,方便玩家快速进入游戏中。
3、关于倒计时阶段。
在倒计时期间,仍然允许新用户加入,但达到人数上限后不再允许新用户加入。倒计时结束后,在图形用户界面上模拟飞机的航行画面,模拟游戏角色开始乘坐飞机进行航行的过程。
4、关于航行阶段。
启动乘坐飞机功能,图形用户界面上显示有空中飞行的动态立体飞机模型,以及全界面背景显示随飞机移动而相应改变的地面景物,模拟真实飞机航行的过程。其中,飞机航行的路线(即航线)进行随机设置。在游戏系统(包括客户端和服务器)内设置有飞机在地图A上空航行的N条航线,每次航行开始时会为飞机航行的路线随机选择一条航线,确保每次用户跳伞下落选择位置有所不同。在航行阶段,当飞机坐标垂直下方为非海洋地形时,在图形用户界面上显示跳伞按钮,当用户点击跳伞按钮后触发跳伞控件,航行阶段结束,进入跳伞阶段。当其他用户选择了跳伞按钮后,未跳伞的图形用户界面,同时显示游戏角色一个一个从飞机向下跳出,并消失。当飞机坐标垂直下方再次为海洋地形时,自动发出跳伞指令,触发跳伞控件,进入跳伞阶段,强行结束航行阶段。
一个可选的实施例中,用户点击跳伞按钮,客户端根据用户点击跳伞按钮的操作,生成跳伞指令,客户端根据跳伞指令触发跳伞控件。
作为本发明的一个可选的实施例,当其他用户选择了跳伞按钮后,未跳伞的图形用户界面的客户端自动生成跳伞指令,进入跳伞阶段,强行结束航行阶段,未跳伞的图形用户界面显示其他游戏角色一个一个从飞机向下跳出,并在其他游戏角色一个一个从飞机向下跳出。
作为本发明的一个可选的实施例,在航行阶段,到达一个指定的位置后,在图形用户界面上显示跳伞按钮,该指定的位置与飞机坐标垂直下方为非海洋地形还是海洋地形无关。
作为本发明的一个可选的实施例,在游戏系统内设置有飞机在地图A上空航行的N条航线的航线信息库,航线信息库内每条航线的飞行时间已预设好的,且每条航线飞行时间内的跳伞按钮显示的时间点和强制触发跳伞按钮时间点也已预设好。飞机开始飞行后,当飞行时间≥当前航线飞行时间内的跳伞按钮显示的时间点,当前图形用户界面显示跳伞按钮,同时通过跳伞按钮可接收用户触碰信号响应进而触发游戏角色进入跳伞阶段。若图形用户界面中跳伞按钮未接收到用户触碰信号,同时当其他用户进入跳伞阶段后,当前图形用户界面显示游戏角色一个一个从飞机向下跳出,并消失。当飞行时间≥当前航线强制触发跳伞按钮时间点,强制触发游戏角色进入跳伞阶段。例如,服务器向客户端发出强制触发跳伞按钮的指令,客户端接收服务器发送的指令后强制触发游戏角色进入跳伞阶段。
模拟航行阶段。图形用户界面中同时显示有小地图。小地图能提供飞机航行雷达图。用户点击小地图后,小地图显示范围以固定比例在图形用户界面中进行放大,但不能覆盖全部图形用户界面。在放大后对小地图的显示范围内进行缩放操作,可以调整小地图的显示精度。点击小地图内区域进行标记,会产生标记点与飞机实时位置到达标记点的导航路线。用户想让游戏角色更加准确的到达标记点,可以参考标记点和导航路线来摇杆控制按钮从而调整飞行过程中游戏角色飞行状态。在游戏角色落地前,可以取消或者再次点击小地图区域进行标记。
如图10所示,客户端接收用户点击操作,如果该点击操作是与调取地图A相对应的用户点击操作,则调取地图A在图形用户界面显示。同时,客户端提取游戏角色的坐标位置,在图形用户界面上显示某个符号或颜色作为游戏角色所在地图A中的坐标位置。客户端继续接收用户的点击操作,如果用户的点击操作所在坐标位于该地图A区域内,则在该坐标位置显示标记点,作为地图标记。在地图A上存在地图标记后,当接收到用户针对地图标记的点击操作,或者接收到触屏下用户针对地图标记的第二次点击操作,客户端判断该点击操作是否位于地图A的区域内,如果是,则取消地图标记,如果否则执行其他功能。
5、关于跳伞阶段。
飞机进入航线指定范围内,游戏系统显示跳伞按钮,此时用户可以点击跳伞按钮触发跳伞控件选择跳伞,或者不点击跳伞按钮选择继续航行,当飞机超过航线指定范围后,游戏系统强制触发跳伞控件,进入跳伞阶段,游戏角色离开飞机。游戏角色离开飞机后,进入不开伞滑翔阶段。图形用户界面显示背着降落伞的游戏角色漂浮在空中,同时,根据该游戏角色所在的坐标位置,调取地图B的低分辨率贴图,将该坐标位置的地图画面显示在图形用户界面上。整个跳伞过程,在图形用户界面上显示高度条、速度条、以及调整游戏角色位置的摇杆控制按钮,还有调节虚拟摄像机角度的按钮。其中,摇杆控制按钮和调节虚拟摄像机角度的按钮可以相同,也可以不同。用户可以通过高度条的显示,随时了解游戏角色所处的高度位置;通过速度条的显示,随时了解游戏角色现在的下落速度;通过摇杆控制按钮,改变游戏角色的朝向;用户可以通过调节虚拟摄像机角度的按钮,改变图形用户界面上显示的地图场景,并且还可以结合游戏角色的朝向一起改变游戏角色的下落和水平滑行速度。改变速度,可以通过速度条来显示出来,供用户查看。
当高度条从高度最高点Hmax下降到某个高度值H1时,在图形用户界面上显示开伞按钮,等待用户点击开伞按钮,收到用户点击开伞按钮的操作后,触发开伞控件,退出不开伞滑翔阶段,进入开伞阶段。当高度条从高度值H1继续下降,直到下降到某个高度值Hmin,根据物理自然规律,如果低于Hmin再打开降落伞,会跳伞失败,造成人身伤害,因此当高度值达到Hmin时,依然未收到用户点击开伞按钮的操作时,自动发出开伞指令,触发开伞控件,结束不开伞滑翔状态,进入开伞阶段。
一个实施例中,用户点击开伞按钮,客户端根据用户点击开伞按钮的操作,生成开伞指令,客户端根据开伞指令触发开伞控件。
可选的,在降落过程,图形用户界面会显示实时飞行状态信息,辅助用户操作摇杆控制按钮,从而让游戏角色更加准确的到达用户理想降落地点。
可选的,图形用户界面中还显示有自动导航按钮,若自动导航控件响应用户对自动导航按钮的操作,关闭或拒绝开启跳伞控件和/或开伞控件,向服务器发送游戏角色要求自动导航的指令,服务器收到指令后,实时获取游戏角色飞行状态信息数据,结合上述飞行状态信息数据进行计算自动导航的可降落地点区域。用户想要执行自动导航操作,必须在自动导航的可降落地点区域标记降落地点。标记降落地点后,自动导航控件再次响应用户对自动导航按钮的操作,会向服务器发送游戏角色要求自动导航到已标记的降落地点的指令,服务器收到指令后,实时获取游戏角色的飞行状态信息数据与降落地点的坐标数据,结合上述飞行状态信息数据与降落地点的坐标数据进行计算自动导航摇杆控制按钮操控指令,即自动导航摇杆控制按钮的按压方向和压力值的时序指令。服务器将自动导航的摇杆控制按钮的操控指令发送至客户端,客户端响应指令后调用摇杆控制控件执行操作,将游戏角色自动导航至标记的降落地点。在自动导航过程中,用户可以通过点击图形用户界面内至少一个按钮停止自动导航,再次点击自动导航按钮可以再次进入自动导航过程,直到游戏角色落地。
6、关于不开伞滑翔阶段。
跳伞过程开始,进入自由下落阶段,并初始化游戏角色状态,包括:游戏角色俯瞰地面,与水平面夹角为0°,各方向速度为0,加速度为重力加速度。同时图形用户界面中显示地图B的低分辨率贴图、可响应触碰的摇杆控制按钮以及可显示当前速度与当前高度以及强制跳伞高度的飞行状态显示信息。其中,地图B的低分辨率贴图为地图B场景中的物件全部被裁剪后只显示地形结构的显示画面,用户可以据此地图的显示画面操作游戏角色飞向自己希望的落点区域,用户在视觉上不会受场景繁杂物件的影响;随着游戏角色的高度逐渐靠近落点,通过飞行高度检测组件检测每帧画面游戏角色离地高度,当离地高度低于预设高度阈值后,触发向地图B的高分辨率贴图过渡显示的功能,其中地图B的低分辨率贴图中被裁剪的场景物件随着高度依次恢复显示,用户据此可以精确找到落点。
在自由下落过程中,用户可以按照地图B的高低分辨率贴图通过摇杆控制按钮控制游戏角色自由下落(俯瞰地面自由落体)、向前滑行、向左滑行、向右滑行、加速降落(垂直方向)、减速降落(垂直方向)直到精确找到用户希望的落点。用户通过触摸滑动图形用户界面空白区域实现视角转换而不影响游戏角色的飞行状态,同时通过观察飞行状态信息调整游戏角色的飞行轨迹。图形用户界面空白区域,是指除了各种操作按钮以外的区域。整个图形用户界面可以接收点击和滑动信号,并根据点击或滑动信号,改变虚拟摄像机的角度。
7、关于开伞阶段。
自由下落过程中,游戏系统被触发显示开伞按钮,此时用户可以点击开伞按钮触发开伞控件选择开伞,或者不点击开伞按钮选择继续自由下落,通过飞行高度检测组件检测每帧画面游戏角色离地高度,当离地高度低于预设高度阈值后,触发游戏系统强制触发开伞控件,进入开伞阶段,游戏角色开启降落伞。
降落伞开启后进入低空滑翔阶段,空气阻力增大,游戏角色的下落速度会降低,此时用户可以通过控制降落伞朝向来实现滑翔轨迹的变化,但是降落伞的倾斜也会加快下落速度,所以此低空滑翔阶段的设置目的是为了训练用户对降落的精准程度和速度之间的把控能力。开伞后为了方便用户观察周围情况,可以随意转动虚拟摄像机的视角并不影响降落伞的状态。
本发明实施例中提到的用户,在电脑游戏领域可以称为玩家、游戏玩家、游戏用户。
8、关于低空滑翔阶段。
进入低空滑翔阶段,虚拟角色速度降低,实现向地面飞去的显示效果。在该阶段期间,依然启动摇杆控件,提供给用户摇杆控制按钮以控制伞面的朝向,使得用户可以控制降落伞的方向,重力加速度变为G2,加速下降,如图7所示。作为本发明的一个可选的实施例,设定重力加速度值为固定值,即G2,向前使伞倾斜时会同时增加向前和向下的速度,模拟真实的飞行状态。
作为一个可选的实施例,虚拟角色垂直地面向下的速度降低为一个固定值5米每秒,并模拟风向吹动伞偏离航线的过程,为虚拟角色提供一个固定的水平速度。
作为一个可选的实施例,虚拟角色未开伞前垂直向下的速度由0升高到60米每秒,当速度达到60米每秒后一直保持该速度,当收到用户开伞的指令,虚拟角色的速度从60米每秒开始迅速下降,直到降低到5米每秒以后,一直保持5米每秒的速度。
作为一个可选的实施例,虚拟角色未开伞前垂直向下的速度由0升高到60米每秒度,当速度达到60米每秒后一直保持该速度向下俯冲,当收到用户开伞的指令后,为虚拟角色拍摄特效的效果,在图形用户界面显示开伞后虚拟角色打开降落伞,降落伞面冲到显示界面满屏,然后慢慢离开,当伞面全部出现在图形用户界面后,停留3秒时间,为方便用户看清楚降落伞面上面的广告,然后虚拟角色带着身后的降落伞从0米每秒的垂直地面向下的速度再继续加速,速度到5米每秒以后,一直保持5米每秒的速度,直到落地的时候速度由5米每秒降低到0米每秒。
9、关于落地阶段。
通过飞行高度检测组件检测每帧画面游戏角色离地高度,当离地高度低于预设高度阈值后,游戏系统自动锁定摇杆控件,游戏玩家无法继续触发摇杆控件的摇杆控制按钮。
通过飞行高度检测组件检测每帧画面游戏角色离地高度,当离地高度低于预设高度阈值后(地面高度+碰撞圆柱体的一半高度),游戏系统触发落地指令,进入落地阶段,启动提前录制好的落地视频,图形用户界面中显示游戏角色自动脱掉降落伞,重置运动状态,同时触发虚拟摄像机组件切换成场景视角。提前录制好的落地视频,是在确定了落地点后,服务器根据落地点的坐标、地图C或者地图B的高分辨率贴图,用户所选的游戏角色模型生成的,等到游戏角色落地时刻,开始播放该录制好的落地视频。本发明实施例中,虚拟角色的运动状态包括虚拟角色在空中的运动状态,即飞行状态,还包括虚拟角色在地面上的运动状态。
游戏角色的落地地点,并不一定是高度为0的地面,也可能落到建筑物上面。因此实时监测游戏角色的位置是否即将位于建筑物上,如果离建筑物较近,与建筑物的距离已经等于或者低于某个距离阈值,那么判断为是位于建筑物上,即便当时的下落高度还没有达到0米,也开始播放落地动画,游戏角色可以在楼顶落地。
10、关于结束阶段。
虚拟摄像机的场景视角从贴图切换到场景图,背景显示的地图切换为地图C,图形用户界面同时显示各种操作按钮,客户端开始接收用户的输入。
作为一个可选的实施例,如下是另一种模拟跳伞全过程的流程图,如图14所示,为便于理解,简述如下。
步骤1:准备进入跳伞阶段。
客户端在图形用户界面显示“开始游戏”按钮,等待用户点击“开始游戏”按钮。用户在客户端的图形用户界面上点击“开始游戏”按钮,客户端接收到用户点击“开始游戏”按钮后,向服务器发送开始指令,以及该用户的用户信息,服务器接收到开始指令后,提取用户信息,将该用户列入本场游戏人员列表中。服务器向本场游戏人员列表中所列的客户端发送进入等候室的指令,客户端调用等候室模块,为用户显示等候室场景,同时随时为游戏角色配置一个位于等候室地图中的位置信息,并将该位置信息发送给服务器。服务器搜集到一位用户的位置信息后,将该位置信息推送给各个其他客户端,客户端在本地的等候室中显示每个位置的游戏角色。游戏角色在等候室倒计时准备待命,并同时可以看到其他游戏角色所在位置,以及做了哪些动作和位移。客户端将本地本用户的位置位移信息、动作信息实时发送给服务器,服务器收到后立即向每个其他客户端推送收到的该用户的位置位移信息、动作信息。每个其他客户端收到某一个用户的上述信息后,在该位置放置一个人物形象,并根据动作信息显示动作。
作为本发明的一个可选的实施例,用户Alice的游戏角色位于等候室的位置为A,以A的位置为圆心,以某一个预设的阈值为半径R,所在的圆圈面积M内,如果有其他用户的游戏角色出现,将预备显示该游戏角色。预设的半径R的阈值,是为每个不同的客户端定制的不同阈值,为了满足不同的客户端的显示器需求而设定一个合适的阈值。例如,圆圈面积M,以及预设的半径R的确定,所依据的参数包括但不限于显示器的长宽尺寸、显示分辨率、限制的可以显示其他游戏角色的角色个数等。服务器根据用户Alice所在客户端的上述配置情况,将符合用户Alice的游戏角色所在圆圈面积M内的其他用户(例如用户Bob)的游戏角色的位置信息,发送给用户Alice所在的客户端。用户Bob的游戏角色的位置信息,包括但不限于在等候室的位置B、Bob的游戏角色当前的动作信息,Bob的游戏角色的皮肤信息等。
当本场游戏人员列表的人数达到某个预设的下限值后,服务器通知所有列表中的客户端显示倒计时,倒计时的结束时间以服务器为准,不以客户端时间为准。在倒计时时,服务器继续对本场游戏人员列表进行维护,添加新用户,删除退出的用户。加入新用户后,通知新用户的客户端进入等候室并立即启动倒计时;服务器向本场游戏人员列表中的客户端推送人数数据,该人数数据如有变动,立即通知各客户端修改,如果没有变动则服务器不向客户端发通知;服务器端同时为游戏开始配备资源,并立即通知给每个客户端,当倒计时结束后,服务器端通知每个客户端开启航行模块。服务器继续对本场游戏人员列表进行维护时,如果用户人数达到预设的上限值,则不再允许新用户加入,而是为新用户重新创建一个游戏人员列表,重新开一场游戏。
服务器同时为游戏开始配备资源的步骤,包括从随机航线中选择一条航线规则、从随机生成装备和装备被投放的位置数据中选择一种投放规则并将需要预先放置的装备放置到地图中、从随机生成通信圈的策略列表中选择一条策略、从随机轰炸策略列表中选择一条轰炸策略、从随机地图中选择一张地图等配置步骤。这些配备资源完成的时间可以是在所有游戏角色中最先降落到地图中的游戏角色当前时间之前完成。通常在进入航线飞行前的时间中,服务器已经配备好所有资源。为减少用户的等待时间,可选地,服务器开始配置资源的步骤,可以是在创建一个等候室的时候就开始进行,在等候室中等待的时候其实地图均已经生成完毕,等待人数满员以后,可以尽快倒计时,尽快为所有用户开启游戏。
还有一种配置资源的方式,服务器每天根据预设的数量,先预先配备好游戏资源,保持一定场次数量的游戏存在,为每个游戏室编号,当用户登录后,服务器为用户随机分配到不同的游戏室的编号。预设数量的游戏室,是以每天不同时段的用户登录数量的平均值预测的值,比如在周六和周日的时间里,用户数量倍增,游戏室设置数量相对工作日时会增加不少,比如早晨和晚上8点以后,游戏室预设数量会有所不同。游戏室是虚拟的游戏空间,即服务器生成的一场一场的游戏。如果当前时间登陆的用户数量增加,预先配备的游戏室数量不足时,服务器可以再为多增加的用户新生成一定数量的游戏室。这样,用户登录后,只用随机为用户分配游戏室编号即可,服务器相对智能的配置资源方案节省了用户大量的时间。
作为本发明的一个可选的实施例,当用户在等候室等待时,出现宕机或者断网状态时,客户端不能及时向服务器汇报用户退出本场游戏,因此服务器会在接到该用户登录的用户信息后,将当前时间与本场游戏人员列表中记录的该用户最后一次登录的时间进行比对,如果当前时间大于某个预设的阈值,代表该用户与服务器断开联系的时间超长,则在本场游戏人员列表中删除该用户,并将该用户分配到其他等候室中等待。
步骤2:生成飞机,按照随机的航线飞行。
倒计时结束,客户端收到服务器通知开启航行模块的指令后,客户端生成飞机并显示在图形用户界面上,飞机的航线是以游戏随机生成的一条穿过地图的路线作为航线,飞机在预设的固定地图上空航行穿过地图,确保每次训练选择场地不同。客户端显示飞机后,在飞机下方显示地图场景。
当用户Bob的客户端接收到用户Bob发出的跳伞指令时,发送跳伞指令给服务器,服务器将该跳伞指令广播给所有参与本游戏的其他客户端,其他客户端接收到跳伞指令后,从飞机处动态显示一个游戏角色飞出飞机,显示快速抛在身后的效果。上述用户Bob发出的跳伞指令可以为:用户Bob点击图形用户界面中显示的跳伞按钮,用户Bob的客户端根据用户Bob的点击跳伞按钮的操作生成的指令。
作为本发明的一个可选的实施例,为节省流量,用户Bob的客户端此时接收跳伞指令并发送给服务器,并不将接收的用户Bob的游戏角色跳伞后的转向、速度调节等动作发送给服务器,服务器仅把一个跳伞指令发送或广播给其他客户端,其他客户端不接收且不显示用户Bob的游戏角色的转向、速度调节等其他动作指令。而该其他客户端为了显示画面逼真效果,显示其他游戏角色跳伞时,是随机生成的某个跳伞路径和动作,并不是实际的跳伞路径和动作。当客户端本机的游戏角色进入跳伞模式后,才将其他游戏角色的转向、速度同步显示到显示屏幕,这样可以保障用户看到其他用户准备降落的位置,用户可以据此调整自己的降落路线以错开高峰区域降落。
步骤3:参加训练人员上飞机,俯瞰训练场全景。
客户端显示飞机后,在飞机下方显示地图场景。飞机在航行穿过地图的过程中,用户可以通过各个控制按键切换视角,从而能够展示俯瞰飞机全貌以及固定地图场景,飞机下方显示的地图是地图B的低分辨率贴图。如图3所示。地图B的低分辨率贴图中包含各种建筑组件,当飞机所在位置到建筑组件的距离达到一定阈值时,显示建筑组件,如果距离大于移动的阈值时,不显示建筑组件,只显示该地图上的陆地、山川和河流。
步骤4:进入跳伞区域,出现跳伞按钮,如果检测到点击跳伞按钮的操作,那么进入步骤8,如果没有收到点击跳伞按钮的操作,继续飞行,如果达到一定的条件后依然没有收到点击操作,则进入步骤6。
如图4所示。飞机在预定的航线上航行,当飞机的位置位于航线的某个区间范围内时,飞机进入航线指定范围内,客户端显示跳伞按钮。该区间范围,称为可跳伞位置区间范围。该区间范围是除了海洋以外的陆地或河流区域,适合跳伞。用户可以点击跳伞按钮选择跳伞,或者不点击,不点击不影响继续航行,客户端如果接收到用户点击跳伞按钮输入的跳伞指令后,进入步骤8。
步骤5:判定阶段,再等等-继续飞行。
在可跳伞位置区间范围[M,N]内,用户可以点击跳伞按钮选择跳伞,或者不点击,不点击不影响飞机继续航行,当飞机超过航线指定范围后,客户端强制触发跳伞功能,触发跳伞功能,进入跳伞阶段,游戏角色离开飞机。
步骤6:判定阶段,再等等-飞机驶离训练场前,训练人员自动离开飞机。
步骤6即为,若判定再等等-飞机驶离训练场,则游戏角色自动离开飞机。
当飞机所在位置位于区间范围的N位置时,飞机即将超过航线指定范围,客户端强制触发跳伞功能,进入跳伞阶段,游戏角色离开飞机,进入步骤8。
步骤7:判定阶段、再等等-点击跳伞,接收到点击跳伞按钮的操作后,进入步骤8。
用户点击跳伞按钮,相当于用户输入了跳伞指令。客户端如果接收到用户的跳伞指令后,进入步骤8。
在上述步骤1-7的步骤中,背景持续显示地图,以及地图上面的建筑物、云朵、雾气。如果该地图上有天气变化,可加载天气变化动画,例如下雨、雾天的动画效果。
步骤8:进入自由下落阶段,用户可以控制滑翔。
客户端展示一段动画,显示游戏角色从飞机上跳下,然后在图形用户界面上将飞机替换为游戏角色背伞包下落的动画。
在游戏角色背景继续显示地图,以及地图上面的建筑物、云朵、雾气。如果该地图上有天气变化,加载天气变化动画,例如下雨、雾天的动画。
为更逼真展示天气效果,随机播放风的动画,并根据风向为游戏角色下降的速度和平移的速度做相应的改变。比如,风向为上行的风,游戏角色下降速度减小,并同时移动游戏角色的视角,模拟一种被风吹跑的感觉。随机播放的刮风动画,对应带有刮风属性信息,其刮风属性信息包括但不限于,风速值、风向坐标值,根据数学公式计算后,客户端为游戏角色当前的速度和转向角做相应改变,刮风取消后,再恢复游戏角色的正常下落速度,转向角不再做改变。
为描述模拟跳伞的过程如何实现,对真实的跳伞过程进行一下解释说明和对比。
m,代表伞兵的质量;
a,代表伞兵下落的加速度;
g,代表重力加速度;
f,代表伞兵受到的竖直向上方向的空气阻力;
F,代表伞兵的重力;
H,代表伞兵处于的下落高度,该高度的基准是海平面高度为0m;
T,代表伞兵从跳伞的最高点时刻为0时开始计算的当前下落时间;
Vt,表示伞兵当前时刻的下落速度。
伞兵从飞机上跳下,初始的下降速度为V0=0,空气阻力为f1,空气阻力f1随着速度的增加开始增加,直到空气阻力f1等于伞兵重力F时,竖直向下的加速度值等于0,速度不再增加,伞兵做匀速下落运动,该时刻的速度为V1。接下来,伞兵就以V1的速度向下下落,直到伞兵打开降落伞,垂直向上方向的空气阻力突然增加,当降落伞撑开伞兵的阻力增大为f2,并且大于伞兵的重力F,导致伞兵做减速运动,于是伞兵的速度开始从V1减小,随着V1的减小,空气阻力f2也在不断减小,直到竖直向上方向的空气阻力f2等于伞兵的重力F后,空气阻力和重力达到平衡,伞兵的速度不再减小,伞兵开始匀速下落运动。此时刻速度为V2。打开降落伞的伞兵以V2的速度冲向地面,然后在到达地面时速度降为0,登陆成功。
但是要模拟真实的跳伞过程相当复杂。比如在应用软件中的跳伞运动过程,需要根据设置的地图尺寸大小、飞机在地图上空的高度、从最高度跳下到成功落地最理想状态下的时间长度数值来确定游戏中伞兵跳伞在当前高度的时候的当前速度是多少。
作为本发明的一个可选的实施例,游戏软件设计的方案中,先确定好如下一些数值,例如地图尺寸,地图尺寸与实际实物之间的对应关系,在游戏中飞机飞行的最高高度值,即伞兵下落高度值,游戏中的下落高度与伞兵跳伞安全高度参考值之间的对应关系,最高度跳下到成功落地最理想状态下的时间长度数值等。例如设计为理想状态下,不对游戏角色进行任何操作下,游戏角色自动跳伞并下落的时间长度数值为1分钟的话,该1分钟就是从最高高度跳下到成功落地最理想状态下的时间长度数值。将上述这些已经确定好的数值带入速度计算公式后,计算得到每个高度位置需要呈现的速度值,然后将该速度作为当前高度下的基准速度。定义该基准速度为V基。地图尺寸与实际实物之间的对应关系、游戏中的下落高度与伞兵跳伞安全高度参考值之间的对应关系可以是统一的缩放比例控制的对应关系。
当引入干扰以后,即用户操作游戏角色移动位置,加快下落,或者移动伞面的朝向,那么速度会根据用户的操作做相应的调整,那么就是在基准速度V基的基础上加加减减,最终求得该高度位置的实际速度Vt
作为本发明的一个可选的实施例,当游戏角色初速度为V0=0时,从5000米高空下落,即5000米高空对应的坐标值为h0,如果在2000米的高空强迫开伞的话,设定在图形用户界面上展示整个的下落时间为1分钟。那么,反向去推导出在应用软件中,设定的速度V1和V2分别是多少才能满足下落时间区间在1分钟的需求。
相关公式如下,垂直方向速度模拟真实物理情况,由重力和空气阻力来计算;ma=mg-F1;t时刻游戏角色离地高度Ht=1/2at2;t时刻游戏角色垂直方向速度Vt=V0+at;空气阻力F=kvt2,其中k表示空气阻力系数,是一个固定常数。通过以上系列公式计算得到垂直方向速度的物理意义是,下落物体所受到的力有竖直向下的重力和竖直向上的空气阻力,空气阻力随着速度的增加会增加,当下落的物体速度不再增加时,重力和空气阻力达到平衡。下落物体从初速度开始,每秒受到一个加速度的作用,所以当前时刻的速度会随时发生改变。
当不开伞跳下或者开伞的时候,由于表面积的变化,导致空气阻力是不同的,所以开伞时候的加速度与不开伞时候不同。开伞以后,当重力与空气阻力再次达到平衡后,下落物体的速度不再增加,以一个比较低的速度让下落物体安全着陆。比如,5米每秒的安全下落速度着陆。
客户端接收用户的操作,操作包括向上、向下、向左、向右。其中向上操作代表游戏角色身体直立俯冲向地面,加快速度下落;向下操作代表游戏角色身体与地面保持水平,获得较大表面积,并增加空气阻力大小;向左、向右操作代表游戏角色以自身中点为圆心向左手、右手方向摆动身体,使得游戏角色头部的朝向可以改变。
作为本发明的一个可选的实施例,简化真实状态下的速度增加减小过程,我们设定当β在一定区间时,在基准速度基础上,给予一个加速度,使得游戏角色加速或者减速运动。当天气变化时,对加速度进行修正,即在加速度的基础上再增加或减小一个数值。
步骤9:当进入可开伞高度,出现开伞按钮。
如图5所示。当高度值处于某个数值区间时,出现开伞按钮。这个数值区间是适合开始开伞降落的高度区间,命名为开伞高度区间,用区间值表示[p,q]。高度值位于[p,q]区间时,显示开伞按钮。当用户点击开伞按钮,则进入开伞阶段。用户点击开伞按钮,相当于用户输入了开伞指令。
步骤10:判定阶段,再等等-继续下落。
当用户一直不点击开伞按钮,则实时监测地面高度,继续按照未开伞时的速度下落。
步骤11:判定阶段、再等等-实时检测地面高度,距离地面一定高度自动开伞。
实时监测地面高度时,当游戏角色距离地面的高度值,达到q后,自动进入开伞滑翔阶段。
步骤12:进入开伞滑翔阶段,玩家可以控制伞的方向,重力加速度变为G2,如图7所示。
作为本发明的一个可选的实施例,设定重力加速度值为固定值,即G2,向前使伞倾斜时会同时增加向前和向下的速度,模拟真实的飞行状态。
步骤13:接近地面时开始减速。
当监测到的地面高度值为r时,锁定用户的输入,播放落地动画,动画显示游戏角色开始减速,减速到一定数值后,调整游戏角色的位置状态,准备着陆。
步骤14:成功着陆。
着陆过后,游戏角色从悬浮的跳伞模式重置为站立可行走模式。
步骤15:完成跳伞。
视角从贴图切换到场景图,背景显示的地图切换为地图C,图形用户界面同时显示各种操作按钮,客户端开始接收用户的输入。
在上述步骤中,服务器随时接受每个用户的操作指令,将该用户的游戏角色在地图上面的跳伞动作数据发送或广播给每个客户端,客户端随时展示除了本机以外其他游戏角色的位置和动作。
作为一个可选的实施方式,本发明实施例还提供一种简略的跳伞过程的显示方法。
设置好N条航线,每次训练开始时飞机随机选择一条航线,确保每次训练选择场地不同。进入航线指定范围内可以开始跳伞,进入自由下落阶段。
高空自由下落时通过虚拟角色视角对应前方向和下方向的角度来确定虚拟角色的飞行状态,用户可以选择向远处滑翔以获得更大的距离(但会牺牲一定的下落速度),或者向下以较快速度下落以便更早完成跳伞到达地面。在图形用户界面上配合下落指示条显示虚拟角色当前下落速度和高度让用户有参考的调整状态。此自由下落阶段主要作用是让用户自由选择本次训练想要到达的区域。自由下落过程中用户可以自己手动打开降落伞,游戏系统也会实时检测虚拟角色与下方地面之间的高度变化,当距离地面接近到一定距离时,为了保护虚拟角色,会自动进入开伞阶段,帮用户打开降落伞。
降落伞开启后进入低空滑翔阶段,空气阻力增大,虚拟角色的下落速度会降低,此时用户可以通过控制降落伞朝向来实现滑翔轨迹的变化,但是降落伞的倾斜也会加快下落速度,所以此低空滑翔阶段主要训练用户对降落的精准程度和速度之间的把控能力。开伞后为了方便用户观察周围情况,右手可以随意转动视角不影响伞的状态。
当接近地面(包括屋顶)一定距离时,自动锁定用户的输入,调整虚拟角色姿势,确保虚拟角色安全降落。落地后自动脱掉降落伞,正式开始训练。
作为本发明的一个可选的实施方式,本发明实施例还提供一种模拟的跳伞逻辑实现方法。
a、下落过程中地形显示问题处理方法。
地形的材质中使用了两张贴图进行混合,根据距离从远到近,由低分辨率贴图过度到高分辨率贴图;低分辨率贴图只表现地形结构,虚拟角色距离地面越低,则高分辨率贴图越明显;根据虚拟角色与场景中的物件在3D空间中的距离,超过某个阈值的虚幻单位(例如3万、5万、8万虚幻单位)则不显示。
b、跳伞过程整体流程。
整个跳伞过程由在虚拟角色身上的飞行高度检测组件控制,这个组件是自定义的逻辑类,每帧从虚拟角色位置向下做射线检测,这样可以获得虚拟角色距离地面的高度,根据虚拟角色到地面的距离控制各阶段切换和参数,共分为五个阶段:1.不开伞滑翔阶段;2.开伞阶段;3.自动减速阶段;4.屏蔽输入阶段;5.落地阶段。
如图12所示,水平方向为虚拟角色飞行方向,垂直方向为下落方向。
虚拟角色俯仰角α≤45°,即图15中θ1所示代表用户希望向前滑行,向前的速度达到最大;当虚拟角色俯仰角α向下转动,超过θ1,进入图15中θ2所示区域时向前的速度开始减小,同时向下的速度增加,两者之间呈线性变化。当虚拟角色俯仰角α继续向下进入θ3区域时代表用户希望快速下降,此时下落速度达到最大,而向前的速度减为0。
速度的水平和垂直方向分别计算,在每帧播放的同时进行速度的多次计算同步,使得速度变化效果更为平滑。
虚拟角色从高空下落过程中,开始时仅能看到低分辨率贴图,场景中的物件全部被裁剪,用户据此操作虚拟角色飞向大概的落点区域,不会受场景繁杂物件的影响;随着虚拟角色逐渐靠近落点,高度降低到预设值时,用户可以通过图形用户界面看到下方的高分辨率贴图,附近的场景物件依次显示,用户据此可以精确找到合适的落点。
1、不开伞滑翔阶段。
不开伞滑翔阶段,垂直方向速度的计算如下。
1)垂直方向速度模拟真实物理情况,由重力和空气阻力来计算。重力造成向下的加速度,空气阻力造成向上的加速度。
2)重力向下加速度减去阻力向上加速为当前加速度,当前加速度乘以时间为速度变化值,并额外增加速度变化曲线,实现不同速度时控制速度变化的快慢。
3)重力受用户输入的Z轴分量影响,而阻力加速度受速度影响,没有输入时两个力自动达到平衡,加速度为0。
4)重力缩放系数:当检测到用户有输入时,虚拟摄像机朝向不同(朝向仅在270到359生效),输入加速度的单位向量在-1到1之间,以此为输入从曲线中取出重力缩放系数。重力控制向下加速度的大小,重力越大,向下的速度越快,重力越小,向下的速度就越慢。
5)垂直方向速度获取,通过对输入产生的加速度计算重力缩放系数为输入加速度的单位化向量,多次加速的计算同步效果。
不开伞滑翔阶段,水平方向速度的计算如下。
1)水平速度在有输入时速度等于加速度乘以时间,没有输入时匀速变化到0。
2)水平方向速度计算公式如下:
(1)有输入的情况:速度=当前速度+加速度*两帧之前的时间间隔;
(2)没有输入的情况:速度由当前速度匀速下降至0。
2、开伞阶段。
开伞阶段,虚拟角色的朝向确定如下。
用户通过摇杆控制按钮操作摇杆控件,客户端接收来自摇杆控件发来的前后左右输入的指令,有前后输入时客户端开始调整虚拟角色朝向的Pitch,有左右输入时调整虚拟角色的Roll和Yaw,中间过渡线性插值,中间过渡线性插值是为了使得视角变换更平滑。Pitch和Roll的调整不会影响速度,仅做表现,模拟真实跳伞过程中控制伞时视角的偏转;Yaw的调整不影响速度的大小,但是影响速度的方向,开伞阶段虚拟角色的水平速度方向取FVector(0,Yaw,0)。
开伞阶段,垂直方向速度的计算如下。
速度与不开伞滑翔阶段计算方式相同。在输入加速度计算时不再限定角度(未开伞之前角色和地面的0~90°限制)。
开伞阶段,水平方向速度的计算如下。
1)原理:速度与加速度垂直,则会做圆周运动。所以只需保证速度方向始终与虚拟角色仅保留Yaw值的朝向相同,在虚拟角色有左右输入时就可以做圆周运动。
2)水平方向速度没有输入时给一个默认值,有输入时使用另一个预设的速度,方向由用户输入方向控制。
3、自动减速阶段。
此阶段虚拟角色水平方向速度不再受用户操作控制,系统自动将速度减速到0。另外,此阶段垂直方向速度也不再受用户控制,系统自动将速度缓慢减速到预设阈值。
自动减速阶段,水平方向速度和垂直方向速度的计算如下。
水平方向速度=(当前水平方向速度+水平方向目标速度)*两帧之间的时间间隔*调节系数;
垂直方向速度=(垂直固定目标速度+当前速度的Z分量)*两帧之间的时间间隔*调节系数;
其中,调节系数为一个数值,该数值区间为从0到1。
作为一个可选的实施例,如果没有输入,则水平方向以水平固定目标速度进行滑行。垂直方向以垂直固定目标速度进行下落。如果有输入,输入会对水平和垂直两个方向速度产生影响,影响如下:
当用户点击摇杆控制按钮中的“上”或“下”按钮时,虚拟角色的俯仰角α会发生变化,当用户保持点击摇杆控制按钮中的“上”按钮时,水平方向加速度为正值且随着俯仰角α增大水平方向加速度增大,水平方向速度增加到最大值,当用户保持点击摇杆控制按钮中的“下”按钮时,水平方向加速度为负值,水平方向速度会减小到最小值。
当用户点击摇杆控制按钮中的“左”或“右”按钮时,偏航角β会发生变化。用户保持点击摇杆控制按钮控件中的“左”或“右”按钮时,垂直方向速度不产生变化。水平方向的速度会从最大值(水平方向目标速度)一直降低至最小值(预设固定值)。
水平方向速度是预设水平方向目标速度加上虚拟角色水平方向速度分量的值。
垂直方向速度是预设垂直方向目标速度加上虚拟角色垂直方向速度分量的值。
作为另一个可选的实施例,如果没有输入,则水平方向以固定目标速度进行滑行,且速度方向矢量为(0,Yaw,0)。如果有输入,则在如下两个步骤之间进行选择:
步骤一,如果有上下输入,则水平方向速度=水平方向目标速度+水平方向加速度*两帧之间的时间间隔;水平方向加速度是一个随着俯仰角α大小变化的线性函数。俯仰角α=当用户点击摇杆控制按钮中的“上”按钮时,虚拟角色的俯仰角α增大,水平方向加速度为正值,且随着角度增大水平方向加速度增大,水平方向速度增加,当用户点击摇杆控制按钮中的“下”按钮时,虚拟角色的俯仰角α减小,水平方向加速度为负值,且随着角度增大水平方向加速度绝对值增大,水平方向速度会减小。
步骤二,如果有左右输入,水平方向目标速度=虚拟角色朝向的Y轴分量*val*调节系数*水平方向目标速度的大小。其中,val是将字符串转化为的数值,本步骤二的调节系数为从0到1的一个数值。
4、屏蔽输入阶段。
落地前屏蔽用户的所有输入,虚拟角色朝向的Picth和Roll归零。保证玩家以正确的朝向落地。贴图的切换是地形材质本身的功能,不依赖于跳伞阶段,仅关联于虚拟角色在3D空间中的距离。
5、落地阶段。
处于空中的虚拟角色,由飞行高度检测组件控制,从虚拟角色位置向下做射线检测,获得虚拟角色距离地面的高度,当此高度小于预定的阈值(例如700cm),则将虚拟角色从飞行(Flying)状态切换到落地(Falling)状态,调整虚拟角色位置的Z轴分量为虚拟角色的脚接触地面的Z值+虚拟角色模型高度的一半高度,播放落地动画,之后,切换虚拟角色的状态到行走(Walking)状态,整个落地过程结束。其中,飞行高度检测组件可称为FlyComponent组件,可为虚幻4引擎中的专用组件,也可以用其他引擎的类似组件替代,Z值代表虚拟角色垂直于地面的垂直高度值。
实时监测虚拟角色的位置是否位于建筑物上,如果是,即便当时的下落高度还没有达到0米,也开始播放落地动画,虚拟角色可以在建筑物顶落地。
作为本发明的一种可选的实施例,本发明实施例提供了一种模拟跳伞的方法,所述方法包括如下步骤。
B101,接收到跳伞指令后,触发跳伞控件;当飞行载具的坐标位置位于[x2,y2]区间时,无论是否接收到跳伞指令,触发跳伞控件;x2和y2均不大于地图的尺寸大小,位于地图尺寸大小区间之内。
其中,飞行载具可以为飞机、气球等。
作为一个可选的实施例,触发跳伞控件的步骤包括:
B1011,图形用户界面显示背着降落伞包的虚拟角色漂浮在空中的动态效果。
B1012,调取地图B的低分辨率贴图,将地图B的低分辨率贴图显示在图形用户界面上。
作为一个可选的实施方式,根据虚拟角色的坐标位置,显示地图B的低分辨率贴图。
作为一个可选的实施方式,B1011和B1012步骤的顺序可以是同时进行,也可以先后完成,谁先谁后都可以。
作为一个可选的实施方式,B1012之后,还可包括步骤B1013在图形用户界面上显示高度条、速度条、以及调整虚拟角色位置的摇杆控制按钮,或者调节虚拟摄像机角度的按钮。
作为一个可选的实施方式,虚拟角色脱离飞行载具后,结束跳伞控件。
B102,当高度值位于区间[Ha,Hb]时,启动开伞控件,在图形用户界面显示开伞按钮,其中Ha和Hb为虚拟角色所在的高度值,Ha数值大于Hb数值,且二者均大于0。
B103,接收到开伞指令后,触发开伞控件,打开降落伞;当高度值等于Hb时,无论是否接收到开伞指令,触发开伞控件。
作为一个可选的实施例,触发开伞控件,打开降落伞的步骤包括:
B1031,将图形用户界面改为显示撑开降落伞的虚拟角色漂浮在空中的动态效果。
B1032,显示地图B的低分辨率贴图,将虚拟角色的坐标位置所在处的地图画面显示在图形用户界面上。
作为一个可选的实时方式,根据虚拟角色所在的坐标位置,继续显示地图B的低分辨率贴图。
作为一个可选的实施方式,B1031和B1032步骤的顺序可以是同时进行,也可以先后完成,谁先谁后都可以。
作为一个可选的实施方式,在步骤B1032之后,还包括步骤B1033在图形用户界面上显示高度条、速度条、以及调整虚拟角色位置的摇杆控制按钮,或者调节虚拟摄像机角度的控件。
作为一个可选的实施方式,在步骤B1032之后,还包括步骤B1034通过飞行高度检测组件检测每帧画面虚拟角色离地高度,当离地高度低于预设高度阈值后,触发向地图B的高分辨率地形贴图过渡显示的功能。
B104,通过射线检测确定与地面的距离,当距离等于0时,启动落地控件。
作为一个可选的实施方式,启动落地控件的步骤还包括:
B1041,图形用户界面中显示虚拟角色自动脱掉降落伞。
B1042,虚拟摄像机视角从贴图切换到场景图,图形用户界面同时显示各种操作按钮,客户端开始接收用户的输入。
作为一个可选的实施方式,在步骤B101之前,还包括如下步骤:
B201,获得飞行载具的航行路线数据,航行路线数据中包括飞行载具航行的坐标位置集合[x,y,z],或者航行路线计算函数;
B202,当飞行载具航行的坐标位置位于[x1,y1]至[x2,y2]区间时,在图形用户界面显示跳伞按钮;其中,x1、y1、x2、y2均在地图尺寸大小的区间内。
通过本发明实施例提供的技术方案,实现了模拟真实跳伞的过程。
基于与上述各实施例相同的发明构思,本发明实施例还提供了一种电子设备,如图16所示,包括处理器1601、通信接口1602、存储器1603和通信总线1604,其中,处理器1601,通信接口1602,存储器1603通过通信总线1604完成相互间的通信。
存储器1603,用于存放计算机程序;
处理器1601,用于执行存储器1603上所存放的程序时,实现如下步骤:
接收到跳伞指令后,触发跳伞控件;
当飞机载具的坐标位置等于[x2,y2]时,无论是否接收到跳伞指令,触发跳伞控件;
当高度值位于区间[Ha,Hb]时,在图形用户界面显示开伞按钮,其中Ha和Hb为虚拟角色所在的高度值,Ha数值大于Hb数值;
接收到开伞指令后,触发开伞控件;当高度值等于Hb时,无论是否接收到开伞指令,触发开伞控件;
通过射线检测确定与地面的距离,当距离等于0时,启动落地控件。
通过本发明实施例提供的技术方案,实现了模拟真实跳伞的过程。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于与上述各实施例相同的发明构思,本发明实施例还提供了一种电子设备(也可以是服务器、终端等),包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述所有具体实施例任一所述的方法步骤。
基于与上述各实施例相同的发明构思,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述所有具体实施例任一所述的方法步骤。
基于与上述各实施例相同的发明构思,本发明实施例还提供了一种虚拟角色控制装置。参考图18,图18为本发明实施例提供的虚拟角色控制装置的一种结构示意图。该装置应用于可呈现图形用户界面的终端,包括:监测单元1801、第一执行单元1802和第二执行单元1803。
监测单元1801,用于监测虚拟角色在虚拟场景中的坐标;
第一执行单元1802,用于在虚拟角色处于第一预设坐标的情况下,启动第一控件,获取第一控件对应的第一激活指令,执行第一激活指令对应的第一虚拟操作;
第二执行单元1803,用于在虚拟角色处于第二预设坐标的情况下,启动第二控件,获取第二控件对应的第二激活指令,执行第二激活指令对应的第二虚拟操作。
可选的,第一执行单元1802,具体可以用于:
在虚拟角色处于第一预设坐标的情况下,启动第一控件,以使第一控件控制在图形用户界面中显示第一按钮;
获取用户对第一按钮的操作;
根据用户对第一按钮的操作,生成第一控件对应的第一激活指令;
触发第一控件执行第一激活指令对应的第一虚拟操作。
可选的,第一执行单元1802,还可以用于:
在虚拟角色处于第三预设坐标的情况下,若未获取到用户对第一按钮的操作,则生成第一控件对应的第一激活指令;
触发第一控件执行第一激活指令对应的第一虚拟操作。
可选的,监测单元1801,具体可以用于:
监测虚拟角色在虚拟场景中的目标路线上的坐标;目标路线为:从预设的多条路线中随机地选择一条路线,目标路线中包括第一预设坐标和第三预设坐标。
可选的,第二执行单元1803,具体可以用于:
在虚拟角色处于第二预设坐标的情况下,启动第二控件,以使第二控件控制在图形用户界面中显示第二按钮;
获取用户对第二按钮的操作;
根据用户对第二按钮的操作,生成第二控件对应的第二激活指令;
触发第二控件执行第二激活指令对应的第二虚拟操作。
可选的,第二执行单元1803,还可以用于:
在虚拟角色处于第四预设坐标的情况下,若未获取用户对第二按钮的操作,则生成第一控件对应的第一激活指令;
触发第二控件执行第二激活指令对应的第二虚拟操作。
可选的,第一执行单元1802,还可以用于在获取第一控件对应的第一激活指令之后,关闭第一控件;
第二执行单元,还用于在获取第二控件对应的第二激活指令之后,关闭第二控件。
可选的,第一虚拟操作可为:控制虚拟角色脱离飞行载具下落;第二虚拟操作为:控制虚拟角色打开降落伞;
上述虚拟角色控制装置还可以包括:第三执行单元(图18中未示出),用于在虚拟角色与地面的距离小于等于预设距离阈值情况下,播放落地画面。
可选的,终端的图形用户界面中显示有运动状态信息;
运动状态信息可以包括:虚拟角色的高度坐标、虚拟角色下降的速度、第二预设坐标、虚拟角色运动的预计时长、虚拟角色运动的已耗费时长、虚拟角色运动的剩余时长中的一种或多种。
可选的,终端的图形用户界面中显示有第三按钮;上述虚拟角色控制装置还可以包括:第四执行单元(图18中未示出),用于获取用户对第三按钮的操作;根据用户对第三按钮的操作,生成第三控件对应的第三激活指令;触发第三控件执行第三激活指令对应的第三虚拟操作。
可选的,第三虚拟操作可为:对第一控件和第二控件执行停止操作,确定虚拟角色的可降落区域,获取虚拟角色在可降落区域中的降落地点,控制虚拟角色在降落地点落地;
停止操作为:关闭或拒绝开启第一控件和第二控件。
可选的,虚拟场景中包括终端上的虚拟角色和至少一个其他终端上的其他虚拟角色;
上述虚拟角色控制装置还可以包括:第五执行单元(图18中未示出),用于在确定其他终端在执行第一虚拟操作的情况下,生成第一控件对应的第四激活指令;触发第一控件执行第四激活指令对应的第四虚拟操作。
可选的,第四虚拟操作可以为:控制其他虚拟角色脱离飞行载具下落;或控制其他虚拟角色和虚拟角色脱离飞行载具下落。
通过本发明实施例提供的技术方案,监测虚拟角色在虚拟场景中的坐标;在虚拟角色处于第一预设坐标的情况下,启动第一控件,获取第一控件对应的第一激活指令,执行第一激活指令对应的第一虚拟操作;在虚拟角色处于第二预设坐标的情况下,启动第二控件,获取第二控件对应的第二激活指令,执行第二激活指令对应的第二虚拟操作。基于该技术方案,若第一预设坐标为水平坐标,第二预设坐标为垂直坐标,可以实现虚拟角色先后从飞行载具上跳下和打开降落伞,完成整个跳伞的模拟过程,实现了模拟真实跳伞的过程。
基于与上述各实施例相同的发明构思,本发明实施例还提供了一种可呈现图形用户界面的终端,如图19所示,包括处理器1901和存储器1902;存储器1902,用于存放计算机程序;处理器1901,用于执行存储器1902上所存放的程序,实现上述虚拟角色控制方法的任一步骤。具体的,该虚拟角色控制方法包括如下步骤:
监测虚拟角色在虚拟场景中的坐标;
在虚拟角色处于第一预设坐标的情况下,启动第一控件,获取第一控件对应的第一激活指令,执行第一激活指令对应的第一虚拟操作;
在虚拟角色处于第二预设坐标的情况下,启动第二控件,获取第二控件对应的第二激活指令,执行第二激活指令对应的第二虚拟操作。
作为一种可选的实施方式,上述终端可为触控终端,终端的图形用户界面上设置有多个按钮;按钮在图形用户界面的位置与以下至少任一项相适应:
图形用户界面的尺寸属性;
用户握持所述终端的状态属性;
图形用户界面的当前应用场景信息。
通过本发明实施例提供的技术方案,监测虚拟角色在虚拟场景中的坐标;在虚拟角色处于第一预设坐标的情况下,启动第一控件,获取第一控件对应的第一激活指令,执行第一激活指令对应的第一虚拟操作;在虚拟角色处于第二预设坐标的情况下,启动第二控件,获取第二控件对应的第二激活指令,执行第二激活指令对应的第二虚拟操作。基于该技术方案,若第一预设坐标为水平坐标,第二预设坐标为垂直坐标,可以实现虚拟角色先后从飞行载具上跳下和打开降落伞,完成整个跳伞的模拟过程,实现了模拟真实跳伞的过程。
基于与上述各实施例相同的发明构思,本发明实施例还提供了一种虚拟角色控制系统,如图20所示,该虚拟角色控制系统包括至少一个可呈现图形用户界面的终端2001和服务器2002;
终端2001,用于向服务器2002发送加入指令;
服务器2002用于根据加入指令,向终端2001发送开始指令;
终端2001,还用于根据开始指令,监测虚拟角色在虚拟场景中的坐标;在虚拟角色处于第一预设坐标的情况下,启动第一控件,获取第一控件对应的第一激活指令,执行第一激活指令对应的第一虚拟操作;在虚拟角色处于第二预设坐标的情况下,启动第二控件,获取第二控件对应的第二激活指令,执行第二激活指令对应的第二虚拟操作。
作为一种可选的实施方式,虚拟角色控制系统包括多个终端2001。
这种情况下,服务器2002,还可以用于接收多个终端2001中终端A发送的第一激活指令,向除终端A外的其他终端广播或单播发送终端A发送的第一激活指令,和/或终端A的虚拟角色的坐标位置;终端A为多个终端2001中的任一终端;
服务器2002,还可以用于接收终端A发送的第二激活指令,向除终端A外的其他终端广播或单播发送终端A发送的第二激活指令,和/或终端A的虚拟角色的坐标位置;
同理,终端2001,还可以用于接收服务器2002广播或单播发送终端A发送的第一激活指令,和/或终端A的虚拟角色的坐标位置。
终端2001,还可以用于接收服务器2002广播或单播发送终端A发送的第一激活指令,和/或终端A的虚拟角色的坐标位置。
通过本发明实施例提供的技术方案,监测虚拟角色在虚拟场景中的坐标;在虚拟角色处于第一预设坐标的情况下,启动第一控件,获取第一控件对应的第一激活指令,执行第一激活指令对应的第一虚拟操作;在虚拟角色处于第二预设坐标的情况下,启动第二控件,获取第二控件对应的第二激活指令,执行第二激活指令对应的第二虚拟操作。基于该技术方案,若第一预设坐标为水平坐标,第二预设坐标为垂直坐标,可以实现虚拟角色先后从飞行载具上跳下和打开降落伞,完成整个跳伞的模拟过程,实现了模拟真实跳伞的过程。
基于与上述各实施例相同的发明构思,本发明实施例还提供了一种机器可读存储介质,机器可读存储介质内存储有计算机程序,计算机程序被处理器执行时,实现上述虚拟角色控制方法的任一步骤。具体的,该虚拟角色控制方法包括如下步骤:
监测虚拟角色在虚拟场景中的坐标;
在虚拟角色处于第一预设坐标的情况下,启动第一控件,获取第一控件对应的第一激活指令,执行第一激活指令对应的第一虚拟操作;
在虚拟角色处于第二预设坐标的情况下,启动第二控件,获取第二控件对应的第二激活指令,执行第二激活指令对应的第二虚拟操作。
通过本发明实施例提供的技术方案,监测虚拟角色在虚拟场景中的坐标;在虚拟角色处于第一预设坐标的情况下,启动第一控件,获取第一控件对应的第一激活指令,执行第一激活指令对应的第一虚拟操作;在虚拟角色处于第二预设坐标的情况下,启动第二控件,获取第二控件对应的第二激活指令,执行第二激活指令对应的第二虚拟操作。基于该技术方案,若第一预设坐标为水平坐标,第二预设坐标为垂直坐标,可以实现虚拟角色先后从飞行载具上跳下和打开降落伞,完成整个跳伞的模拟过程,实现了模拟真实跳伞的过程。
基于与上述各实施例相同的发明构思,本发明实施例还提供了一种计算机程序,计算机程序被处理器执行时实现上述虚拟角色控制方法的任一步骤。具体的,该虚拟角色控制方法包括如下步骤:
监测虚拟角色在虚拟场景中的坐标;
在虚拟角色处于第一预设坐标的情况下,启动第一控件,获取第一控件对应的第一激活指令,执行第一激活指令对应的第一虚拟操作;
在虚拟角色处于第二预设坐标的情况下,启动第二控件,获取第二控件对应的第二激活指令,执行第二激活指令对应的第二虚拟操作。
通过本发明实施例提供的技术方案,监测虚拟角色在虚拟场景中的坐标;在虚拟角色处于第一预设坐标的情况下,启动第一控件,获取第一控件对应的第一激活指令,执行第一激活指令对应的第一虚拟操作;在虚拟角色处于第二预设坐标的情况下,启动第二控件,获取第二控件对应的第二激活指令,执行第二激活指令对应的第二虚拟操作。基于该技术方案,若第一预设坐标为水平坐标,第二预设坐标为垂直坐标,可以实现虚拟角色先后从飞行载具上跳下和打开降落伞,完成整个跳伞的模拟过程,实现了模拟真实跳伞的过程。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于上述虚拟角色控制装置、电子设备、可呈现图形用户界面的终端、虚拟角色控制系统、机器可读存储介质、计算机程序、包含指令的计算机程序产品实施例而言,由于其基本相似于图1-图15、图17的虚拟角色控制方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (18)

1.一种虚拟角色控制方法,其特征在于,应用于可呈现图形用户界面的终端,所述方法包括:
监测虚拟角色在虚拟场景中的坐标;
在所述虚拟角色处于第一预设坐标的情况下,启动第一控件,获取所述第一控件对应的第一激活指令,执行所述第一激活指令对应的第一虚拟操作;
在所述虚拟角色处于第二预设坐标的情况下,启动第二控件,获取所述第二控件对应的第二激活指令,执行所述第二激活指令对应的第二虚拟操作。
2.根据权利要求1所述的方法,其特征在于,所述在所述虚拟角色处于第一预设坐标的情况下,启动第一控件,获取所述第一控件对应的第一激活指令,执行所述第一激活指令对应的第一虚拟操作的步骤,包括:
在所述虚拟角色处于第一预设坐标的情况下,启动第一控件,以使所述第一控件控制在图形用户界面中显示第一按钮;
获取用户对所述第一按钮的操作;
根据用户对所述第一按钮的操作,生成所述第一控件对应的第一激活指令;
触发所述第一控件执行所述第一激活指令对应的第一虚拟操作。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述虚拟角色处于第三预设坐标的情况下,若未获取到用户对所述第一按钮的操作,则生成所述第一控件对应的第一激活指令;
触发所述第一控件执行所述第一激活指令对应的所述第一虚拟操作。
4.根据权利要求3所述的方法,其特征在于,所述监测虚拟角色在虚拟场景中的坐标的步骤,包括:
监测虚拟角色在虚拟场景中的目标路线上的坐标;所述目标路线为:从预设的多条路线中随机地选择一条路线,所述目标路线中包括所述第一预设坐标和所述第三预设坐标。
5.根据权利要求1所述的方法,其特征在于,所述在所述虚拟角色处于第二预设坐标的情况下,启动第二控件,获取所述第二控件对应的第二激活指令,执行所述第二激活指令对应的第二虚拟操作的步骤,包括:
在所述虚拟角色处于第二预设坐标的情况下,启动第二控件,以使所述第二控件控制在图形用户界面中显示第二按钮;
获取用户对所述第二按钮的操作;
根据用户对所述第二按钮的操作,生成所述第二控件对应的第二激活指令;
触发所述第二控件执行所述第二激活指令对应的第二虚拟操作。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述虚拟角色处于第四预设坐标的情况下,若未获取用户对所述第二按钮的操作,则生成所述第一控件对应的第一激活指令;
触发所述第二控件执行所述第二激活指令对应的所述第二虚拟操作。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
在获取所述第一控件对应的第一激活指令之后,关闭所述第一控件;和/或
在获取所述第二控件对应的第二激活指令之后,关闭所述第二控件。
8.根据权利要求1所述的方法,其特征在于,所述第一虚拟操作为:控制所述虚拟角色脱离飞行载具下落;所述第二虚拟操作为:控制所述虚拟角色打开降落伞;
所述方法还包括:在所述虚拟角色与地面的距离小于等于预设距离阈值情况下,播放落地画面。
9.根据权利要求1或8所述的方法,其特征在于,所述终端的图形用户界面中显示有运动状态信息;
所述运动状态信息包括:所述虚拟角色的高度坐标、所述虚拟角色下降的速度、所述第二预设坐标、所述虚拟角色运动的预计时长、所述虚拟角色运动的已耗费时长、所述虚拟角色运动的剩余时长中的一种或多种。
10.根据权利要求1所述的方法,其特征在于,所述终端的图形用户界面中显示有第三按钮;所述方法还包括:
获取用户对所述第三按钮的操作;
根据用户对所述第三按钮的操作,生成所述第三控件对应的第三激活指令;
触发所述第三控件执行所述第三激活指令对应的第三虚拟操作。
11.根据权利要求10所述的方法,其特征在于,所述第三虚拟操作为:对所述第一控件和所述第二控件执行停止操作,确定所述虚拟角色的可降落区域,获取所述虚拟角色在所述可降落区域中的降落地点,控制所述虚拟角色在所述降落地点落地;
所述停止操作为:关闭或拒绝开启所述第一控件和所述第二控件。
12.根据权利要求1所述的方法,其特征在于,所述虚拟场景中包括所述终端上的所述虚拟角色和至少一个其他终端上的其他虚拟角色;所述方法还包括:
在确定所述其他终端在执行所述第一虚拟操作的情况下,生成所述第一控件对应的第四激活指令;
触发所述第一控件执行所述第四激活指令对应的第四虚拟操作。
13.根据权利要求12所述的方法,其特征在于,所述第四虚拟操作为:控制所述其他虚拟角色脱离飞行载具下落;或控制所述其他虚拟角色和所述虚拟角色脱离所述飞行载具下落。
14.一种虚拟角色控制装置,其特征在于,应用于可呈现图形用户界面的终端,所述装置包括:
监测单元,用于监测虚拟角色在虚拟场景中的坐标;
第一执行单元,用于在所述虚拟角色处于第一预设坐标的情况下,启动第一控件,获取所述第一控件对应的第一激活指令,执行所述第一激活指令对应的第一虚拟操作;
第二执行单元,用于在所述虚拟角色处于第二预设坐标的情况下,启动第二控件,获取所述第二控件对应的第二激活指令,执行所述第二激活指令对应的第二虚拟操作。
15.一种可呈现图形用户界面的终端,其特征在于,包括处理器和存储器;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现权利要求1-13任一所述的方法步骤。
16.根据权利要求15所述的终端,其特征在于,所述终端为多点触控终端,所述终端的图形用户界面上设置有多个按钮;所述按钮在所述图形用户界面的位置与以下至少任一项相适应:
所述图形用户界面的尺寸属性;
所述用户握持所述终端的状态属性;
所述图形用户界面的当前应用场景信息。
17.一种虚拟角色控制系统,其特征在于,所述系统包括可呈现图形用户界面的终端和服务器;
所述终端,用于向所述服务器发送加入指令;
所述服务器用于根据所述加入指令,向所述终端发送开始指令;
所述终端,还用于根据所述开始指令,监测虚拟角色在虚拟场景中的坐标;在所述虚拟角色处于第一预设坐标的情况下,启动第一控件,获取所述第一控件对应的第一激活指令,执行所述第一激活指令对应的第一虚拟操作;在所述虚拟角色处于第二预设坐标的情况下,启动第二控件,获取所述第二控件对应的第二激活指令,执行所述第二激活指令对应的第二虚拟操作。
18.一种机器可读存储介质,其特征在于,所述机器可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-13任一所述的方法步骤。
CN201811184595.5A 2017-12-15 2018-10-11 虚拟角色控制方法、装置、终端、系统及介质 Pending CN109364475A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711347540 2017-12-15
CN2017113475407 2017-12-15

Publications (1)

Publication Number Publication Date
CN109364475A true CN109364475A (zh) 2019-02-22

Family

ID=65403654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811184595.5A Pending CN109364475A (zh) 2017-12-15 2018-10-11 虚拟角色控制方法、装置、终端、系统及介质

Country Status (1)

Country Link
CN (1) CN109364475A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109847369A (zh) * 2019-03-18 2019-06-07 网易(杭州)网络有限公司 游戏中虚拟角色的姿势切换方法和装置
CN110152295A (zh) * 2019-05-21 2019-08-23 网易(杭州)网络有限公司 虚拟对象的控制方法及装置、存储介质及电子设备
CN110339564A (zh) * 2019-08-16 2019-10-18 腾讯科技(深圳)有限公司 虚拟环境中的虚拟对象显示方法、装置、终端及存储介质
CN110585708A (zh) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 虚拟环境中从飞行器着陆的方法、装置及可读存储介质
CN110882543A (zh) * 2019-11-26 2020-03-17 腾讯科技(深圳)有限公司 控制虚拟环境中虚拟对象下落的方法、装置及终端
CN111111186A (zh) * 2019-12-26 2020-05-08 珠海金山网络游戏科技有限公司 一种虚拟角色登顶方法及装置
CN111111192A (zh) * 2019-12-27 2020-05-08 珠海金山网络游戏科技有限公司 一种游戏角色的移动方法及装置
CN111185005A (zh) * 2019-12-31 2020-05-22 网易(杭州)网络有限公司 跳伞信息提示方法、终端设备、电子设备及可读存储介质
CN111298440A (zh) * 2020-01-20 2020-06-19 腾讯科技(深圳)有限公司 虚拟环境中的虚拟角色控制方法、装置、设备及介质
CN111603766A (zh) * 2020-06-29 2020-09-01 上海完美时空软件有限公司 虚拟载具的控制方法及装置、存储介质、电子装置
CN112076467A (zh) * 2020-09-17 2020-12-15 腾讯科技(深圳)有限公司 控制虚拟对象使用虚拟道具的方法、装置、终端及介质
CN112416196A (zh) * 2020-11-19 2021-02-26 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、设备及计算机可读存储介质
CN112619145A (zh) * 2020-12-30 2021-04-09 完美世界(重庆)互动科技有限公司 虚拟角色的控制方法及装置、存储介质、电子装置
WO2023241203A1 (zh) * 2022-06-17 2023-12-21 腾讯科技(深圳)有限公司 三维虚拟环境中的指引方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140235321A1 (en) * 2009-09-10 2014-08-21 Universal Entertainment Corporation Gaming machine and control method thereof
CN108579087A (zh) * 2018-04-10 2018-09-28 网易(杭州)网络有限公司 一种游戏角色的控制方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140235321A1 (en) * 2009-09-10 2014-08-21 Universal Entertainment Corporation Gaming machine and control method thereof
CN108579087A (zh) * 2018-04-10 2018-09-28 网易(杭州)网络有限公司 一种游戏角色的控制方法及装置

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
T结衣Z: "《在吃鸡中就是不跳伞会怎么样》", 《HTTPS://WWW.BILIBILI.COM/VIDEO/AV26090997》 *
喂6399游戏网: "《荒野行动双人跳伞功能取消方法,荒野行动双人跳伞怎么分开跳》", 《HTTPS://M.SOHU.COM/A/209197726_100033043》 *
小K: "《荒野行动跳伞按什么键,开伞按键操作说明》", 《HTTPS://M.18183.COM/HYXD/201711/968363.HTML》 *
小皮网: "《荒野行动开局怎么跳伞,荒野行动开局跳伞经验分享》", 《HTTPS://M.XIAOPI.COM/SJ/HYXD/97468.HTML》 *
缘小羽: "《荒野行动怎么跳伞,跳那里好》", 《HTTPS://JINGYAN.BAIDU.COM/ARTICLE/25648FC16F33929191FD0003.HTML》 *
账房公子: "《绝地求生全军出击新版本如何跳伞跟随队友》", 《HTTPS://JINGYAN.BAIDU.COM/ARTICLE/B7001FE1DB4A320E7282DDE4.HTML》 *
阿晰: "《吃鸡最快跳伞攻略》", 《HTTPS://JINGYAN.BAIDU.COM/ARTICLE/B87FE19E56D3575219356875.HTML》 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109847369A (zh) * 2019-03-18 2019-06-07 网易(杭州)网络有限公司 游戏中虚拟角色的姿势切换方法和装置
CN109847369B (zh) * 2019-03-18 2023-05-16 网易(杭州)网络有限公司 游戏中虚拟角色的姿势切换方法和装置
CN110152295A (zh) * 2019-05-21 2019-08-23 网易(杭州)网络有限公司 虚拟对象的控制方法及装置、存储介质及电子设备
CN110152295B (zh) * 2019-05-21 2023-09-26 网易(杭州)网络有限公司 虚拟对象的控制方法及装置、存储介质及电子设备
CN110339564A (zh) * 2019-08-16 2019-10-18 腾讯科技(深圳)有限公司 虚拟环境中的虚拟对象显示方法、装置、终端及存储介质
CN110585708A (zh) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 虚拟环境中从飞行器着陆的方法、装置及可读存储介质
CN110882543B (zh) * 2019-11-26 2022-05-17 腾讯科技(深圳)有限公司 控制虚拟环境中虚拟对象下落的方法、装置及终端
CN110882543A (zh) * 2019-11-26 2020-03-17 腾讯科技(深圳)有限公司 控制虚拟环境中虚拟对象下落的方法、装置及终端
CN111111186A (zh) * 2019-12-26 2020-05-08 珠海金山网络游戏科技有限公司 一种虚拟角色登顶方法及装置
CN111111186B (zh) * 2019-12-26 2023-08-18 珠海金山数字网络科技有限公司 一种虚拟角色登顶方法及装置
CN111111192B (zh) * 2019-12-27 2024-03-26 珠海金山数字网络科技有限公司 一种游戏角色的移动方法及装置
CN111111192A (zh) * 2019-12-27 2020-05-08 珠海金山网络游戏科技有限公司 一种游戏角色的移动方法及装置
CN111185005A (zh) * 2019-12-31 2020-05-22 网易(杭州)网络有限公司 跳伞信息提示方法、终端设备、电子设备及可读存储介质
CN111185005B (zh) * 2019-12-31 2023-09-26 网易(杭州)网络有限公司 跳伞信息提示方法、终端设备、电子设备及可读存储介质
CN111298440A (zh) * 2020-01-20 2020-06-19 腾讯科技(深圳)有限公司 虚拟环境中的虚拟角色控制方法、装置、设备及介质
CN111603766A (zh) * 2020-06-29 2020-09-01 上海完美时空软件有限公司 虚拟载具的控制方法及装置、存储介质、电子装置
CN111603766B (zh) * 2020-06-29 2024-01-09 上海完美时空软件有限公司 虚拟载具的控制方法及装置、存储介质、电子装置
CN112076467B (zh) * 2020-09-17 2023-03-10 腾讯科技(深圳)有限公司 控制虚拟对象使用虚拟道具的方法、装置、终端及介质
CN112076467A (zh) * 2020-09-17 2020-12-15 腾讯科技(深圳)有限公司 控制虚拟对象使用虚拟道具的方法、装置、终端及介质
CN112416196A (zh) * 2020-11-19 2021-02-26 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、设备及计算机可读存储介质
CN112619145A (zh) * 2020-12-30 2021-04-09 完美世界(重庆)互动科技有限公司 虚拟角色的控制方法及装置、存储介质、电子装置
WO2023241203A1 (zh) * 2022-06-17 2023-12-21 腾讯科技(深圳)有限公司 三维虚拟环境中的指引方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN109364475A (zh) 虚拟角色控制方法、装置、终端、系统及介质
CN110507994B (zh) 控制虚拟飞行器飞行的方法、装置、设备及存储介质
WO2019196568A1 (zh) 一种游戏角色的控制方法及装置、电子设备和可读介质
JP2021523446A (ja) 仮想オブジェクトの落下制御方法、装置、電子機器、記憶媒体及びコンピュータプログラム
CN106664401A (zh) 用于在与内容交互时向用户提供反馈的系统和方法
CN108245887A (zh) 虚拟对象控制方法、装置、电子装置及存储介质
JPH06507736A (ja) ヘリコプタのフライト・シミュレータ
US20170354887A1 (en) Systems & methods for parachute flight simulation
KR20170048944A (ko) 가상현실기반 스카이다이빙 체감 시뮬레이터 시스템
EP2064697A2 (en) Photographic mapping in a simulation
JP2016539668A (ja) 拡張現実装置、方法およびプログラム
US20120238365A1 (en) Video game hardware systems and software methods using physical objects for immersive interactions with video games
JP2023548941A (ja) ゲームのキャラクターのジャンプの制御方法、ゲームのキャラクターのジャンプの制御装置、端末設備、記憶媒体およびプログラム製品
CN110559653A (zh) 虚拟飞行器的控制方法、装置、终端及存储介质
CN110711388B (zh) 虚拟对象控制方法、装置及存储介质
CN113694526B (zh) 虚拟对象的控制方法、系统、装置、设备、介质及程序
KR101131097B1 (ko) 지리정보를 이용한 4d 기반의 체험형 패러글라이딩 시뮬레이션 게임 시스템 및 방법
CN110585708B (zh) 虚拟环境中从飞行器着陆的方法、装置及可读存储介质
US10307679B2 (en) Non transitory computer-readable storage medium and method of controlling a computer
US20230351717A1 (en) Graphic display method and apparatus based on virtual scene, device and medium
CN112090067A (zh) 虚拟载具的控制方法、装置、设备及计算机可读存储介质
JP2020163210A (ja) 情報処理方法、装置、及び当該情報処理方法をコンピュータに実行させるためのプログラム
CN104225912B (zh) 一种具有多种体感效果的游戏机
CN114404938B (zh) 一种虚拟现实方法
CN113274724B (zh) 虚拟对象的控制方法、装置、设备及计算机可读存储介质

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