CN117482503A - 竞速虚拟环境的生成方法、装置、设备及介质 - Google Patents
竞速虚拟环境的生成方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117482503A CN117482503A CN202311511784.XA CN202311511784A CN117482503A CN 117482503 A CN117482503 A CN 117482503A CN 202311511784 A CN202311511784 A CN 202311511784A CN 117482503 A CN117482503 A CN 117482503A
- Authority
- CN
- China
- Prior art keywords
- track
- point
- road network
- custom
- virtual
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 230000004044 response Effects 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 13
- 230000002457 bidirectional effect Effects 0.000 claims description 10
- 230000003993 interaction Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 13
- 238000012876 topography Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000004576 sand Substances 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000005452 bending Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
- A63F13/537—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
- A63F13/5378—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for displaying an additional top view, e.g. radar screens or maps
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/803—Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/80—Features 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/8017—Driving on land or water; Flying
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种竞速虚拟环境的生成方法、装置、设备及介质,属于人机交互领域。所述方法包括:显示出开放虚拟环境的世界地图;响应于世界地图接收到赛道起点的自定义操作和赛道终点的自定义操作,基于赛道起点、赛道终点、以及世界地图中位于赛道起点和赛道终点之间的道路,创建自定义虚拟赛道;以开放虚拟环境中的虚拟环境为背景,以自定义虚拟赛道为竞速赛道,生成用于多个虚拟对象进行竞速比赛的竞速虚拟环境。本申请提供了一种竞速虚拟环境的生成方式,用户仅通过简单的赛道起点和赛道终点的自定义操作,即可创建出竞速虚拟环境。
Description
技术领域
本申请实施例涉及人机交互领域,特别涉及一种竞速虚拟环境的生成方法、装置、设备及介质。
背景技术
游戏领域中存在赛车竞速游戏。在赛车竞速游戏中,玩家控制各自的虚拟赛车在虚拟赛道上展开竞速,最先到达终点的虚拟赛车取得胜利。
相关技术中,用于展开竞速的虚拟赛道是游戏中的赛道***预先设定的,例如预先设定有城市赛道、海湾赛道、沙漠赛道等等。
相关技术中的虚拟赛道种类较少且形式单一。
发明内容
本申请提供了一种竞速虚拟环境的生成方法、装置、设备及介质,提供了一种竞速虚拟环境的生成方式,用户仅通过简单的操作即可自定义出竞速虚拟环境。所述技术方案如下:
根据本申请的一方面,提供了一种竞速虚拟环境的生成方法,所述方法包括:
显示出开放虚拟环境的世界地图;
响应于世界地图接收到赛道起点的自定义操作和赛道终点的自定义操作,基于赛道起点、赛道终点、以及世界地图中位于赛道起点和赛道终点之间的道路,创建自定义虚拟赛道;
以开放虚拟环境中的虚拟环境为背景,以自定义虚拟赛道为竞速赛道,生成用于多个虚拟对象进行竞速比赛的竞速虚拟环境。
根据本申请的一方面,提供了一种竞速虚拟环境的生成装置,所述装置包括:
显示模块,用于显示出开放虚拟环境的世界地图;
创建模块,用于响应于世界地图接收到赛道起点的自定义操作和赛道终点的自定义操作,基于赛道起点、赛道终点、以及世界地图中位于赛道起点和赛道终点之间的道路,创建自定义虚拟赛道;
创建模块,还用于以开放虚拟环境中的虚拟环境为背景,以自定义虚拟赛道为竞速赛道,生成用于多个虚拟对象进行竞速比赛的竞速虚拟环境。
在一个可选的实施例中,创建模块,包括显示子模块和创建子模块。显示子模块,用于响应于世界地图接收到赛道起点的自定义操作,显示出路网赛道起点,路网赛道起点是位于世界地图覆盖的导航路网上的起点。
显示子模块,还用于响应于世界地图接收到赛道终点的自定义操作,显示出自定义赛道终点,自定义赛道终点是位于世界地图的范围内的终点;
创建子模块,用于基于路网赛道起点、自定义赛道终点,以及世界地图中位于路网赛道起点和自定义赛道终点之间的道路,创建自定义虚拟赛道。
在一个可选的实施例中,显示子模块,用于响应于世界地图接收到赛道起点的自定义操作,确定出自定义赛道起点,自定义赛道起点是位于世界地图的范围内的起点;基于自定义赛道起点,结合导航路网的分布情况,确定出路网赛道起点,以及,显示出路网赛道起点。
在一个可选的实施例中,显示子模块,用于将世界地图上主控虚拟对象的当前所处位置,确定为自定义赛道起点,主控虚拟对象是当前登录的用户帐号控制的虚拟对象。
在一个可选的实施例中,显示子模块,用于在导航路网上确定出与自定义赛道起点距离最近的路网点位;以路网点位为延伸起始点,沿路网点位的所在道路进行双向延伸;在路网点位的道路两侧中存在至少一侧为直道的情况下,确定路网点位为路网赛道起点。
在一个可选的实施例中,显示子模块,还用于在导航路网上确定出与自定义赛道起点距离最近的路网点位;以路网点位为延伸起始点,沿路网点位的所在道路进行双向延伸;在路网点位的道路两侧均不是直道的情况下,继续进行双向延伸,将通过最短延伸距离确定出的直道的端点确定为路网赛道起点。
在一个可选的实施例中,显示子模块,还用于响应于世界地图接收到点击操作,基于被点击的触发点,确定得到自定义赛道终点,以及显示出自定义赛道终点。
在一个可选的实施例中,显示子模块,还用于响应于世界地图接收到点击操作,确定出被点击的触发点;在触发点不位于导航路网上且处于可抵达位置的情况下,将触发点确定为自定义赛道终点。
在一个可选的实施例中,显示子模块,还用于响应于世界地图接收到点击操作,确定出被点击的触发点;在触发点不位于导航路网上且处于不可抵达位置的情况下,确定出距离触发点最近的可抵达点位;将可抵达点位确定为自定义赛道终点。
在一个可选的实施例中,创建子模块,用于在导航路网上确定出距离自定义赛道终点最近的路网点,作为路网赛道终点;根据路网赛道起点、路网赛道终点,以及导航路网上位于路网赛道起点和路网赛道终点之间的道路,生成自定义虚拟赛道的部分赛道;以及,根据路网赛道终点、自定义赛道终点,以及世界地图中位于路网赛道终点和自定义赛道终点之间的道路,生成自定义虚拟赛道的另一部分赛道。
在一个可选的实施例中,创建模块,还用于在创建自定义虚拟赛道的过程中,以路网赛道起点为延伸起始点,沿道路双向延伸第一预设距离;基于双向各自对应的第一预设距离内弯道的存在情况,确定出双向中的一个方向作为自定义虚拟赛道的赛道方向。
在一个可选的实施例中,创建模块,还用于在双向各自对应的第一预设距离内均存在弯道的情况下,随机选择一个方向确定为自定义虚拟赛道的赛道方向;
在仅存在单一方向对应的第一预设距离内存在弯道的情况下,将单一方向确定为自定义虚拟赛道的赛道方向;
在双向各自对应的第一预设距离内均不存在弯道的情况下,选择出现弯道的距离最短的方向作为自定义虚拟赛道的赛道方向。
在一个可选的实施例中,创建模块,还用于在创建自定义虚拟赛道的过程中,在路口前的直道长度大于第二预设距离的情况下,选取路口的任一出口方向继续创建自定义虚拟赛道。
在一个可选的实施例中,创建模块,还用于在创建自定义虚拟赛道的过程中,在路口前的直道长度不大于第二预设距离的情况下,选取转向角度最小的方向继续创建自定义虚拟赛道。
在一个可选的实施例中,显示模块,还用于显示出自定义虚拟赛道上的多个路网节点,多个路网节点包括路网赛道起点、至少一个路网中间节点和路网赛道终点;
创建模块,还用于响应于第一路网中间节点接收到位置调整操作,调整第一路网中间节点的两侧分别对应的相邻节点之间的赛道,得到调整后的自定义虚拟赛道;其中,第一路网中间节点是至少一个路网中间节点中的任意一个路网中间节点。
根据本申请的一个方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上所述的竞速虚拟环境的生成方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序由处理器加载并执行以实现如上所述的竞速虚拟环境的生成方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的竞速虚拟环境的生成方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请通过在世界地图上接收赛道起点和赛道终点的自定义操作,基于赛道起点和赛道终点,以及位于世界地图上赛道起点和赛道终点之间的道路,生成自定义虚拟赛道。以开放虚拟环境中的虚拟环境为背景,以自定义虚拟赛道为竞速赛道,生成用于多个虚拟对象进行竞速比赛的竞速虚拟环境。
本申请提供了一种竞速虚拟环境的自定义方式,实现了“所见即所得”的效果,用户可以先观察世界地图,从世界地图中丰富的地形地貌中截取出期望的赛道路线以及竞速比赛时的背景虚拟环境。本申请的自定义方式,不仅降低了用户创建虚拟赛道的操作难度和学习成本,还可创建种类十分丰富的竞速虚拟环境。
并且,相关技术提供有多个赛道模组(如弯道模组、直道模组等),通过赛道模组进行拼接,创建出虚拟赛道。相比于相关技术,本申请自定义时利用的世界地图和开放虚拟环境的相关资源均为已有资源,本申请的自定义方式仅是从中截取出部分路线和部分虚拟环境,并不需要额外的赛道模组,因此,本申请的自定义方式提高了世界地图和开放虚拟环境的相关资源的利用率,生成竞速虚拟环境时不会造成过多的性能开销。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一个示例性实施例提供的竞速虚拟环境的生成过程的示意图;
图2示出了一个示例性实施例提供的竞速虚拟环境的生成方法的流程图;
图3示出了另一个示例性实施例提供的竞速虚拟环境的生成方法的示意图;
图4示出了一个示例性实施例提供的竞速虚拟环境的生成方法的示意图;
图5示出了另一个示例性实施例提供的竞速虚拟环境的生成方法的示意图;
图6示出了另一个示例性实施例提供的竞速虚拟环境的生成方法的示意图;
图7示出了一个示例性实施例提供的出发位置的生成方法的示意图;
图8示出了一个示例性实施例提供的竞速虚拟环境的生成方法的流程图;
图9示出了另一个示例性实施例提供的竞速虚拟环境的生成方法的示意图;
图10示出了另一个示例性实施例提供的竞速虚拟环境的生成方法的流程图;
图11示出了一个示例性实施例提供的竞速虚拟环境的生成装置的结构框图;
图12示出了一个示例性实施例提供的计算机设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
首先,对本申请实施例中涉及的名词进行简单介绍:
开放虚拟环境:是开放世界的游戏应用程序在终端上运行时显示(或提供)的虚拟环境。开放虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,还可以是纯虚构的环境。开放虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种,本申请实施例对此不加以限定。下述实施例以开放虚拟环境是三维虚拟环境来举例说明。
可选的,开放虚拟环境可以提供虚拟对象的竞技环境。示例性的,在开放世界游戏中,玩家可自由地控制的虚拟对象在虚拟环境中漫游,并可自由选择完成游戏任务的时间点和方式,在漫游的过程中,玩家控制的虚拟对象在虚拟环境中将不断地与非玩家角色和其他玩家控制的虚拟对象产生交互。
虚拟对象:是指虚拟环境中的可活动对象。该可活动对象可以是虚拟赛车、虚拟人物、虚拟动物、动漫人物等,比如:在开放虚拟环境中显示的赛车、人物、动物。可选地,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。
本申请提供了一种竞速虚拟环境的生成方法。具体的,响应于开放虚拟环境的世界地图接收到赛道起点和赛道终点的自定义操作,基于赛道起点、赛道终点,以及世界地图中位于赛道起点和赛道终点之间的道路,创建自定义虚拟赛道。以开放虚拟环境中的虚拟环境为背景,以自定义虚拟赛道为竞速赛道,生成用于多个虚拟对象进行竞速比赛的竞速虚拟环境。
图1示出了一个示例性实施例提供的竞速虚拟环境的生成过程的示意图。
图1的(A)部分示出了自定义虚拟赛道的创建入口界面,响应于确定控件101接收到触发操作,确认开始创建自定义虚拟赛道。
图1的(B)部分示出了开放虚拟环境的世界地图102,世界地图102上示出了赛道起点103。可选的,赛道起点103是基于主控虚拟对象的当前所处位置确定得到的,主控虚拟对象是当前登录的用户帐号控制的虚拟对象。
示意性的,用户帐号控制主控虚拟赛车在开放虚拟环境中漫游,此时,用户帐号开始创建自定义虚拟赛道,自定义虚拟赛道的起点将基于主控虚拟赛车在开放虚拟环境中的当前位置确定得到。
在一个实施例中,响应于世界地图102接收到点击操作,画面变换为图1的(C)部分所示。图1的(C)部分示出了赛道终点104。图1的(C)部分还示出了基于赛道起点103、赛道终点104,以及世界地图中位于赛道起点103和赛道终点104之间的道路生成的自定义虚拟赛道(加粗黑线)。进一步的,本申请还以开放虚拟环境中的虚拟环境为背景,以自定义虚拟赛道为竞速赛道,生成用于多个虚拟对象进行竞速比赛的竞速虚拟环境。
在一个实施例中,创建得到的自定义虚拟赛道将主要包括导航路网上的路段。世界地图102覆盖有导航路网,导航路网包括世界地图中的主要交通线路。
在一个实施例中,赛道起点103为导航路网上的路网点位,赛道起点103称为路网赛道起点,示意性的,获取主控虚拟对象在开放地图上的位置,在导航路网上将与主控虚拟对象的当前位置最近的路网点位确定为路网赛道起点。
可选的,路网赛道起点位于直道上。示意性的,获取主控虚拟对象在开放地图中的位置坐标,在导航路网上确定出与主控虚拟对象的当前位置坐标最近的路网点位,以路网点位为延伸起始点,沿路网点位的所在道路进行双向延伸;在路网点位的道路两侧中存在至少一侧为直道的情况下,确定路网点位为路网赛道起点;在路网点位的道路两侧均不是直道的情况下,继续进行双向延伸,将通过最短延伸距离确定出的直道的端点确定为路网赛道起点。通过上述方式确定出的路网赛道起点,保证了竞速开始阶段多个虚拟对象将在直道上展开竞速。
可选的,确定出路网赛道起点之后,还需要确定自定义虚拟赛道的赛道方向。示意性的,以路网赛道起点为延伸点,沿道路双向延伸第一预设距离。在双向各自对应的第一预设距离内均存在弯道的情况下,随机选择一个方向确定为赛道方向;在仅存在单一方向对应的第一预设距离内存在弯道的情况下,将单一方向确定为赛道方向。在双向各自对应的第一预设距离内均不存在弯道的情况下,选择出现弯道的距离最短的方向作为赛道方向。这种方式避免了竞速开始阶段,多个虚拟对象长时间在直道上竞速,可以尽快入弯,丰富了玩家的体验。
在一个实施例中,赛道终点104为世界地图范围内的点位,赛道终点104称为自定义赛道终点。示意性的,接收用户帐号在世界地图范围内的点击操作,基于被点击的触发点确定出自定义赛道终点。
示意性的,接收点击操作,在被点击的触发点不位于导航路网上且位于不可抵达位置的情况下,将确定出距离触发点最近的可抵达点位,将可抵达点位作为自定义赛道终点。可选的,不可抵达位置包括湖泊、海洋、沙地、沼泽等位置。
在一个实施例中,创建自定义虚拟赛道时,先在导航路网上确定出距离自定义赛道终点最近的路网点,得到路网赛道终点。根据导航路网上位于路网赛道起点和路网赛道终点之间的道路,生成一部分赛道。根据世界地图上位于路网赛道终点和自定义赛道终点之间的道路,生成另一部分赛道。
示意性的,在被点击的触发点不位于导航路网上且位于可抵达位置的情况下,将触发点作为自定义赛道终点。示意性的,在被点击的触发点不位于导航路网上且位于不可抵达位置的情况下,将确定出距离触发点最近的可抵达点位,将可抵达点位作为自定义赛道终点。
综上所述,本申请通过在世界地图上接收赛道起点和赛道终点的自定义操作,基于赛道起点和赛道终点,以及位于世界地图上赛道起点和赛道终点之间的道路,生成自定义虚拟赛道。以开放虚拟环境中的虚拟环境为背景,以自定义虚拟赛道为竞速赛道,生成用于多个虚拟对象进行竞速比赛的竞速虚拟环境。
本申请提供了一种竞速虚拟环境的自定义方式,实现了“所见即所得”的效果,用户可以先观察世界地图,从世界地图中丰富的地形地貌中截取出期望的赛道路线以及竞速比赛时的背景虚拟环境。本申请的自定义方式,不仅降低了用户创建虚拟赛道的操作难度和学习成本,还可创建种类十分丰富的竞速虚拟环境。
并且,相关技术中,通过提供多个赛道模组(如弯道模组、直道模组等),对选中的赛道模组进行拼接,创建出虚拟赛道。相比于相关技术,本申请自定义时利用的世界地图和开放虚拟环境的相关资源均为已有资源,本申请的自定义方式仅是从中截取出部分路线和部分虚拟环境,并不需要额外的赛道模组,因此,本申请的自定义方式提高了世界地图和开放虚拟环境的相关资源的利用率,生成竞速虚拟环境时不会造成过多的性能开销。
图1示出的虚拟赛道的生成过程由计算机设备。计算机设备包括终端设备和服务器中的至少一种。
在一个实施例中,终端设备安装和运行有支持开放虚拟环境的应用程序。该应用程序可以是赛车竞速类游戏、角色竞速类游戏、MMOG(Massively Multip layer OnlineGame,大型多人在线游戏)、RPG(Role-Playing Game,角色扮演游戏)游戏、三维地图程序、虚拟现实(Virtual Reality,VR)应用程序、增强现实(Augmented Reality,AR)程序中的任意一种。终端设备是用户使用的终端,用户通过终端设备控制位于开放虚拟环境中的虚拟对象进行活动,若虚拟对象为虚拟赛车,则该活动包括但不限于:朝各个方位移动、加速前进、减速前进、喷射前进等等。若虚拟对象为虚拟角色,则该活动包括但不限于:调整身体姿态、行走、奔跑、跳跃、骑行、驾驶、瞄准、拾取、使用投掷类道具、攻击其他虚拟对象中的至少一种。示例性的,虚拟角色是虚拟人物,比如仿真人物角色或动漫人物角色。可选的,终端设备还连接有外部连接设备,例如:鼠标、键盘、手柄、音响、VR/AR眼镜、VR/AR头盔等。用户通过外部连接设备与终端设备进行数据交互,从而控制虚拟对象在开放虚拟环境中活动。
终端设备通过无线网络或有线网络与服务器相连。
服务器包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。示例性的,服务器包括处理器和存储器,存储器又包括接收模块、控制模块和发送模块,接收模块用于接收客户端发送的请求,如组队请求;控制模块用于控制虚拟环境画面的渲染;发送模块用于向客户端发送响应,如向客户端发送组队成功的提示信息。服务器用于为支持三维虚拟环境的应用程序提供后台服务。可选地,服务器承担主要计算工作,终端设备承担次要计算工作;或者,服务器承担次要计算工作,终端设备承担主要计算工作;或者,服务器和终端设备之间采用分布式计算架构进行协同计算。
可选的,终端设备上安装的应用程序是不同操作***平台(Windows、Mac、Linux等)上的应用程序。终端设备可以泛指多个终端中的一个,本实施例仅以终端设备来举例说明。终端设备的设备类型包括:台式计算机、膝上型便携计算机、智能手机、智能电视、可穿戴设备、平板电脑、车载终端、电子书阅读器、MP3播放器和MP4播放器中的至少一种。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
并且,涉及到相关信息的,相关信息处理者会遵循合法、正当、必要的原则,明确相关信息处理的目的、方式和范围,获得相关信息主体的同意,并采取必要的技术和组织措施,保障相关信息的安全。
图2示出了本申请一个示例性实施例提供的竞速虚拟环境的生成方法的流程图,以该方法由计算机设备执行进行举例说明,该方法包括:
步骤220,显示出开放虚拟环境的世界地图;
开放虚拟环境,即开放世界游戏的虚拟环境。玩家控制的虚拟对象可以在开放虚拟环境中进行活动。以开放世界游戏为赛车类游戏为例,玩家可控制虚拟赛车在开放虚拟环境中漫游,在漫游过程中与其他玩家控制的虚拟赛车进行交互。以开放世界游戏为射击类游戏为例,玩家可控制虚拟对象在开放虚拟环境中与其他玩家控制的虚拟对象展开射击对抗,以取得游戏胜利。
世界地图,用于指示开放虚拟环境整体的地形地貌。开放虚拟环境中存在各种地形,如平原、山川、湖泊、草地、沙地等等,世界地图中将显示出各种地形。可选的,世界地图是开放虚拟环境的完整地图或部分地图。
在一个实施例中,响应于接收到确认开始自定义赛道的操作,计算机设备显示出开放虚拟环境的世界地图。在一个实施例中,响应于接收到打开世界地图的操作,计算机设备显示出开放虚拟环境的世界地图,世界地图上存在创建赛道按钮,响应于创建赛道按钮接收到触发操作,进入自定义创建赛道模式。
步骤240,响应于世界地图接收到赛道起点的自定义操作和赛道终点的自定义操作,基于赛道起点、赛道终点、以及世界地图中位于赛道起点和赛道终点之间的道路,创建自定义虚拟赛道;
在本申请实施例中,赛道起点和赛道终点是通过用户的自定义操作确定得到的,进而通过赛道起点、赛道终点,以及世界地图中位于赛道起点和赛道终点之间的道路,创建自定义虚拟赛道。
在一个实施例中,赛道起点的自定义操作包括如下几种:
可选的,基于世界地图上主控虚拟对象的当前所处位置,确定出赛道起点。例如,将主控虚拟对象的当前所处位置,确定为赛道起点。例如,在导航路网上确定出距离主控虚拟对象的当前所处位置最近的路网点位,作为赛道起点。
可选的,响应于世界地图接收到点击操作,基于被点击的触发点,确定出赛道起点。例如,将被点击的触发点确定为赛道起点。例如,在导航路网上确定出距离被点击的触发点最近的路网点位,作为赛道起点。
可选的,世界地图上显示出多个预设起点,响应于接收到起点选择操作,将从多个预设起点中选择出的点确定为赛道起点。
在一个实施例中,赛道终点的自定义操作包括如下几种:
可选的,将世界地图上推荐的终点确定为赛道终点。
可选的,响应于世界地图接收到点击操作,基于被点击的触发点,确定出赛道起点。例如,若被点击的触发点处于可抵达位置,将被点击的触发点确定为赛道终点。例如,若被点击的触发点处于不可抵达位置,确定出距离被点击的触发点最近的可抵达点位,将可抵达点位确定为赛道终点。
可选的,世界地图上显示出多个预设终点,响应于接收到终点选择操作,将从多个预设终点中选择出的点确定为赛道终点。
步骤260,以开放虚拟环境中的虚拟环境为背景,以自定义虚拟赛道为竞速赛道,生成用于多个虚拟对象进行竞速比赛的竞速虚拟环境。
在本申请实施例中,将在世界地图中截取得到自定义虚拟赛道,获取自定义虚拟赛道在开放虚拟环境中对应的虚拟环境作为背景虚拟环境,基于自定义虚拟赛道和背景虚拟环境,生成竞速比赛时的竞速虚拟环境。
综上所述,本申请通过在世界地图上接收赛道起点和赛道终点的自定义操作,基于赛道起点和赛道终点,以及位于世界地图上赛道起点和赛道终点之间的道路,生成自定义虚拟赛道。以开放虚拟环境中的虚拟环境为背景,以自定义虚拟赛道为竞速赛道,生成用于多个虚拟对象进行竞速比赛的竞速虚拟环境。
本申请提供了一种竞速虚拟环境的自定义方式,实现了“所见即所得”的效果,用户可以先观察世界地图,从世界地图中丰富的地形地貌中截取出期望的赛道路线以及竞速比赛时的背景虚拟环境。本申请的自定义方式,不仅降低了用户创建虚拟赛道的操作难度和学习成本,还可创建种类十分丰富的竞速虚拟环境。
并且,相关技术提供有多个赛道模组(如弯道模组、直道模组等),通过赛道模组进行拼接,创建出虚拟赛道。相比于相关技术,本申请自定义时利用的世界地图和开放虚拟环境的相关资源均为已有资源,本申请的自定义方式仅是从中截取出部分路线和部分虚拟环境,并不需要额外的赛道模组,因此,本申请的自定义方式提高了世界地图和开放虚拟环境的相关资源的利用率,生成竞速虚拟环境时不会造成过多的性能开销。
图3示出了本申请一个示例性实施例提供的竞速虚拟环境的生成方法的流程图,以该方法由计算机设备执行进行举例说明,该方法包括:
步骤310,显示出开放虚拟环境的世界地图;
开放虚拟环境,即开放世界游戏的虚拟环境,玩家控制的虚拟对象可以在开放虚拟环境中进行活动。以开放世界游戏为赛车类游戏为例,玩家可控制虚拟赛车在开放虚拟环境中漫游,在漫游过程中与其他玩家控制的虚拟赛车进行交互。
世界地图,用于指示开放虚拟环境整体的地形地貌。开放虚拟环境中存在各种地形,如平原、山川、湖泊、草地、沙地等等,世界地图中将显示出各种地形。
可选的,世界地图是开放虚拟环境的完整地图或部分地图。可选的,若仅为部分地图,则世界地图包含较为丰富的路网结构。
结合参考图4,图4的(A)部分示出了开放虚拟环境的世界地图401。
步骤320,响应于世界地图接收到赛道起点的自定义操作,显示出路网赛道起点,路网赛道起点是位于世界地图覆盖的导航路网上的起点;
世界地图上覆盖有导航路网,导航路网包括世界地图上的主要交通线路。在本申请实施例中,将根据路网赛道起点和自定义赛道终点生成自定义虚拟赛道。
路网赛道起点,指根据用户的自定义操作,在导航路网上确定出的起点。在一个实施例中,响应于世界地图接收到赛道起点的自定义操作,确定出自定义赛道起点,自定义赛道起点是位于世界地图的范围内的起点。获取到自定义赛道起点之后,将基于自定义赛道起点,结合导航路网的分布情况,确定出路网赛道起点,以及,显示出路网赛道起点。
示意性的,将世界地图上主控虚拟对象的当前所处位置,确定为自定义赛道起点。示意性的,接收用户帐号的点击操作,将被点击的触发点确定为自定义赛道起点,若被点击的触发点位于不可抵达位置时,将距离被点击的触发点最近的可抵达点位确定为自定义赛道起点。
结合参考图4的(A)部分,图4的(A)部分示出路网赛道起点402。
步骤330,响应于世界地图接收到赛道终点的自定义操作,显示出自定义赛道终点,自定义赛道终点是位于世界地图的范围内的终点;
自定义赛道终点,是用户帐号自定义的位于世界地图范围内的终点。在一个实施例中,在世界地图上将显示出推荐的赛道终点,计算机设备可根据推荐的赛道终点生成自定义虚拟赛道。响应于世界地图接收到用户的点击操作,根据被点击的触发点修改终点,基于被点击的触发点生成自定义赛道终点。
在一个实施例中,用户帐号可不断地点击世界地图,以不断地自定义终点。结合参考图4,图4的(B)部分示出了用户第一次点击世界地图的示意图,图4的(C)部分示出了第一次生成的自定义赛道终点403。图4的(D)部分示出了用户第二次点击世界地图的示意图,图4的(E)部分示出了第二次生成的自定义赛道终点404。
在一个实施例中,若自定义赛道终点和自定义赛道起点之间的路径长度不满足预设的长度区间,则在界面上提示线路范围在预设长度区间内更合理,比如,预设长度区间为1-7公里。可选的,可以在计算机设备生成自定义虚拟赛道之前提示,也可以在自定义虚拟赛道生成之后提示,亦或是在保存自定义虚拟赛道时提示、在基于自定义虚拟赛道发起竞速比赛时提示。
步骤340,基于路网赛道起点、自定义赛道终点,以及世界地图中位于路网赛道起点和自定义赛道终点之间的道路,创建自定义虚拟赛道;
本申请创建得到的自定义虚拟赛道,起点为路网赛道起点,终点为自定义赛道终点,自定义赛道终点不一定位于导航路网上。
结合参考图4,图4的(C)部分示出了第一次创建得到的自定义虚拟赛道。图4的(E)部分示出了第二次创建得到的自定义虚拟赛道。
在一个实施例中,在导航路网上确定出距离自定义赛道终点最近的路网点,作为路网赛道终点。根据路网赛道起点、路网赛道终点,以及导航路网上位于路网赛道起点和路网赛道终点之间的道路,生成自定义虚拟赛道的部分赛道;以及,根据路网赛道终点、自定义赛道终点,以及世界地图中位于路网赛道终点和自定义赛道终点之间的道路,生成自定义虚拟赛道的另一部分赛道。
步骤350,以开放虚拟环境中的虚拟环境为背景,以自定义虚拟赛道为竞速赛道,生成用于多个虚拟对象进行竞速比赛的竞速虚拟环境。
开放虚拟环境中存在大量的环境资源,如树木、山川、湖泊、草地等等贴图资源。本申请将获取自定义虚拟赛道在开放虚拟环境中对应的贴图资源,得到背景贴图资源。基于自定义虚拟赛道和背景贴图资源,生成竞速虚拟环境。
综上所述,上述实施例提供了一种在考虑世界地图覆盖的导航路网的情况下,竞速虚拟环境的生成方法。上述实施例中以路网赛道起点作为最终的起点,以自定义赛道终点作为最终的终点,基于路网赛道起点和路网赛道终点生成一部分赛道,基于路网赛道终点和自定义赛道终点生成另一部分赛道,提供了一种在开放世界的背景下创建自定义赛道的方式。
图3示出的实施例中,步骤320中的路网赛道起点是基于自定义赛道起点,结合导航路网的分布情况生成的。在一个可选实施例中,基于自定义赛道起点,结合导航路网的分布情况,生成路网赛道起点包括如下步骤S1-S4。
步骤S1,在导航路网上确定出与自定义赛道起点距离最近的路网点位;
示意性的,自定义赛道起点为世界地图上主控虚拟对象的位置,主控虚拟对象为用户帐号控制的虚拟对象。
在一个实施例中,以自定义赛道起点为圆心,不断放大圆的半径,直至圆周与导航路网相交,相交的点位即与自定义赛道起点距离最近的路网点位。
步骤S2,以路网点位为延伸起始点,沿路网点位的所在道路进行双向延伸;
路网点位位于道路上,沿道路两侧进行延伸,以判断路网点位是否处于直道上。在本申请中,直道需满足一定的曲率和长度条件,只有在预设的长度区间内曲率始终小于预设数值,方能判定为直道。
步骤S3,在路网点位的道路两侧中存在至少一侧为直道的情况下,确定路网点位为路网赛道起点。
判断出路网点位的道路两侧是否为直道的情况下,若存在至少一侧为直道,则确定路网点位为路网赛道起点。示意性的,路网点位是“滨海路”上的点,“滨海路”为直道,则直接将路网点位确定为路网赛道起点。
步骤S4,在路网点位的道路两侧均不是直道的情况下,继续进行双向延伸,将通过最短延伸距离确定出的直道的端点确定为路网赛道起点。
若路网点位的道路两侧均不是直道的情况下,将继续双向延伸,将确定出最近的直道,将该直道的端点确定为路网赛道起点。
示意性的,路网点位是“环岛路”上的点,“环岛路”为环形道路,将以路网点位为延伸起始点,继续进行双向延伸,确定出距离路网点位最近的直道“跨海大道”,将“跨海大道”的端点确定为路网赛道起点。可选的,从“跨海大道”的两个端点中随机确定出一个端点作为路网赛道起点。
综上所述,上述实施例提供了一种路网赛道起点的确定方式。通过判断与自定义赛道起点距离最近的路网点位是否处于直道上,以及双向延伸,确定出最终的路网赛道起点,使得确定得到的路网赛道起点是直道上的点,多个虚拟对象一开始的竞速阶段将在直道上进行,规避了赛事在弯道处开始,进而保证了用户的竞速体验。
基于图3所示的可选实施例中,步骤330包括如下步骤331至步骤333。
步骤331,响应于世界地图接收到点击操作,确定出被点击的触发点;
点击操作,可以是用户的触摸点击操作、鼠标点击操作、手势点击操作、体感设备的点击操作、AR/VR设备上通过用户的视线目光的点击操作等等,本申请对此不加以限制。
世界地图上接收到用户的点击操作,被点击的触发点可能位于导航路网上、也可能不位于导航路网上,进而,被点击的触发点可能位于可抵达位置上,也可能位于不可抵达位置上,如果展开竞速的虚拟对象为虚拟赛车,则不可抵达位置包括沙地、湖泊等等,可抵达位置为陆地区域。
步骤332,在触发点不位于导航路网上且处于可抵达位置的情况下,将触发点确定为自定义赛道终点;
如果触发点处于可抵达位置,则直接将触发点确定为自定义赛道终点。
结合参考图5,图5的(A)部分示出了在世界地图501已经生成自定义虚拟赛道的情况下,接收到用户的点击操作,此时被点击的触发点502不位于导航路网上且处于可抵达位置。图5的(B)部分示出了将被点击的触发点502作为自定义赛道终点,在导航路网上确定出距离自定义赛道终点最近的路网点503的过程。此时,确定出的路网点503将作为新的路网赛道终点。基于路网赛道起点和路网赛道终点生成一部分虚拟赛道,基于路网赛道终点和自定义赛道终点生成另一部分虚拟赛道。
步骤333,在触发点不位于导航路网上且处于不可抵达位置的情况下,确定出距离触发点最近的可抵达点位;将可抵达点位确定为自定义赛道终点。
确定出触发点不位于导航路网上且处于不可抵达位置,以触发点为圆心,不断放大圆的半径,直至圆周与可抵达区域(陆地区域)相交,相交的点位即为自定义赛道终点。
结合参考图6,图6的(A)部分示出了在世界地图601已经生成自定义虚拟赛道的情况下,接收到用户的点击操作,此时被点击的触发点602不位于导航路网上且处于不可抵达位置。图6的(B)部分示出了确定出距离被点击的触发点602最近的可抵达点位603,将可抵达点位603确定为自定义赛道终点。图6的(C)部分示出了基于可抵达点位603和路网赛道起点生成自定义虚拟赛道。
综上所述,上述实施例提供了一种保证最终的赛道终点位于可抵达点位上的方案,进而保证了自定义虚拟赛道的生成。
基于上述介绍,已经确定出路网赛道起点和自定义赛道终点,接下来将基于路网赛道起点和自定义赛道终点创建自定义虚拟赛道。本申请实施例将基于路网赛道起点和路网赛道终点,生成一部分赛道;基于路网赛道终点和自定义赛道终点生成另一部分赛道。
在基于路网赛道起点和路网赛道终点,生成部分赛道时,还将遵循以下几个约束中的至少一个。
一、避免竞赛开始阶段多个虚拟对象长时间在直道上竞速;
在一个实施例中,在创建自定义虚拟赛道的过程中,以路网赛道起点为延伸起始点,沿道路双向延伸第一预设距离;基于双向各自对应的第一预设距离内弯道的存在情况,确定出双向中的一个方向作为自定义虚拟赛道的赛道方向。
可选的,在双向各自对应的第一预设距离内均存在弯道的情况下,随机选择一个方向确定为自定义虚拟赛道的赛道方向。示意性的,确定出路网赛道起点,路网赛道起点的左侧200m和右侧200m内均存在弯道,则随机确定一个方向为赛道方向,沿着赛道方向继续创建虚拟赛道。
可选的,在仅存在单一方向对应的第一预设距离内存在弯道的情况下,将单一方向确定为自定义虚拟赛道的赛道方向。示意性的,确定出路网赛道起点,路网赛道起点的左侧200m内存在弯道,而右侧200m内不存在弯道,则确定左侧为赛道方向,沿着赛道方向继续创建虚拟赛道。
在双向各自对应的第一预设距离内均不存在弯道的情况下,选择出现弯道的距离最短的方向作为自定义虚拟赛道的赛道方向。示意性的,确定出路网赛道起点,路网赛道起点的左侧200m和右侧200m内均不存在弯道,继续延伸,发现左侧延伸400m后出现弯道,而右侧延伸500m后出现弯道,则确定左侧为赛道方向,沿着赛道方向继续创建虚拟赛道。
二、避免赛道的形状过于曲折;
在一个实施例中,在创建自定义虚拟赛道的过程中,在路口前的直道长度大于第二预设距离的情况下,选取路口的任一出口方向继续创建自定义虚拟赛道。在创建自定义虚拟赛道的过程中,在路口前的直道长度不大于第二预设距离的情况下,选取转向角度最小的方向继续创建自定义虚拟赛道。
示意性的,从路网赛道起点出发,不断延伸以创建自定义虚拟赛道,直至达到路网赛道终点。在创建赛道的过程中,若遇到路口,则判断路口前的直道长度是否大于150m,若是,则选取路口的任一出口方向继续创建自定义虚拟赛道。若不是,则选取转向最小的方向继续创建自定义虚拟赛道。
三、在路网赛道起点处生成十个虚拟对象的准备位置;
在一个实施例中,虚拟对象为虚拟赛车。在创建自定义虚拟赛道的过程中,将在路网赛道起点处生成十个虚拟赛车的发车位置。结合参考图7的(A)部分,图7的(A)部分示出了以道路中心点为原点,左推0.875m,前推5m,做为1号发车位置的中心坐标。然后根据间隔3.5m,往左右两侧延伸,左右两侧分别得到两个发车位置的中心坐标,此时,得到第一排发车位置从左往右依次为4号发车位置、2号发车位置、1号发车位置、3号发车位置和5号发车位置。
图7的(A)部分还示出了以道路中心点为原点,右推0.875m,后推5m,做为6号发车位置的中心坐标。然后根据间隔3.5m,往左右两侧延伸,左右两侧分别得到两个发车位置的中心坐标,此时,得到第二排发车位置从左往右依次为9号发车位置、7号发车位置、6号发车位置、8号发车位置和10号发车位置。图7的(B)部分示出了最终创建得到的十个虚拟赛车的发车位置。
在一个实施例中,创建得到自定义虚拟赛道之后,还执行图8所示的方法步骤。以该方法由计算机设备执行进行举例说明,该方法包括:
步骤820,显示出自定义虚拟赛道上的多个路网节点,多个路网节点包括路网赛道起点、至少一个路网中间节点和路网赛道终点;
自定义虚拟赛道上包括基于路网赛道起点和路网赛道终点生成的路网赛道,以及基于路网赛道终点和自定义赛道终点生成的赛道。
在生成路网赛道时,还将生成多个路网节点。在路网赛道上将显示出多个路网节点,多个路网节点包括路网赛道起点、至少一个路网中间节点和路网赛道终点。路网中间节点是路网赛道上的途径节点,可选的,路网中间节点是路网赛道的拐点,即入弯点和出弯点。
结合参考图9,图9的(A)部分示出了多个路网中间节点。
步骤840,响应于第一路网中间节点接收到位置调整操作,调整第一路网中间节点的两侧分别对应的相邻节点之间的赛道,得到调整后的自定义虚拟赛道,第一路网中间节点是至少一个路网中间节点中的任意一个路网中间节点。
结合参考图9,图9的(A)部分示出了第一路网中间节点901。响应于第一路网中间节点901接收到用户的拖动操作,第一路网中间节点901的位置发生调整,图9的(B)部分示出了位置调整后的第一路网中间节点901。
图9的(B)部分还示出了基于位置调整后的第一路网中间节点901生成的自定义虚拟赛道。观察图9的(B)部分,可以发现,此时仅改变第一路网中间节点901的两侧分别对应的相邻节点之间的赛道。
综上所述,上述实施例中,自定义虚拟赛道上将显示出多个路网中间节点,任意一个路网中间节点是可调整位置的,玩家可通过调节路网中间节点的位置,进而调整自定义虚拟赛道,进一步提升了赛道自定义方式的自由度。
图10示出了本申请一个示例性实施例提供的竞速虚拟环境的生成方法的流程图。该方法包括:
步骤1001,开始;
步骤1002,进入自定义赛事***;
步骤1003,提示用户点击地图进行交互;
自定义赛事***显示出世界地图,世界地图上显示出“点击地图生成终点”,以提示用户点击地图。
步骤1004,检测点击点和赛车所在位置之间的距离是否小于1km;
玩家控制赛车在开放虚拟环境中漫游,检测用户的点击点和赛车所在位置之间的距离是否小于1km。若点击点和赛车所在位置之间的距离不小于1km,执行步骤1005。若点击点和赛车所在位置之间的距离小于1km,执行步骤1006。
步骤1005,基于赛车所在位置确定出距离最近的路网点位;
在导航路网上根据赛车的坐标选取出最近的路网点位。
步骤1006,不进行路线生成,并提示用户路径过短;
在世界地图上显示“线路范围在1-7km之间更合理”。
步骤1007,将路网点位进行双向延伸,检测两侧是否为直道;
以路网点位为延伸起始点,沿道路两侧进行双向延伸,检测是否为直道。若是直道,则执行步骤1008;若不是直道,则执行步骤1009。
步骤1008,将路网点位确定为路网赛道起点;
将导航路网上的距离赛车的坐标最近的路网点位,作为路网赛车起点。
步骤1009,继续向前延伸,寻找直道;
双向皆不是直道,则继续往前延伸,找到最近的直道,以直道的起始端点为路网赛道起点,以规避赛事在弯道处开始。
步骤1010,路网赛道起点前后各自延伸200m;
以路网赛道起点为延伸起始点,沿道路前后各自延伸200m。
步骤1011,判断200m内是否存在弯道;
判断前后各自延伸的200m内是否存在弯道,若前后各自延伸的200m内存在弯道,则执行步骤1012。若前后各自延伸的200m内不存在弯道,则执行步骤1015。
步骤1012,判断前后是否都存在弯道;
判断道路的前后方向是否都存在弯道。若前后方向不都存在弯道,则执行步骤1013。若前后方向都存在弯道,则执行步骤1014。
步骤1013,选择出现弯道的方向作为赛道方向;
步骤1014,随机选择一个方向作为赛道方向;
步骤1015,继续向前延伸,选择最快出现弯道的方向作为赛道方向;
步骤1016,结束。
综上所述,本申请根据写实开放世界中的城市道路路网设计,针对路网进行了拆解,解决了玩家创建自定义赛道困难的问题,让玩家可以简洁地创建出符合直觉的赛道,增加玩家之间的联系与游戏自由度,增加了游戏乐趣。在游戏自动生成赛道的基础上,本方案增加了各种弯道,让赛道充满了不确定性,避免了玩家创建的赛道出现过于简单的纯直线赛道,提高了玩家的游戏操作体验。
本申请提供的在开放世界游戏中自动生成自定义赛道的方式,能够高度还原真实环境中赛道的丰富环境,并且不需要玩家具备特别的组合经验,仅需点击地图,即可让玩家快速建立一条合理的、充满竞速乐趣的赛道,降低了玩家的创作门槛,为开放世界赛车游戏产品提供了一种便捷的赛道生成解决方案。利用此方案,玩家可以做到所见即所得,无需描述,可快捷地在开放世界中生成功能完备且避免纯直线的单调赛道,提升游戏体验。
基于图10所示的可选实施例中,还考虑以下一些情况。
节点的选择:玩家在完成一次自定义虚拟赛道生成之后,可以使用手指接触屏幕中,除了“路网赛道起点”和“自定义赛道终点”之外的节点。在触碰操作的时候,当玩家的手指热区和节点预设的交互热区存在重叠区域时,判定为玩家成功“选择”了此节点。
节点的移动:如果需要进行节点移动的判定,首先需要确定此节点处于“被选择”的状态下,在此基础上,玩家保持手指和屏幕的接触,并且移动手指到游戏地图的其他位置,则完成一次节点的移动。玩家可以在过程中重复多次节点调节的操作,直到完成理想的赛道路线。
脱离路网的终点判定情况:
情况A:玩家选择的赛道终点不在路网上,且处于可以抵达的地形。
最终的赛道终点,是玩家车辆可以到达的地形(例如草地、沙地、城市路面等)。以玩家手指落点的热区面积的中心点作为圆心,寻找离圆心最近的路网点,进行圆形的切线判定,完成判定之后以切点和圆心的连线(圆形半径)作为链接路网和最终赛道终点的连线。相当于,如果玩家所选择的终点,不在路网之上,则多进行一次判定,并且补足最终的终点路径。
情况B:玩家的赛道终点不在路网上,且处于不可抵达的地形(例如水体(湖面、海面等))。最终的地图落点不在可以抵达的位置,则以玩家手指落点的热区面积的中心点作为圆心,寻找离圆心最近的可以抵达的陆地区域点,进行两点之间的直线连接,并且以这个可以抵达的点作为赛道终点。
本申请的节点编辑模式,相比于相关技术中的模板编辑模式,更加简洁易用,玩家只需要拖动节点,即可将2D的赛道路线转化,并生成真实的城市赛道,创建赛道的时间更短,更高效。
图11示出了本申请一个示例性实施例提供的竞速虚拟环境的生成装置的结构框图,该装置包括:
显示模块1110,用于显示出开放虚拟环境的世界地图;
创建模块1120,用于响应于世界地图接收到赛道起点的自定义操作和赛道终点的自定义操作,基于赛道起点、赛道终点、以及世界地图中位于赛道起点和赛道终点之间的道路,创建自定义虚拟赛道;
创建模块1120,还用于以开放虚拟环境中的虚拟环境为背景,以自定义虚拟赛道为竞速赛道,生成用于多个虚拟对象进行竞速比赛的竞速虚拟环境。
在一个可选的实施例中,创建模块1120,包括显示子模块1121和创建子模块1122。显示子模块1121,用于响应于世界地图接收到赛道起点的自定义操作,显示出路网赛道起点,路网赛道起点是位于世界地图覆盖的导航路网上的起点。
显示子模块1121,还用于响应于世界地图接收到赛道终点的自定义操作,显示出自定义赛道终点,自定义赛道终点是位于世界地图的范围内的终点;
创建子模块1122,用于基于路网赛道起点、自定义赛道终点,以及世界地图中位于路网赛道起点和自定义赛道终点之间的道路,创建自定义虚拟赛道。
在一个可选的实施例中,显示子模块1121,用于响应于世界地图接收到赛道起点的自定义操作,确定出自定义赛道起点,自定义赛道起点是位于世界地图的范围内的起点;基于自定义赛道起点,结合导航路网的分布情况,确定出路网赛道起点,以及,显示出路网赛道起点。
在一个可选的实施例中,显示子模块1121,用于将世界地图上主控虚拟对象的当前所处位置,确定为自定义赛道起点,主控虚拟对象是当前登录的用户帐号控制的虚拟对象。
在一个可选的实施例中,显示子模块1121,用于在导航路网上确定出与自定义赛道起点距离最近的路网点位;以路网点位为延伸起始点,沿路网点位的所在道路进行双向延伸;在路网点位的道路两侧中存在至少一侧为直道的情况下,确定路网点位为路网赛道起点。
在一个可选的实施例中,显示子模块1121,还用于在导航路网上确定出与自定义赛道起点距离最近的路网点位;以路网点位为延伸起始点,沿路网点位的所在道路进行双向延伸;在路网点位的道路两侧均不是直道的情况下,继续进行双向延伸,将通过最短延伸距离确定出的直道的端点确定为路网赛道起点。
在一个可选的实施例中,显示子模块1121,还用于响应于世界地图接收到点击操作,基于被点击的触发点,确定得到自定义赛道终点,以及显示出自定义赛道终点。
在一个可选的实施例中,显示子模块1121,还用于响应于世界地图接收到点击操作,确定出被点击的触发点;在触发点不位于导航路网上且处于可抵达位置的情况下,将触发点确定为自定义赛道终点。
在一个可选的实施例中,显示子模块1121,还用于响应于世界地图接收到点击操作,确定出被点击的触发点;在触发点不位于导航路网上且处于不可抵达位置的情况下,确定出距离触发点最近的可抵达点位;将可抵达点位确定为自定义赛道终点。
在一个可选的实施例中,创建子模块1122,用于在导航路网上确定出距离自定义赛道终点最近的路网点,作为路网赛道终点;根据路网赛道起点、路网赛道终点,以及导航路网上位于路网赛道起点和路网赛道终点之间的道路,生成自定义虚拟赛道的部分赛道;以及,根据路网赛道终点、自定义赛道终点,以及世界地图中位于路网赛道终点和自定义赛道终点之间的道路,生成自定义虚拟赛道的另一部分赛道。
在一个可选的实施例中,创建模块1120,还用于在创建自定义虚拟赛道的过程中,以路网赛道起点为延伸起始点,沿道路双向延伸第一预设距离;基于双向各自对应的第一预设距离内弯道的存在情况,确定出双向中的一个方向作为自定义虚拟赛道的赛道方向。
在一个可选的实施例中,创建模块1120,还用于在双向各自对应的第一预设距离内均存在弯道的情况下,随机选择一个方向确定为自定义虚拟赛道的赛道方向;
在仅存在单一方向对应的第一预设距离内存在弯道的情况下,将单一方向确定为自定义虚拟赛道的赛道方向;
在双向各自对应的第一预设距离内均不存在弯道的情况下,选择出现弯道的距离最短的方向作为自定义虚拟赛道的赛道方向。
在一个可选的实施例中,创建模块1120,还用于在创建自定义虚拟赛道的过程中,在路口前的直道长度大于第二预设距离的情况下,选取路口的任一出口方向继续创建自定义虚拟赛道。
在一个可选的实施例中,创建模块1120,还用于在创建自定义虚拟赛道的过程中,在路口前的直道长度不大于第二预设距离的情况下,选取转向角度最小的方向继续创建自定义虚拟赛道。
在一个可选的实施例中,显示模块1110,还用于显示出自定义虚拟赛道上的多个路网节点,多个路网节点包括路网赛道起点、至少一个路网中间节点和路网赛道终点;
创建模块1120,还用于响应于第一路网中间节点接收到位置调整操作,调整第一路网中间节点的两侧分别对应的相邻节点之间的赛道,得到调整后的自定义虚拟赛道;其中,第一路网中间节点是至少一个路网中间节点中的任意一个路网中间节点。
综上所述,本申请通过在世界地图上接收赛道起点和赛道终点的自定义操作,基于赛道起点和赛道终点,以及位于世界地图上赛道起点和赛道终点之间的道路,生成自定义虚拟赛道。以开放虚拟环境中的虚拟环境为背景,以自定义虚拟赛道为竞速赛道,生成用于多个虚拟对象进行竞速比赛的竞速虚拟环境。
本申请提供了一种竞速虚拟环境的生成装置,实现了“所见即所得”的效果,用户可以先观察世界地图,从世界地图中丰富的地形地貌中截取出期望的赛道路线以及竞速比赛时的背景虚拟环境。本申请提供的生成装置,不仅降低了用户创建虚拟赛道的操作难度和学习成本,还可创建种类十分丰富的竞速虚拟环境。
并且,相关技术提供有多个赛道模组(如弯道模组、直道模组等),通过赛道模组进行拼接,创建出虚拟赛道。相比于相关技术,本申请自定义时利用的世界地图和开放虚拟环境的相关资源均为已有资源,本申请的自定义方式仅是从中截取出部分路线和部分虚拟环境,并不需要额外的赛道模组,因此,本申请提供的生成装置提高了世界地图和开放虚拟环境的相关资源的利用率,生成竞速虚拟环境时不会造成过多的性能开销。
请参考图12,其示出了本申请一个示例性实施例提供的计算机设备1200的结构框图。该计算机设备1200可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器。计算机设备1200还可能被称为用户设备、便携式终端、头戴式计算机设备等其他名称。
通常,计算机设备1200包括有:处理器1201和存储器1202。
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本申请实施例中提供的竞速虚拟环境的生成方法。
在一些实施例中,计算机设备1200还可选包括有:***设备接口1203和至少一个***设备。具体地,***设备包括:射频电路1204、显示屏1205、摄像头组件1206、音频电路1207和电源1208中的至少一种。
***设备接口1203可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和***设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和***设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1204用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1205用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。可选的,计算机设备1200包括贴近使用对象眼部的内部显示屏和外部显示屏。外部显示屏用于当周围对象与计算机设备1200的使用对象发生交互时,显示出使用对象的眼睛图像。可选的,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。显示屏1205用于提供虚拟按钮和/或评论键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置计算机设备1200的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在计算机设备1200的不同表面或呈折叠设计;在再一些实施例中,显示屏1205可以是柔性显示屏,设置在计算机设备1200的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用LCD(LiquidCrystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括内部摄像头和外部摄像头。通常,内部摄像头用于拍摄获取用户眼睛姿态数据。在一些实施例中,外部摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能,主摄像头和广角摄像头融合实现全景拍摄以及AR(Augmented Reality,增强现实)拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1207用于提供用户和计算机设备1200之间的音频接口。音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备1200的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
电源1208用于为计算机设备1200中的各个组件进行供电。电源1208可以是交流电、直流电、一次性电池或可充电电池。当电源1208包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,计算机设备1200还包括有一个或多个传感器1209。该一个或多个传感器1209包括但不限于:加速度传感器1210、陀螺仪传感器1211、压力传感器1212、光学传感器1213以及接近传感器1214。
加速度传感器1210可以检测以计算机设备1200建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1210可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1210采集的重力加速度信号,控制显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1210还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1211可以检测计算机设备1200的机体方向及转动角度,陀螺仪传感器1211可以与加速度传感器1210协同采集用户对计算机设备1200的三维动作。处理器1201根据陀螺仪传感器1211采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1212可以设置在计算机设备1200的侧边框和/或显示屏1205的下层。当压力传感器1212设置在计算机设备1200的侧边框时,可以检测用户对计算机设备1200的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器1212设置在显示屏1205的下层时,可以根据用户对显示屏1205的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1213用于采集环境光强度。在一个实施例中,处理器1201可以根据光学传感器1213采集的环境光强度,控制显示屏1205的显示亮度。具体地,当环境光强度较高时,调高显示屏1205的显示亮度;当环境光强度较低时,调低显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1213采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
接近传感器1214,也称距离传感器,通常设置在计算机设备1200的正面。接近传感器1214用于采集用户与计算机设备1200的正面之间的距离。在一个实施例中,当接近传感器1214检测到周围对象与计算机设备1200的正面之间的距离逐渐变小时,由处理器1201控制外部显示屏显示出用户的眼睛图像;当接近传感器1214检测到用户与计算机设备1200的正面之间的距离逐渐变大时,由处理器1201控制内部显示屏从亮屏状态切换为息屏状态。
本领域技术人员可以理解,图12中示出的结构并不构成对计算机设备1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述各方法实施例提供的竞速虚拟环境的生成方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序用于被计算机设备执行,以实现上述竞速虚拟环境的生成方法。
可选地,该计算机可读存储介质可以包括:只读存储器(Read-Only Memory,ROM)、随机存储器(Random-Access Memory,RAM)、固态硬盘(Solid State Drives,SSD)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(Resistance Random AccessMemory,ReRAM)和动态随机存取存储器(Dynamic Random Access Memory,DRAM)。本申请还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述方法实施例提供的竞速虚拟环境的生成方法。
本申请提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例提供的竞速虚拟环境的生成方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种竞速虚拟环境的生成方法,其特征在于,所述方法包括:
显示出开放虚拟环境的世界地图;
响应于所述世界地图接收到赛道起点的自定义操作和赛道终点的自定义操作,基于所述赛道起点、所述赛道终点、以及所述世界地图中位于所述赛道起点和所述赛道终点之间的道路,创建自定义虚拟赛道;
以所述开放虚拟环境中的虚拟环境为背景,以所述自定义虚拟赛道为竞速赛道,生成用于多个虚拟对象进行竞速比赛的竞速虚拟环境。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述世界地图接收到赛道起点的自定义操作和赛道终点的自定义操作,基于所述赛道起点、所述赛道终点、以及所述世界地图中位于所述赛道起点和所述赛道终点之间的道路,创建自定义虚拟赛道,包括:
响应于所述世界地图接收到所述赛道起点的自定义操作,显示出路网赛道起点,所述路网赛道起点是位于所述世界地图覆盖的导航路网上的起点;
以及,响应于所述世界地图接收到所述赛道终点的自定义操作,显示出自定义赛道终点,所述自定义赛道终点是位于所述世界地图的范围内的终点;
基于所述路网赛道起点、所述自定义赛道终点,以及所述世界地图中位于所述路网赛道起点和所述自定义赛道终点之间的道路,创建所述自定义虚拟赛道。
3.根据权利要求2所述的方法,其特征在于,所述响应于所述世界地图接收到所述赛道起点的自定义操作,显示出路网赛道起点,包括:
响应于所述世界地图接收到所述赛道起点的自定义操作,确定出自定义赛道起点,所述自定义赛道起点是位于所述世界地图的范围内的起点;
基于所述自定义赛道起点,结合所述导航路网的分布情况,确定出所述路网赛道起点,以及,显示出所述路网赛道起点。
4.根据权利要求3所述的方法,其特征在于,所述响应于所述世界地图接收到所述赛道起点的自定义操作,确定出自定义赛道起点,包括:
将所述世界地图上主控虚拟对象的当前所处位置,确定为所述自定义赛道起点,所述主控虚拟对象是当前登录的用户帐号控制的虚拟对象。
5.根据权利要求3所述的方法,其特征在于,所述基于所述自定义赛道起点,结合所述导航路网的分布情况,确定出所述路网赛道起点,包括:
在所述导航路网上确定出与所述自定义赛道起点距离最近的路网点位;
以所述路网点位为延伸起始点,沿所述路网点位的所在道路进行双向延伸;
在所述路网点位的道路两侧中存在至少一侧为直道的情况下,确定所述路网点位为所述路网赛道起点。
6.根据权利要求3所述的方法,其特征在于,所述基于所述自定义赛道起点,结合所述导航路网的分布情况,确定出所述路网赛道起点,包括:
在所述导航路网上确定出与所述自定义赛道起点距离最近的路网点位;
以所述路网点位为延伸起始点,沿所述路网点位的所在道路进行双向延伸;
在所述路网点位的道路两侧均不是直道的情况下,继续进行双向延伸,将通过最短延伸距离确定出的直道的端点确定为所述路网赛道起点。
7.根据权利要求2所述的方法,其特征在于,所述响应于所述世界地图接收到所述赛道终点的自定义操作,显示出自定义赛道终点,包括:
响应于所述世界地图接收到点击操作,基于被点击的触发点,确定得到所述自定义赛道终点,以及显示出所述自定义赛道终点。
8.根据权利要求7所述的方法,其特征在于,所述响应于所述世界地图接收到点击操作,基于被点击的触发点,确定得到所述自定义赛道终点,包括:
响应于所述世界地图接收到点击操作,确定出被点击的所述触发点;
在所述触发点不位于所述导航路网上且处于可抵达位置的情况下,将所述触发点确定为所述自定义赛道终点。
9.根据权利要求7所述的方法,其特征在于,所述响应于所述世界地图接收到点击操作,基于被点击的触发点,确定得到所述自定义赛道终点,包括:
响应于所述世界地图接收到点击操作,确定出被点击的所述触发点;
在所述触发点不位于所述导航路网上且处于不可抵达位置的情况下,确定出距离所述触发点最近的可抵达点位;
将所述可抵达点位确定为所述自定义赛道终点。
10.根据权利要求2所述的方法,其特征在于,所述基于所述路网赛道起点、所述自定义赛道终点,以及所述世界地图中位于所述路网赛道起点和所述自定义赛道终点之间的道路,创建所述自定义虚拟赛道,包括:
在所述导航路网上确定出距离所述自定义赛道终点最近的路网点,作为路网赛道终点;
根据所述路网赛道起点、所述路网赛道终点,以及所述导航路网上位于所述路网赛道起点和所述路网赛道终点之间的道路,生成所述自定义虚拟赛道的部分赛道;
以及,根据所述路网赛道终点、所述自定义赛道终点,以及所述世界地图中位于所述路网赛道终点和所述自定义赛道终点之间的道路,生成所述自定义虚拟赛道的另一部分赛道。
11.根据权利要求2至10任一所述的方法,其特征在于,所述方法还包括:
在创建所述自定义虚拟赛道的过程中,以所述路网赛道起点为延伸起始点,沿道路双向延伸第一预设距离;
基于所述双向各自对应的所述第一预设距离内弯道的存在情况,确定出所述双向中的一个方向作为所述自定义虚拟赛道的赛道方向。
12.根据权利要求11所述的方法,其特征在于,所述基于所述双向各自对应的所述第一预设距离内弯道的存在情况,确定出所述双向中的一个方向作为所述自定义虚拟赛道的赛道方向,包括:
在所述双向各自对应的所述第一预设距离内均存在弯道的情况下,随机选择一个方向确定为所述自定义虚拟赛道的赛道方向;
在仅存在单一方向对应的所述第一预设距离内存在弯道的情况下,将所述单一方向确定为所述自定义虚拟赛道的赛道方向;
在所述双向各自对应的所述第一预设距离内均不存在弯道的情况下,选择出现弯道的距离最短的方向作为所述自定义虚拟赛道的赛道方向。
13.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在创建所述自定义虚拟赛道的过程中,在路口前的直道长度大于第二预设距离的情况下,选取所述路口的任一出口方向继续创建所述自定义虚拟赛道。
14.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在创建所述自定义虚拟赛道的过程中,在路口前的直道长度不大于第二预设距离的情况下,选取转向角度最小的方向继续创建所述自定义虚拟赛道。
15.根据权利要求10所述的方法,其特征在于,所述方法还包括:
显示出所述自定义虚拟赛道上的多个路网节点,所述多个路网节点包括所述路网赛道起点、至少一个路网中间节点和所述路网赛道终点;
响应于第一路网中间节点接收到位置调整操作,调整所述第一路网中间节点的两侧分别对应的相邻节点之间的赛道,得到调整后的自定义虚拟赛道;
其中,所述第一路网中间节点是所述至少一个路网中间节点中的任意一个路网中间节点。
16.一种竞速虚拟环境的生成装置,其特征在于,所述装置包括:
显示模块,用于显示出开放虚拟环境的世界地图;
创建模块,用于响应于所述世界地图接收到赛道起点的自定义操作和赛道终点的自定义操作,基于所述赛道起点、所述赛道终点、以及所述世界地图中位于所述赛道起点和所述赛道终点之间的道路,创建自定义虚拟赛道;
所述创建模块,还用于以所述开放虚拟环境中的虚拟环境为背景,以所述自定义虚拟赛道为竞速赛道,生成用于多个虚拟对象进行竞速比赛的竞速虚拟环境。
17.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至15任一所述的竞速虚拟环境的生成方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至15任一所述的竞速虚拟环境的生成方法。
19.一种计算机程序产品,其特征在于,所述计算机程序产品存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至15任一所述的竞速虚拟环境的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311511784.XA CN117482503A (zh) | 2023-11-13 | 2023-11-13 | 竞速虚拟环境的生成方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311511784.XA CN117482503A (zh) | 2023-11-13 | 2023-11-13 | 竞速虚拟环境的生成方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117482503A true CN117482503A (zh) | 2024-02-02 |
Family
ID=89676110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311511784.XA Pending CN117482503A (zh) | 2023-11-13 | 2023-11-13 | 竞速虚拟环境的生成方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117482503A (zh) |
-
2023
- 2023-11-13 CN CN202311511784.XA patent/CN117482503A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11221726B2 (en) | Marker point location display method, electronic device, and computer-readable storage medium | |
US20200316473A1 (en) | Virtual object control method and apparatus, computer device, and storage medium | |
US11691079B2 (en) | Virtual vehicle control method in virtual scene, computer device, and storage medium | |
CN109513210B (zh) | 虚拟世界中的虚拟车辆漂移方法、装置及存储介质 | |
CN110193198B (zh) | 对象跳跃控制方法、装置、计算机设备及存储介质 | |
JP6281495B2 (ja) | 情報処理装置、端末装置、情報処理方法及びプログラム | |
CN111228804B (zh) | 在虚拟环境中驾驶载具的方法、装置、终端及存储介质 | |
CN112121422B (zh) | 界面显示方法、装置、设备及存储介质 | |
JPWO2014119098A1 (ja) | 情報処理装置、端末装置、情報処理方法及びプログラム | |
JP2014149712A (ja) | 情報処理装置、端末装置、情報処理方法及びプログラム | |
CN109173258B (zh) | 虚拟对象显示、定位信息发送方法、设备及存储介质 | |
CN112569600B (zh) | 虚拟场景中的路径信息发送方法、计算机设备及存储介质 | |
WO2020156252A1 (zh) | 在虚拟环境中建造建筑物的方法、装置、设备及存储介质 | |
WO2022227915A1 (zh) | 显示位置标记的方法、装置、设备及存储介质 | |
CN110448912A (zh) | 终端控制方法及终端设备 | |
CN112755517B (zh) | 虚拟对象控制方法、装置、终端及存储介质 | |
CN112699208B (zh) | 地图寻路方法、装置、设备及介质 | |
CN113041619B (zh) | 虚拟车辆的控制方法、装置、设备及介质 | |
US20220184506A1 (en) | Method and apparatus for driving vehicle in virtual environment, terminal, and storage medium | |
CN117482503A (zh) | 竞速虚拟环境的生成方法、装置、设备及介质 | |
CN113144595B (zh) | 虚拟道路的生成方法、装置、终端及存储介质 | |
CN115379883A (zh) | 游戏程序、游戏方法以及终端装置 | |
CN112717411B (zh) | 虚拟载具的轨迹记录方法、装置、设备及存储介质 | |
CN113318443B (zh) | 基于虚拟环境的侦察方法、装置、设备及介质 | |
CN116983651A (zh) | 虚拟车辆的控制方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |