CN110860088B - 竞速游戏中小地图的渲染方法、装置以及游戏终端 - Google Patents
竞速游戏中小地图的渲染方法、装置以及游戏终端 Download PDFInfo
- Publication number
- CN110860088B CN110860088B CN201911116200.2A CN201911116200A CN110860088B CN 110860088 B CN110860088 B CN 110860088B CN 201911116200 A CN201911116200 A CN 201911116200A CN 110860088 B CN110860088 B CN 110860088B
- Authority
- CN
- China
- Prior art keywords
- distance
- small map
- minimap
- rendering
- display area
- 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.)
- Active
Links
Images
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/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
- 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/807—Gliding or sliding on surfaces, e.g. using skis, skates or boards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- 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
-
- 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/8041—Skating using skis, skates or board
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Optics & Photonics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种竞速游戏中小地图的渲染方法、装置以及游戏终端,涉及游戏技术领域,可以解决手绘制作每张小地图的工作量较大,使游戏制作成本较高的技术问题。该方法包括:确定竞速游戏场景中的虚拟赛道的路线;基于所述路线以及针对小地图的预设赛道宽度,生成小地图模型的顶点和顶点索引;将所述小地图模型,渲染在所述小地图显示区域中。在一个可能的实现中,所述路线为所述虚拟赛道的中心线。
Description
技术领域
本申请涉及游戏技术领域,尤其是涉及一种竞速游戏中小地图的渲染方法、装置以及游戏终端。
背景技术
竞速游戏包括驾车比赛、滑板比赛、滑冰比赛、竞走比赛或者跑步比赛等速度比赛类的游戏。
例如,驾车比赛游戏即赛车类游戏,指玩家驾驶游戏中的虚拟车辆,在游戏内虚拟道路上,由起点行驶到终点并计时排名的游戏。玩家可以通过手柄、键盘、手机触摸按键等方式,控制游戏中虚拟车辆的油门、刹车、方向盘、手刹、档位等,从而实现接近现实中的驾驶行为和体验。
目前,在赛车游戏中,为方便玩家判断前方道路,会在图形用户界面上显示虚拟赛道的小地图。现有的小地图采用将手绘地图渲染到显示画面中的方法。但是,手绘制作每张小地图的工作量较大,会使游戏制作成本较高。
发明内容
本发明的目的在于提供一种竞速游戏中小地图的渲染方法、装置以及游戏终端,以解决手绘制作每张小地图的工作量较大,使游戏制作成本较高的技术问题。
第一方面,本申请实施例提供了一种竞速游戏中小地图的渲染方法,应用于具有图形用户界面(User Interface,UI)的游戏终端,所述图形用户界面预先配置有小地图显示区域,所述方法包括:
确定竞速游戏场景中的虚拟赛道的路线;
基于所述路线以及针对小地图的预设赛道宽度,生成小地图模型的顶点和顶点索引;
将所述小地图模型,渲染在所述小地图显示区域中。
在一个可能的实现中,所述路线为所述虚拟赛道的中心线。
在一个可能的实现中,基于所述路线以及针对小地图的预设赛道宽度,生成小地图模型的顶点和顶点索引的步骤,包括:
基于预设间距,在所述中心线等间距选取多个第一目标点;
将多个所述第一目标点分别作为垂足,确定垂距相等的多个第二目标点,所述垂距根据针对小地图的预设赛道宽度确定;
将多个所述第二目标点作为小地图模型的三角面的顶点,并确定顶点索引。
在一个可能的实现中,所述中心线由多个连续的线段组成;基于预设间距,在所述中心线等间距选取多个第一目标点的步骤,包括:
对于每个所述第一目标点:
基于预设间距,确定所述第一目标点距离所述中心线起点的第一距离;
根据所述第一距离,在多个连续的所述线段中确定所述第一目标点所在的第一线段,并将所述第一线段对应于所述第一目标点的第一位置的坐标作为所述第一目标点的坐标。
在一个可能的实现中,将所述小地图模型,渲染在所述小地图显示区域中的步骤包括:
确定所述竞速游戏中目标虚拟对象在所述场景中当前的第二位置;
将所述小地图模型对应于所述第二位置的所述小地图模型的局部,渲染在所述小地图显示区域中。
在一个可能的实现中,将所述小地图模型对应于所述第二位置的所述小地图模型的局部,渲染在所述小地图显示区域中的步骤,包括:
根据所述第二位置,确定相机的对准点坐标;
根据所述对准点坐标和所述相机与所述目标虚拟对象的坐标偏移,确定所述相机的投影矩阵;
根据所述投影矩阵,将所述小地图模型,映射为二维道路平面;
将所述二维道路平面对应于所述第二位置的所述二维道路平面的局部,渲染在所述小地图显示区域中。
在一个可能的实现中,根据所述投影矩阵,将所述小地图模型,映射为二维道路平面的步骤,包括:
根据所述投影矩阵,将所述小地图模型的三角面的顶点坐标映射为二维显示坐标;
根据所述小地图显示区域的预设显示位置,将所述二维显示坐标进行偏移,得到针对所述小地图显示区域的二维定位坐标。
在一个可能的实现中,将所述二维道路平面对应于所述第二位置的所述二维道路平面的局部,渲染在所述小地图显示区域中的步骤,包括:
根据所述二维定位坐标,以及所述小地图显示区域的预设显示大小,将超出所述小地图显示区域的二维定位坐标舍弃;
在所述小地图显示区域渲染剩余的所述二维定位坐标对应的显示效果。
在一个可能的实现中,所述显示效果包括模糊效果;在所述小地图显示区域渲染剩余的所述二维定位坐标对应的显示效果的步骤,包括:
对于剩余的每个所述二维定位坐标,确定所述二维定位坐标与所述小地图显示区域的中心的第三距离,并在所述小地图显示区域渲染与所述第三距离对应的模糊效果。
在一个可能的实现中,预先配置有第一阈值和第二阈值,所述第一阈值小于第二阈值;
对于所述第三距离位于所述第一阈值和第二阈值之间的所述二维定位坐标,与所述第三距离对应的模糊效果为距离所述小地图显示区域的中心越近,透明度越低;
对于所述第三距离小于所述第一阈值的所述二维定位坐标,与所述第三距离对应的模糊效果为不透明;
对于所述第三距离大于所述第二阈值的所述二维定位坐标,与所述第三距离对应的模糊效果为完全透明。
在一个可能的实现中,预先配置有第三阈值和第四阈值,所述第三阈值大于第四阈值;在所述小地图显示区域渲染与所述第三距离对应的模糊效果的步骤,包括:
对于每个所述二维定位坐标,根据所述第三距离确定距离中心百分比,其中,所述第三距离越大,所述距离中心百分比越小;
其中,对于所述距离中心百分比位于所述第三阈值和第四阈值之间的所述二维定位坐标,与所述第三距离对应的模糊效果为所述距离中心百分比越小,透明度越低;
对于所述距离中心百分比小于所述第四阈值的所述二维定位坐标,与所述第三距离对应的模糊效果为不透明;
对于所述距离中心百分比大于所述第三阈值的所述二维定位坐标,与所述第三距离对应的模糊效果为完全透明。
在一个可能的实现中,根据所述对准点坐标和所述相机与所述目标虚拟对象的坐标偏移,确定所述相机的投影矩阵的步骤包括:
确定所述相机当前的正上方方向;
根据所述对准点坐标、所述坐标偏移和所述正上方方向,确定所述相机的投影矩阵。
第二方面,提供了一种竞速游戏中小地图的渲染装置,应用于具有图形用户界面的游戏终端,所述图形用户界面预先配置有小地图显示区域,所述装置包括:
确定模块,用于确定竞速游戏场景中的虚拟赛道的路线;
生成模块,用于基于所述路线以及针对小地图的预设赛道宽度,生成小地图模型的顶点和顶点索引;
渲染模块,用于将所述小地图模型,渲染在所述小地图显示区域中。
第三方面,本申请实施例又提供了一种游戏终端,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的第一方面所述方法。
第四方面,本申请实施例又提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述的第一方面所述方法。
本申请实施例带来了以下有益效果:
本申请实施例提供的一种竞速游戏中小地图的渲染方法、装置以及游戏终端,首先,确定竞速游戏场景中的虚拟赛道的路线,基于路线以及针对小地图的预设赛道宽度,生成小地图模型的顶点和顶点索引,然后,将小地图模型,渲染在小地图显示区域中,通过虚拟赛道的路线和小地图中的预设赛道宽度,能够生成顶点和顶点索引,实现了自动生成小地图模型,由于可以直接将生成的小地图模型渲染到小地图显示区域中,相较于现有的手绘图片,无需再预先制作小地图,从而减少了游戏制作成本。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的应用场景示意图;
图2为本申请实施例提供的触控终端的结构示意图;
图3为本申请实施例提供的触控终端的应用场景示意图;
图4为本申请实施例提供的竞速游戏中小地图的渲染方法的流程示意图;
图5为本申请实施例所提供的顶点和顶点索引的结构示意图;
图6为本申请实施例所提供的显示赛车游戏的图形用户界面的结构示意图;
图7为本申请实施例提供的竞速游戏中小地图的渲染方法中,中心线和门的结构示意图;
图8为本申请实施例所提供的小地图显示区域中显示出的小地图模型的结构示意图;
图9为本申请实施例所提供的显示赛车游戏的图形用户界面的另一结构示意图;
图10为本申请实施例所提供的显示赛车游戏的图形用户界面的另一结构示意图;
图11提供了一种竞速游戏中小地图的渲染装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
目前,在赛车游戏中,为方便玩家判断前方道路,会在UI上显示当虚拟赛道的小地图。UE4引擎提供将一张图片,显示到渲染画面中的功能,当前多数小地图采用将手绘地图渲染到显示画面中的方法。同时UE4引擎也提供将一个模型渲染到显示画面中的功能。
现有的技术方案是通过制作人员通过手绘地图,再将其添加到引擎渲染的画面中,最终提供给显示设备显示给玩家。现有方案有以下缺点:
手绘制作每张地图工作量较大,且不利于实际虚拟场景修改,如果虚拟场景修改,小地图也需要相应重新绘制;使用图形存储方式存储空间占用较大,在游戏运行中加载较慢,占用内存较多,会降低游戏的性能,以512*512大小为例,在不压缩的情况下需要占用1M存储空间或内存。同时,一个赛道就需要一个手绘地图,最终占用存储空间为1M乘以赛道数量;地图资源为2D场景,只能提供俯视鸟瞰图,无法实现3D场景的效果。
基于此,本申请实施例提供的一种竞速游戏中小地图的渲染方法、装置以及游戏终端,可以解决手绘制作每张小地图的工作量较大,使游戏制作成本较高的技术问题。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种竞速游戏中小地图的渲染方法、装置以及游戏终端进行详细介绍。
本申请实施例中的竞速游戏中小地图的渲染方法可以应用于触控终端、游戏机、个人计算机(personal computer,PC)等能够运行游戏的游戏终端中。
本申请实施例以触控终端为例进行说明。该触控终端包括触摸屏和处理器,该触摸屏用于呈现图形用户界面和接收针对图形用户界面的操作。
在一些实施例中,通过触控终端对图形用户界面进行操作时,该图形用户界面可以用于操作触控终端本地的内容,也可以用于操作对端服务器的内容。
例如,如图1所示,图1为本申请实施例提供的应用场景示意图。该应用场景可以包括触控终端(例如,手机102)和服务器101,该触控终端可以通过有线网络或无线网络与服务器101进行通信。其中触控终端用于运行虚拟桌面,通过该虚拟桌面,可以与服务器101进行交互,以实现对服务器101中的内容进行操作。
本实施例的触控终端以手机102为例进行说明。手机102包括射频(RadioFrequency,RF)电路110、存储器120、触摸屏130、处理器140等部件。本领域技术人员可以理解,图2中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。本领领域技术人员可以理解触摸屏130属于用户界面(UI,User Interface),且手机102可以包括比图示或者更少的用户界面。
RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯***)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器140通过运行存储在存储器120的软件程序以及模块,从而执行手机102的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据手机102的使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
触摸屏130可用于显示图形用户界面和接收用户针对图形用户界面的操作。具体的触摸屏130可包括显示面板和触控面板。其中显示面板可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置。触控面板可收集用户在其上或附近的接触或者非接触操作(例如,如图3所示,用户使用手指103、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成预先设定的操作指令。另外,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位、姿势,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成处理器能够处理的信息,再送给处理器140,并能接收处理器140发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板,也可以采用未来发展的任何技术实现触控面板。进一步的,触控面板可覆盖显示面板,用户可以根据显示面板显示的图形用户界面,在显示面板上覆盖的触控面板上或者附近进行操作,触控面板检测到在其上或附近的操作后,传送给处理器140以确定用户输入,随后处理器140响应于用户输入在显示面板上提供相应的视觉输出。另外,触控面板与显示面板可以作为两个独立的部件来实现也可以集成而来实现。
处理器140是手机102的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行手机102的各种功能和处理数据,从而对手机进行整体监控。
手机102还包括给各个部件供电的电源(比如电池),电源可以通过电源管理***与处理器140逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗等功能。
下面结合附图对本发明实施例进行进一步地介绍。
图4为本申请实施例提供的一种竞速游戏中小地图的渲染方法的流程示意图。其中,该方法应用于具有图形用户界面的游戏终端,图形用户界面预先配置有小地图显示区域。如图4所示,该方法包括:
S410,确定竞速游戏场景中的虚拟赛道的路线。
其中,竞速游戏可以是驾车比赛、滑板比赛、滑冰比赛、竞走比赛或者跑步比赛等竞速比赛类的游戏,本申请实施例以竞速游戏为赛车游戏为例进行说明。在赛车游戏的场景中,有虚拟车辆和虚拟赛道。
虚拟赛道指的是竞速游戏的虚拟场景中,玩家操纵的目标虚拟对象可以前往的区域,可以有较多数量的虚拟赛道供玩家选择。本实施例中,虚拟赛道指的是赛车游戏中玩家操纵的虚拟车辆可以驾驶的区域。
虚拟赛道的路线可以是沿赛道任一侧道路的边缘线;也可以是赛道的中心线;还可以是在赛道中,相对于赛道两侧边缘的距离比例始终不变的一条路线,例如,该路线与赛道两侧边缘的距离比例始终为4:6。
S420,基于路线以及针对小地图的预设赛道宽度,生成小地图模型的顶点和顶点索引。
小地图可以是虚拟游戏场景的缩略地图,该缩略地图可以基于虚拟游戏场景经过再次加工,以突出地图中的虚拟道路和重要地点,忽略实际的地形和地表颜色等信息。在本实施例中,小地图可以显示虚拟游戏场景中包括虚拟赛道的缩略地图,也可以只显示虚拟赛道的信息。
模型指的是虚拟场景中的物体,以顶点和面为基本单元,例如一个正方形拥有12个顶点和6个面。而小地图模型表示的是利用定义的语言结构或数据结构对三维(3Dimensions,3D)物体进行的描述,可以包括几何、视点、纹理以及照明信息等。
模型可以利用动画渲染和制作软件工具制作,本申请实施例中的小地图模型可以利用基于PC***的三维动画渲染和制作软件(3D Studio Max,3DMax)制作得到。
针对小地图的预设赛道宽度指的是小地图模型中的赛道的预设宽度,该预设宽度一般小于步骤S410中的虚拟赛道的宽度。
对于顶点和顶点索引,需要说明的是,在3D游戏中,面是由顶点和顶点索引组成。顶点包含一个3维坐标(x,y,z),代表该顶点在3D游戏中的世界坐标。顶点索引是多个由3个整数组成一组的数组,代表这三个顶点组成的面。
例如,如图5所示,平行四边形面包含v0,v1,v2,v3四个顶点,索引[0,1,2]表示由顶点v0、v1和v2组成的三角面,[1,2,3]代表由顶点v1、v2和v3组成的三角面,则整个平行四边形面的索引为[0,1,2,1,2,3]。
S430,将小地图模型,渲染在小地图显示区域中。
小地图显示区域可以是任意形状,例如方型、椭圆形等。小地图显示区域也可以设置于图形用户界面中的任意位置,例如,设置于图形用户界面中的左上角或左下角的位置。如图6所示,小地图显示区域601位于图形用户界面中的右上角。
渲染指的是在计算机绘图中通过软件将虚拟物体从模型转换生成图像的过程,以将生成的图像提供给显示器进行显示。
本申请实施例中,可以先通过步骤S410和步骤S420生成小地图模型,再通过步骤S430完成对小地图模型的渲染的过程。
通过虚拟赛道的路线和小地图中的预设赛道宽度,能够生成顶点和顶点索引,实现了自动生成小地图模型。由于可以直接将生成的小地图模型渲染到最终画面中,相较于现有的手绘图片,无需再预先制作小地图,从而减少了游戏制作成本。再者,也省略了多张内存较大的小地图,节省了存储空间和内存的占用,从而提高了游戏的运行效率。
下面对上述步骤进行详细介绍。
在一些实施例中,上述路线可以有多种表现方式。作为一个示例,上述路线位于赛道的中心线上,基于此,路线为虚拟赛道的中心线。其中,该中心线可以基于虚拟赛道生成的中心线,也可以直接从设计虚拟赛道时提前设置出的中心线来确定。
通过将虚拟赛道的中心线作为虚拟赛道的路线,能够使最终得到的小地图模型中的赛道更加符合虚拟赛道的确切位置。
基于此,可以基于中心线生成小地图模型,以减小最终得到的小地图模型中的赛道位置的偏差。作为一个示例,上述步骤S420可以包括如下步骤:
步骤a,基于预设间距,在中心线等间距选取多个第一目标点;
步骤b,将多个第一目标点分别作为垂足,确定垂距相等的多个第二目标点,垂距根据针对小地图的预设赛道宽度确定;
步骤c,将多个第二目标点作为小地图模型的三角面的顶点,并确定顶点索引。
对于上述步骤a,可以从中心线的起点到终点,等间距的选中中心线的若干个第一目标点,其中,该间距可以为预设间距。
对于上述步骤b,针对每个第一目标点,分别在中心线的两侧确定两个第二目标点,这两个第二目标点和第一目标点所形成的直线与中心线垂直,且,这两个第二目标点与第一目标点的距离相等,其中,这个相等的距离是根据针对小地图的预设赛道宽度所确定。
再者,针对每个第一目标点,可以通过多种方式确定与每个第一目标点对应的两个第二目标点。
作为一个示例,可以先确定与中心线等距的两条平行线,再在这两条平行线上确定第一目标点对应的两个第二目标点。例如,上述步骤b可以包括如下步骤:
在中心线的两侧,确定与中心线等距且平行的两条平行线,其中,该等距的距离是根据针对小地图的预设赛道宽度所确定;在第一目标点处确定中心线的法线,将该法线与两条平行线的两个交点作为两个第二目标点。其中,法线是与赛道地面平行且与线段垂直的方向。
作为另一个示例,可以先确定与中心线垂直的法线,再在该法线上确定与第一目标点等距两个第二目标点。例如,上述步骤b可以包括如下步骤:
确定中心线在第一目标点处的法线;其中,法线是与赛道地面平行且与线段垂直的方向;在法线上确定位于第一目标点两侧的且与第一目标点等距的两个第二目标点,其中,该等距的距离是根据针对小地图的预设赛道宽度所确定。
当然,作为另一个示例,还可以先确定与中心线垂直的且长度相同的线段,再根据这些线段的两端端点确定第二目标点。例如,上述步骤还b可以包括如下步骤:
确定中心线在第一目标点处的法线,该法线是与赛道地面平行且与线段垂直的方向;在法线上生成经过第一目标点的且以第一目标点为中心点的线段,线段的长度是根据针对小地图的预设赛道宽度所确定;将线段两端的端点作为两个第二目标点。
其中,该线段可以称为门701,如图7所示,每个门的中心点(即第一目标点702)在中心线703处的切线方向,都与门701垂直。
对于上述步骤c,示例性的,可以根据门701的两个端点确定顶点和顶点索引,继而生成小地图模型。例如,将第n个门的两个端点作为顶点Vn和顶点Vn+1,将第n+1个门的两个端点作为顶点Vn+2和顶点Vn+3,形成的两个三角面的顶点分别为Vn、Vn+1、Vn+2和Vn+1、Vn+2、Vn+3,第n个门和第n+1个门之间的面由顶点索引[Vn,Vn+1,Vn+2,Vn+1,Vn+2,Vn+3]组成。
通过上述步骤a、步骤b和步骤c,能够使由顶点和顶点索引得到的小地图模型更加切合于赛车游戏场景中的虚拟赛道,使最终得到的小地图模型更加逼真。
基于上述步骤a、步骤b和步骤c,其中的第一目标点的坐标可以根据预设间距来计算,以计算出更加精确的第一目标点坐标。作为一个示例,中心线由多个连续的线段组成;上述步骤a可以包括如下步骤:
对于每个第一目标点:
步骤d,基于预设间距,确定第一目标点距离中心线起点的第一距离;
步骤e,根据第一距离,在多个连续的线段中确定第一目标点所在的第一线段,并将第一线段对应于第一目标点的第一位置的坐标作为第一目标点的坐标。
对于由多个连续的线段组成的中心线,示例性的,该中心线由若干个连续的线段S1、S2、S3、…Sn组成,每个线段S由前后两个端点Vs个和Ve构成,其中Vs为起始端点,Ve为结束端点。每个端点V由一个世界坐标(x,y,z)组成。连续的线段指的是对于前一个线段的端点Ve即为后一个线段的端点Vs。对于每个线段S,可以通过两个端点之间相减得到的向量,计算出线段S的长度L。本申请实施例中,可以将N个线段的长度和记为En,累加前N个线段S的长度L便得到En。
对于上述步骤d和步骤e,示例性的,基于预设间距的长度D,在中心线上等距的选取若干个第一目标点H1、H2、H3…Hy。针对每个第一目标点H,其坐标可以根据上述线段S、累计N个线段S的长度En、预设间距的长度D计算得到。例如,对于第i个第一目标点Hi的坐标的计算方式可以为:
先求第i个第一目标点Hi在第几个线段S上,可以通过(i*D)与En的长度进行比较。如果满足En<i*D<En+1,则第i个点在中心线的线段Sn上。可以根据(D*i–En)/(En+1-En)得到第一目标点Hi在线段Sn中,靠近线段S的起始端点Vs(Vs.x,Vs.y,Vs.z)的比例P。则Hi(H.x,H.y,H.z)的坐标为:
H.x=Vs.x+(Ve.x–Vs.x)*P;
H.y=Vs.y+(Ve.y–Vs.y)*P;
H.z=Vs.z+(Ve.z–Vs.z)*P;
其中,(Ve.x,Ve.y,Ve.z)为线段S的结束端点Ve的坐标。
接下来,在得到第一目标点的坐标后,对于上述步骤b,可以利用针对小地图的预设赛道宽度、上述法线以及上述第一目标点Hi的坐标计算得到第二目标点的坐标。下面继续以上述的门X01为例进行说明。
对于每个第一目标点H,在H处生成门,门的中心点为H,门的长度为针对小地图的预设赛道宽度,设为C。共生产y个门,门的两端端点即为第二目标点。对于第二目标点的坐标,可以根据第一目标点的坐标和针对小地图的预设赛道宽度C计算而得到。
例如,针对中心线上的每个线段S,都对应一个上述与赛道地面平行且与线段S垂直的法线,中心线上第N个线段Sn的法线设为Nn;门的两个端点坐标(第二目标点的坐标)计算过程可以为:
根据预设的门的长度C,在上述Hi(H.x,H.y,H.z)上分别加上和减去C/2*N,能够得到门的两个端点坐标(第二目标点的坐标)HS和HE。HS(HS.x,HS.y,HS.z)和HE(HE.x,HE.y,HE.z)的坐标分别为:
HS.x=H.x+C/2*Nn.x;
HS.y=H.y+C/2*Nn.y;
HS.z=H.z+C/2*Nn.z;
HE.x=H.x–C/2*Nn.x;
HE.y=H.y–C/2*Nn.y;
HE.z=H.z–C/2*Nn.z。
接下来,在得到两个端点(第二目标点)的坐标后,对于上述步骤c,可以利用根据上述两个端点坐标(第二目标点的坐标)得到顶点和顶点索引,生成小地图模型。下面继续以上述的门X01为例进行说明。
将第二目标点的坐标作为顶点,即上述HS和HE的列表:V1=HS1,V2=HE1,V3=HS2…以此类推。由此可见,V2n-1=HSn,V2n=Hen,再由[1,2,3,2,3,4,3,4,5,4,5,6…]的顶点索引规律,可以推出本申请实施例中的顶点对应的顶点索引为[V2n-1,V2n,V2n+1,V2n,V2n+1,V2n+2]以此类推。
通过上述预设间距、中心线分成的线段,能够使计算出的第一目标点的坐标更加精确,便于后续确定出更加精确的第二目标点坐标。再通过针对小地图的预设赛道宽度以及第一目标点的坐标,能够使计算出的第二目标点的坐标更加精确,便于后续确定出更加合理的顶点和顶点索引,使最终生成的小地图模型与赛车游戏场景中的虚拟赛道更加相似,便于玩家判断赛车待行驶的方向,提高竞速游戏的体验度。
以上是路线的表现方式为中心线的示例,作为路线表现方式中的另一个示例,上述路线还可以位于赛道两侧中任一侧的道路边缘,例如,上述路线是沿赛道任一侧道路的边缘线。
基于此,上述步骤S420可以包括如下步骤:
步骤x,基于预设间距,在边缘线上等间距选取多个第三目标点;
步骤y,将多个第三目标点分别作为垂足,在边缘线的一侧确定垂距相等多个第四目标点,垂距根据针对小地图的预设赛道宽度确定;
步骤z,将多个第二目标点作为小地图模型的三角面的顶点,并确定顶点索引。
对于上述步骤y,需要说明的是,每个第三目标点对应一个第四目标点,所有的第四目标点全部位于赛道相对于边缘线的一侧。由于虚拟赛道的宽度不一定是始终一致的,而针对小地图的预设赛道宽度是一致的,有的第四目标点可能位于虚拟赛道上,有的第四目标点可能位于虚拟赛道另一侧边缘线上,还有的第四目标点可能位于虚拟赛道之外。
对于上述步骤x,每个第三目标点的坐标,可以通过与上述步骤d和步骤e相似的过程来确定,其中,第三目标点相当于上述步骤d和步骤e中的第一目标点,边缘线相当于上述步骤d和步骤e中的中心线。例如,上述步骤x具体可以包括如下步骤:
对于每个第三目标点:基于预设间距,确定第三目标点距离边缘线起点的第二距离;根据第二距离,在多个连续的线段中确定第三目标点所在的第二线段,并将第二线段对应于第三目标点的位置的坐标作为第三目标点的坐标。
在一些实施例中,可以基于竞速游戏中目标虚拟对象的位置来渲染小地图模型,使玩家能够查看到自身操纵的虚拟对象的更加确切位置。作为一个示例,上述步骤S430可以包括如下步骤:
步骤f,确定竞速游戏中目标虚拟对象在场景中当前的第二位置;
步骤g,将小地图模型对应于第二位置的小地图模型的局部,渲染在小地图显示区域中。
对于上述步骤f,目标虚拟对象可以是虚拟车辆、虚拟自行车、虚拟人、虚拟滑板等。例如,在赛车游戏场景中目标虚拟对象为虚拟车辆,赛跑游戏场景中目标虚拟对象为虚拟人。本申请实施例以目标虚拟对象为虚拟车辆为例进行说明。
对于上述步骤g,在实际应用中,小地图模型可以是通过上述步骤S410至步骤S430而生成的确定不变的模型,而在小地图显示区域中经过渲染显示出的图像是动态的,因为该图像中显示出的虚拟车辆在虚拟场景中所处的位置是随着玩家的控制而变化的。
本步骤中,基于虚拟车辆当前的位置而确定显示出的图像。示例性的,如图8所示,小地图显示区域中,可以显示以玩家控制的虚拟车辆801为中心一定范围内的局部小地图模型,使小地图显示区域中显示出的局部小地图模型,随着虚拟车辆的移动而产生相应的变化更新。
当然,小地图显示区域中也可以显示出的赛道也可以是确定不变的,例如,当虚拟赛道较短,在小地图显示区域中足以显示出完整的小地图模型,则小地图显示区域中显示出的赛道是可以不变的,只有虚拟车辆的位置在变化更新。
因此,基于生成确定的小地图模型,能够在虚拟车辆移动时实时动态的显示出虚拟车辆当前的位置以及周边环境,能够使玩家操纵的虚拟车辆始终保持在小地图模型中,便于玩家能够查看到该虚拟车辆所处具体的详细位置。
如图6、图9和图10所示,在用户图形界面中,除了小地图显示区域601中的小地图模型,还能够显示出下述至少一种:虚拟赛车602、方向操作控件603、飘移控件901、刹车控件1001等多种玩家操作控件,以便于玩家对虚拟赛车等虚拟车辆进行精确速度、方向等多方面的控制。
在一些实施例中,小地图模型表现的场景可以为二维(2Dimensions,2D)场景,也可以为3D场景。下面以小地图的场景为3D场景为例进行说明。
基于上述步骤f和步骤g,可以利用相机的对准点坐标和相机与赛车的坐标偏移量,将模型顶点变换到2D屏幕上。作为一个示例,上述步骤g可以包括如下步骤:
步骤h,根据第二位置,确定相机的对准点坐标;
步骤i,根据对准点坐标和相机与目标虚拟对象的坐标偏移,确定相机的投影矩阵;
步骤j,根据投影矩阵,将小地图模型,映射为二维道路平面;
步骤k,将二维道路平面对应于第二位置的二维道路平面的局部,渲染在小地图显示区域中。
其中,相机的对准点坐标指的是相机对准的点LookAt的坐标。坐标偏移指的是相机偏移虚拟车辆的坐标Offset。
需要说明的是,矩阵指的是为4×4的矩阵。矩阵与世界坐标(x,y,z)相乘,可以表示对坐标进行一次变换,变换的效果可以包括旋转、平移、缩放等。将小地图模型中的所有顶点乘以该矩阵,表示对这个小地图模型整体进行一次3D变换。
对于相机的投影矩阵,可以是根据这个世界坐标(x,y,z)计算出的投影矩阵MP。例如,将小地图模型中的每个顶点乘以变换矩阵,以对小地图模型的顶点进行3D变换,从而实现在2D的屏幕中显示出小地图模型的3D场景效果,提升玩家的游戏体验。
基于上述步骤h、步骤i、步骤j和步骤k,可以通过将小地图模型中的三角面的顶点坐标映射为二维定位坐标,得到小地图模型对应的二维道路平面。作为一个示例,上述步骤j可以包括如下步骤:
步骤m,根据投影矩阵,将小地图模型的三角面的顶点坐标映射为二维显示坐标;
步骤n,根据小地图显示区域的预设显示位置,将二维显示坐标进行偏移,得到针对小地图显示区域的二维定位坐标。
在实际应用中,使用小地图模型中的所有的顶点坐标,可以得到3D的小地图模型在2D图形用户界面上显示的坐标,以此使2D图形用户界面上显示出的2D图像,所展示出的3D场景中的虚拟物体更加精确真实。
基于上述步骤m和步骤n,可以将小地图模型中超出小地图显示区域的顶点舍弃掉。作为一个示例,上述步骤k可以包括如下步骤:
步骤o,根据二维定位坐标,以及小地图显示区域的预设显示大小,将超出小地图显示区域的二维定位坐标舍弃;
步骤p,在小地图显示区域渲染剩余的二维定位坐标对应的显示效果。
由于呈现图形用户界面的屏幕是2D图像,只有(x,y)的2D坐标,设为ScreenPosition。该坐标可以以屏幕的左上角(或屏幕中的其它位置)为原点。小地图模型在屏幕中显示出的预设尺寸可以设为Width和Height,预设位置可以设为Mini map Position。Mini map Position同样为(x,y)的2D坐标。对于每个小地图模型的顶点转换到屏幕坐标的顶点Screen Position,将其减去Mini map Position,能够将小地图模型在屏幕上的顶点转换成相对于小地图起点的偏移Relative Position。即:
Relative Position=Screen Position–Mini map Position。
通过Relative Position,能够将小地图模型中超出显示区域的顶点舍弃掉,例如,将满足以下条件的顶点舍弃掉:
Relative Position.x<0;
Relative Position.x>Width;
Relative Position.y<0;
Relative Position.y>Height。
通过该方法能够更加精确的将小地图模型中超出小地图显示区域的顶点舍弃掉,使小地图显示区域的边界显示更加精确。
基于上述步骤o和步骤p,可以根据小地图模型中的顶点距离虚拟车辆当前世界坐标的距离,计算出该顶点的透明度,以使显示出的小地图模型更加生动不显得生硬。作为一个示例,显示效果包括模糊效果;上述步骤p可以包括如下步骤:
步骤q,对于剩余的每个二维定位坐标,确定二维定位坐标与小地图显示区域的中心的第三距离,并在小地图显示区域渲染与第三距离对应的模糊效果。
示例性的,可以根据Relative Position距离小地图显示区域的中心的距离,计算出小地图模型中顶点的透明度,从而达到小地图显示区域的边缘模糊的效果,使显示出的小地图模型更加生动不显得生硬,提升用户游戏体验。
基于上述步骤q,上述与第三距离对应的模糊效果可以包括多种实现方式。
作为一个示例,可以利用根据小地图模型中的顶点距离虚拟车辆坐标的距离百分比,计算出该顶点的透明度,实现不同透明度的模糊效果。例如,预先配置有第三阈值和第四阈值,第三阈值大于第四阈值;上述步骤q可以包括如下步骤:
对于每个二维定位坐标,根据第三距离确定距离中心百分比,其中,第三距离越大,距离中心百分比越小;
其中,对于距离中心百分比位于第三阈值和第四阈值之间的二维定位坐标,与第三距离对应的模糊效果为距离中心百分比越小,透明度越低;
对于距离中心百分比小于第四阈值的二维定位坐标,与第三距离对应的模糊效果为不透明;
对于距离中心百分比大于第三阈值的二维定位坐标,与第三距离对应的模糊效果为完全透明。
其中距离的具体计算方式可以为:先计算显示区域中心坐标,即Center=(Width/2,Height/2),再计算在X轴和Y轴上,Relative Position距离Center的距离:
Percent X=(Relative Position.X–Center.X)/Center.X;
Percent Y=(Relative Position.Y–Center.Y)/Center.Y。
接下来,取Percent X和Percent Y中绝对值较大者的绝对值作为距离中心的距离:Percent=Max(Abs(Percent X),Abs(Percent Y));其中,Max表示取两者中较大的,Abs表示取绝对值。
为使模糊效果方便调整,引入可以配置的两个变量Dim Start和Dim End。其取值为[0,1],Dim Start表示距离中心多少百分比开始模糊,Dim End表示距离中心多少百分比完全透明,即Alpha=0。例如,设Dim Start=0.6,Dim End=0.9。则在Percent=0.6时开始降低顶点的透明度,在Percent=0.9时透明度完全降低为0。根据以上规则可以得到透明度的计算公式为:
满足Percent<Dim Start时,Alpha=1.0;
满足Percent>Dim End时,Alpha=0.0;
满足Dim Start<Percent<Dim End时,Alpha=1–(Percent–Dim Start)/(DimEnd–Dim Start)。
通过小地图模型中的顶点距离虚拟车辆坐标的距离百分比,计算出该顶点的透明度,从而实现不同透明度的模糊效果,提升玩家游戏体验。
作为另一个示例,可以利用根据小地图模型中的顶点距离虚拟车辆当前世界坐标的距离,计算出该顶点的透明度,实现不同透明度的模糊效果。例如,预先配置有第一阈值和第二阈值,第一阈值小于第二阈值;对于第三距离位于第一阈值和第二阈值之间的二维定位坐标,与第三距离对应的模糊效果为距离小地图显示区域的中心越近,透明度越低;对于第三距离小于第一阈值的二维定位坐标,与第三距离对应的模糊效果为不透明;对于第三距离大于第二阈值的二维定位坐标,与第三距离对应的模糊效果为完全透明。
其中距离的具体计算方式可以为:先计算显示区域中心坐标,即Center=(Width/2,Height/2),再计算在X轴和Y轴上,Relative Position距离Center的距离:
Percent X=(Relative Position.X–Center.X)/Center.X;
Percent Y=(Relative Position.Y–Center.Y)/Center.Y。
接下来,取Percent X和Percent Y中绝对值较大者的绝对值作为距离中心的距离:Percent=Max(Abs(Percent X),Abs(Percent Y));其中,Max表示取两者中较大的,Abs表示取绝对值。然后,可以通过与预设距离长度值范围对比,来判断小地图模型中的每个顶点的透明度。
通过小地图模型中的顶点距离虚拟车辆坐标的距离长度值,计算出该顶点的透明度,从而实现不同透明度的模糊效果,提升玩家游戏体验。
基于上述步骤h、步骤i、步骤j和步骤k,可以使小地图模型在小地图显示区域中达到游戏场景旋转的效果。作为一个示例,上述步骤i可以包括如下步骤:
确定相机当前的正上方方向;
根据对准点坐标、坐标偏移和正上方方向,确定相机的投影矩阵。
在实际应用中,相机的投影矩阵MP可以使小地图模型跟随虚拟车辆,以虚拟车辆为中心显示小地图模型中虚拟车辆的周围区域,同时旋转小地图模型,小地图模型在小地图显示区域中达到3D游戏场景旋转的效果。
在将小地图模型渲染到小地图显示区域中时,通过进行3D变换,能够使小地图模型具有旋转、透视、模糊等3D效果,提升玩家游戏体验。
图11提供了一种竞速游戏中小地图的渲染装置的结构示意图。该装置应用于具有图形用户界面的游戏终端,图形用户界面预先配置有小地图显示区域,如图11所示,竞速游戏中小地图的渲染装置1100包括:
确定模块1101,用于确定竞速游戏场景中的虚拟赛道的路线;
生成模块1102,用于基于路线以及针对小地图的预设赛道宽度,生成小地图模型的顶点和顶点索引;
渲染模块1103,用于将小地图模型,渲染在小地图显示区域中。
在一些实施例中,路线为虚拟赛道的中心线。
在一些实施例中,生成模块1102包括:
选取子模块,用于基于预设间距,在中心线等间距选取多个第一目标点;
第一确定子模块,用于将多个第一目标点分别作为垂足,确定垂距相等的多个第二目标点,垂距根据针对小地图的预设赛道宽度确定;
第二确定子模块,用于将多个第二目标点作为小地图模型的三角面的顶点,并确定顶点索引。
在一些实施例中,中心线由多个连续的线段组成;选取子模块具体用于:
对于每个第一目标点:
基于预设间距,确定第一目标点距离中心线起点的第一距离;
根据第一距离,在多个连续的线段中确定第一目标点所在的第一线段,并将第一线段对应于第一目标点的第一位置的坐标作为第一目标点的坐标。
在一些实施例中,渲染模块1103包括:
第三确定子模块,用于确定竞速游戏中目标虚拟对象在场景中当前的第二位置;
渲染子模块,用于将小地图模型对应于第二位置的小地图模型的局部,渲染在小地图显示区域中。
在一些实施例中,渲染子模块具体用于:
根据第二位置,确定相机的对准点坐标;
根据对准点坐标和相机与目标虚拟对象的坐标偏移,确定相机的投影矩阵;
根据投影矩阵,将小地图模型,映射为二维道路平面;
将二维道路平面对应于第二位置的二维道路平面的局部,渲染在小地图显示区域中。
在一些实施例中,渲染子模块还具体用于:
根据投影矩阵,将小地图模型的三角面的顶点坐标映射为二维显示坐标;
根据小地图显示区域的预设显示位置,将二维显示坐标进行偏移,得到针对小地图显示区域的二维定位坐标。
在一些实施例中,渲染子模块还具体用于:
根据二维定位坐标,以及小地图显示区域的预设显示大小,将超出小地图显示区域的二维定位坐标舍弃;
在小地图显示区域渲染剩余的二维定位坐标对应的显示效果。
在一些实施例中,显示效果包括模糊效果;渲染子模块还具体用于:
对于剩余的每个二维定位坐标,确定二维定位坐标与小地图显示区域的中心的第三距离,并在小地图显示区域渲染与第三距离对应的模糊效果。
在一些实施例中,预先配置有第一阈值和第二阈值,第一阈值小于第二阈值;
对于第三距离位于第一阈值和第二阈值之间的二维定位坐标,与第三距离对应的模糊效果为距离小地图显示区域的中心越近,透明度越低;
对于第三距离小于第一阈值的二维定位坐标,与第三距离对应的模糊效果为不透明;
对于第三距离大于第二阈值的二维定位坐标,与第三距离对应的模糊效果为完全透明。
在一些实施例中,预先配置有第三阈值和第四阈值,第三阈值大于第四阈值;渲染子模块还具体用于:
对于每个二维定位坐标,根据第三距离确定距离中心百分比,其中,第三距离越大,距离中心百分比越小;
其中,对于距离中心百分比位于第三阈值和第四阈值之间的二维定位坐标,与第三距离对应的模糊效果为距离中心百分比越小,透明度越低;
对于距离中心百分比小于第四阈值的二维定位坐标,与第三距离对应的模糊效果为不透明;
对于距离中心百分比大于第三阈值的二维定位坐标,与第三距离对应的模糊效果为完全透明。
在一些实施例中,渲染子模块还具体用于:
确定相机当前的正上方方向;
根据对准点坐标、坐标偏移和正上方方向,确定相机的投影矩阵。
本申请实施例提供的竞速游戏中小地图的渲染装置,与上述实施例提供的竞速游戏中小地图的渲染方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
对应于上述竞速游戏中小地图的渲染方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述游戏中竞速游戏中小地图的渲染方法的步骤。
本申请实施例所提供的竞速游戏中小地图的渲染装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的***、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述移动控制方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种竞速游戏中小地图的渲染方法,其特征在于,应用于具有图形用户界面的游戏终端,所述图形用户界面预先配置有小地图显示区域,所述方法包括:
确定竞速游戏场景中的虚拟赛道的路线;
基于所述路线以及针对小地图的预设赛道宽度,生成小地图模型的顶点和顶点索引;
将所述小地图模型,渲染在所述小地图显示区域中。
2.根据权利要求1所述的渲染方法,其特征在于,所述路线为所述虚拟赛道的中心线。
3.根据权利要求2所述的渲染方法,其特征在于,基于所述路线以及针对小地图的预设赛道宽度,生成小地图模型的顶点和顶点索引的步骤,包括:
基于预设间距,在所述中心线等间距选取多个第一目标点;
将多个所述第一目标点分别作为垂足,确定垂距相等的多个第二目标点,所述垂距根据针对小地图的预设赛道宽度确定;
将多个所述第二目标点作为小地图模型的三角面的顶点,并确定顶点索引。
4.根据权利要求3所述的渲染方法,其特征在于,所述中心线由多个连续的线段组成;基于预设间距,在所述中心线等间距选取多个第一目标点的步骤,包括:
对于每个所述第一目标点:
基于预设间距,确定所述第一目标点距离所述中心线起点的第一距离;
根据所述第一距离,在多个连续的所述线段中确定所述第一目标点所在的第一线段,并将所述第一线段对应于所述第一目标点的第一位置的坐标作为所述第一目标点的坐标。
5.根据权利要求1所述的渲染方法,其特征在于,将所述小地图模型,渲染在所述小地图显示区域中的步骤包括:
确定所述竞速游戏中目标虚拟对象在所述场景中当前的第二位置;
将所述小地图模型对应于所述第二位置的所述小地图模型的局部,渲染在所述小地图显示区域中。
6.根据权利要求5所述的渲染方法,其特征在于,将所述小地图模型对应于所述第二位置的所述小地图模型的局部,渲染在所述小地图显示区域中的步骤,包括:
根据所述第二位置,确定相机的对准点坐标;
根据所述对准点坐标和所述相机与所述目标虚拟对象的坐标偏移,确定所述相机的投影矩阵;
根据所述投影矩阵,将所述小地图模型,映射为二维道路平面;
将所述二维道路平面对应于所述第二位置的所述二维道路平面的局部,渲染在所述小地图显示区域中。
7.根据权利要求6所述的渲染方法,其特征在于,根据所述投影矩阵,将所述小地图模型,映射为二维道路平面的步骤,包括:
根据所述投影矩阵,将所述小地图模型的三角面的顶点坐标映射为二维显示坐标;
根据所述小地图显示区域的预设显示位置,将所述二维显示坐标进行偏移,得到针对所述小地图显示区域的二维定位坐标。
8.根据权利要求7所述的渲染方法,其特征在于,将所述二维道路平面对应于所述第二位置的所述二维道路平面的局部,渲染在所述小地图显示区域中的步骤,包括:
根据所述二维定位坐标,以及所述小地图显示区域的预设显示大小,将超出所述小地图显示区域的二维定位坐标舍弃;
在所述小地图显示区域渲染剩余的所述二维定位坐标对应的显示效果。
9.根据权利要求8所述的渲染方法,其特征在于,所述显示效果包括模糊效果;在所述小地图显示区域渲染剩余的所述二维定位坐标对应的显示效果的步骤,包括:
对于剩余的每个所述二维定位坐标,确定所述二维定位坐标与所述小地图显示区域的中心的第三距离,并在所述小地图显示区域渲染与所述第三距离对应的模糊效果。
10.根据权利要求9所述的渲染方法,其特征在于,预先配置有第一阈值和第二阈值,所述第一阈值小于第二阈值;
对于所述第三距离位于所述第一阈值和第二阈值之间的所述二维定位坐标,与所述第三距离对应的模糊效果为距离所述小地图显示区域的中心越近,透明度越低;
对于所述第三距离小于所述第一阈值的所述二维定位坐标,与所述第三距离对应的模糊效果为不透明;
对于所述第三距离大于所述第二阈值的所述二维定位坐标,与所述第三距离对应的模糊效果为完全透明。
11.根据权利要求9所述的渲染方法,其特征在于,预先配置有第三阈值和第四阈值,所述第三阈值大于第四阈值;在所述小地图显示区域渲染与所述第三距离对应的模糊效果的步骤,包括:
对于每个所述二维定位坐标,根据所述第三距离确定距离中心百分比,其中,所述第三距离越大,所述距离中心百分比越小;
其中,对于所述距离中心百分比位于所述第三阈值和第四阈值之间的所述二维定位坐标,与所述第三距离对应的模糊效果为所述距离中心百分比越小,透明度越低;
对于所述距离中心百分比小于所述第四阈值的所述二维定位坐标,与所述第三距离对应的模糊效果为不透明;
对于所述距离中心百分比大于所述第三阈值的所述二维定位坐标,与所述第三距离对应的模糊效果为完全透明。
12.根据权利要求6所述的渲染方法,其特征在于,根据所述对准点坐标和所述相机与所述目标虚拟对象的坐标偏移,确定所述相机的投影矩阵的步骤包括:
确定所述相机当前的正上方方向;
根据所述对准点坐标、所述坐标偏移和所述正上方方向,确定所述相机的投影矩阵。
13.一种竞速游戏中小地图的渲染装置,其特征在于,应用于具有图形用户界面的游戏终端,所述图形用户界面预先配置有小地图显示区域,所述装置包括:
确定模块,用于确定竞速游戏场景中的虚拟赛道的路线;
生成模块,用于基于所述路线以及针对小地图的预设赛道宽度,生成小地图模型的顶点和顶点索引;
渲染模块,用于将所述小地图模型,渲染在所述小地图显示区域中。
14.一种游戏终端,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至12任一项所述的方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述权利要求1至12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911116200.2A CN110860088B (zh) | 2019-11-14 | 2019-11-14 | 竞速游戏中小地图的渲染方法、装置以及游戏终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911116200.2A CN110860088B (zh) | 2019-11-14 | 2019-11-14 | 竞速游戏中小地图的渲染方法、装置以及游戏终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110860088A CN110860088A (zh) | 2020-03-06 |
CN110860088B true CN110860088B (zh) | 2023-04-07 |
Family
ID=69653940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911116200.2A Active CN110860088B (zh) | 2019-11-14 | 2019-11-14 | 竞速游戏中小地图的渲染方法、装置以及游戏终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110860088B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112884883B (zh) * | 2021-01-25 | 2024-05-10 | 深圳市其乐游戏科技有限公司 | 游戏赛道的自动生成方法、终端及存储介质 |
CN113289337B (zh) * | 2021-05-13 | 2022-07-05 | 中国人民解放军军事科学院战争研究院 | 一种基于ue的仿真全局小地图动态生成方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105759954A (zh) * | 2015-01-05 | 2016-07-13 | 索尼公司 | 信息处理装置、信息处理方法以及程序 |
US20170116771A1 (en) * | 2014-06-10 | 2017-04-27 | Tencent Technology (Shenzhen) Company Limited | 3d model rendering method and apparatus and terminal device |
CN109865286A (zh) * | 2019-02-20 | 2019-06-11 | 网易(杭州)网络有限公司 | 游戏中的信息处理方法、装置及存储介质 |
CN109876442A (zh) * | 2019-04-15 | 2019-06-14 | 网易(杭州)网络有限公司 | 游戏中基于地图的路线指示方法、设备及存储介质 |
-
2019
- 2019-11-14 CN CN201911116200.2A patent/CN110860088B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170116771A1 (en) * | 2014-06-10 | 2017-04-27 | Tencent Technology (Shenzhen) Company Limited | 3d model rendering method and apparatus and terminal device |
CN105759954A (zh) * | 2015-01-05 | 2016-07-13 | 索尼公司 | 信息处理装置、信息处理方法以及程序 |
CN109865286A (zh) * | 2019-02-20 | 2019-06-11 | 网易(杭州)网络有限公司 | 游戏中的信息处理方法、装置及存储介质 |
CN109876442A (zh) * | 2019-04-15 | 2019-06-14 | 网易(杭州)网络有限公司 | 游戏中基于地图的路线指示方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110860088A (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4896761B2 (ja) | 立体地図表示システム、立体地図の表示方法、及びそのプログラム | |
US11798222B2 (en) | Virtual scene switching method and apparatus, terminal device, and storage medium | |
KR101640904B1 (ko) | 온라인 게이밍 경험을 제공하기 위한 컴퓨터 기반 방법, 기계 판독가능 비일시적 매체 및 서버 시스템 | |
US10460510B2 (en) | Methods and systems for viewing a three-dimensional (3D) virtual object | |
CN107423445A (zh) | 一种地图数据处理方法、装置及存储介质 | |
CN1333375C (zh) | 三维图像处理 | |
KR100657943B1 (ko) | 2차원 건물 데이터의 실시간 3차원 변환 방법 및 장치,그리고 이를 이용한 2차원 건물 데이터의 실시간 3차원시각화 방법 및 장치 | |
EP3832605B1 (en) | Method and device for determining potentially visible set, apparatus, and storage medium | |
CN110860088B (zh) | 竞速游戏中小地图的渲染方法、装置以及游戏终端 | |
US9224238B2 (en) | Seamless texturing of 3D meshes of objects from multiple views | |
CN109448137A (zh) | 交互方法、交互装置、电子设备及存储介质 | |
CN203133746U (zh) | 基于体感交互的一体化虚拟景观游览装置 | |
CN110489725A (zh) | 三维可视化方法、装置、计算机设备及其存储介质 | |
CN105894551A (zh) | 图像绘制方法及装置 | |
CN111949816A (zh) | 定位处理方法、装置、电子设备和存储介质 | |
CN114529647A (zh) | 对象渲染方法、设备、装置、电子设备及存储介质 | |
US10891780B2 (en) | Methods and systems for viewing a three-dimensional (3D) virtual object | |
CN112948605B (zh) | 点云数据的标注方法、装置、设备及可读存储介质 | |
US20230154102A1 (en) | Representing 3d shapes with probabilistic directed distance fields | |
Yao et al. | Development overview of augmented reality navigation | |
CN115035231A (zh) | 阴影烘焙方法、装置、电子设备和存储介质 | |
CN113819913A (zh) | 一种路径规划方法及装置、计算机设备和存储介质 | |
CN112348965A (zh) | 成像方法、装置、电子设备及可读存储介质 | |
CN106600698B (zh) | 一种三维模型的快速绘制方法 | |
JP2009251887A (ja) | 画像生成システム、プログラム及び情報記憶媒体 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |