CN110755845A - 虚拟世界的画面显示方法、装置、设备及介质 - Google Patents

虚拟世界的画面显示方法、装置、设备及介质 Download PDF

Info

Publication number
CN110755845A
CN110755845A CN201911019070.0A CN201911019070A CN110755845A CN 110755845 A CN110755845 A CN 110755845A CN 201911019070 A CN201911019070 A CN 201911019070A CN 110755845 A CN110755845 A CN 110755845A
Authority
CN
China
Prior art keywords
virtual world
camera
virtual
road
module
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.)
Granted
Application number
CN201911019070.0A
Other languages
English (en)
Other versions
CN110755845B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Publication of CN110755845A publication Critical patent/CN110755845A/zh
Application granted granted Critical
Publication of CN110755845B publication Critical patent/CN110755845B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请公开了一种虚拟世界的画面显示方法、装置、设备及介质,涉及虚拟世界领域。该方法包括:所述第一终端显示第一虚拟世界画面,所述第一虚拟世界画面是采用第一视角观察所述虚拟世界得到的画面,所述第一视角是垂直于第一路段且以所述第一虚拟角色为观察焦点的视角;所述第二终端显示第二虚拟世界画面,所述第二虚拟世界画面是采用第二视角观察所述虚拟世界得到的画面,所述第二视角是垂直于第二路段且以所述第二虚拟角色为观察焦点的视角。该方法只改变观察虚拟世界的视角,不涉及运算逻辑层的大量改变,减轻服务器或/和终端的负载。

Description

虚拟世界的画面显示方法、装置、设备及介质
本申请要求于2019年10月21日提交的申请号为201911002577.5、发明名称为“虚拟世界的画面显示方法、装置、设备及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及虚拟世界领域,特别涉及一种虚拟世界的画面显示方法、装置、设备及介质。
背景技术
对战游戏是多个用户账号在同一场景内进行竞技的游戏。可选地,对战游戏可以是多人在线战术竞技游戏(Multiplayer Online Battle Arena Games,MOBA)。
在一种典型的MOBA游戏中,虚拟角色被分为第一阵营和第二阵营。为了实现两个阵营的游戏画面是尽可能相同的,比如两个阵营中的地图资源点位置都是相同的,为两个阵营提供了互为镜像且共享数据的两个虚拟世界。其中,第一用户控制第一阵营的虚拟角色在第一虚拟世界内活动,第二用户控制第二阵营的虚拟角色在第二虚拟世界内活动。其中,第一虚拟世界和第二虚拟世界是互为镜像的虚拟世界。
由于第一阵营的虚拟角色和第二阵营的虚拟角色分别在两个不同的虚拟世界内活动,需要分别设置两套与两个虚拟世界对应的运算逻辑,来分别计算两个阵营的虚拟角色在两个虚拟世界内的活动,计算量特别大,终端或/和服务器负载过重。
发明内容
本申请实施例提供了一种虚拟世界的画面显示方法、装置、设备及介质,可以解决第一阵营的虚拟角色和第二阵营的虚拟角色分别在两个不同的虚拟世界内活动,需要分别设置两套与两个虚拟世界对应的运算逻辑,来分别计算两个阵营虚拟角色在两个虚拟世界内的活动,计算量特别大,终端或/和服务器负载过重的问题。所述技术方案如下:
一方面,提供了一种虚拟世界的画面显示方法,所述虚拟世界包括:属于第一阵营的第一基地和属于第二阵营的第二基地,以及位于所述第一基地和所述第二基地之间的第一边路、中路和第二边路,在所述虚拟世界中进行对战的第一虚拟角色和第二虚拟角色,所述第二边路包括第一路段和第二路段,所述第一虚拟角色是第一终端控制的属于所述第一阵营的虚拟角色,所述第二虚拟角色是第二终端控制的属于所述第二阵营的虚拟角色,所述方法包括:
所述第一终端显示第一虚拟世界画面,所述第一虚拟世界画面是采用第一视角观察所述虚拟世界得到的画面,所述第一视角是垂直于所述第一路段且以所述第一虚拟角色为观察焦点的视角,所述第一路段是所述第二边路属于第一阵营的道路部分;
所述第二终端显示第二虚拟世界画面,所述第二虚拟世界画面是采用第二视角观察所述虚拟世界得到的画面,所述第二视角是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的视角,所述第二路段是所述第二边路属于第二阵营的道路部分。
另一方面,提供了一种虚拟世界的画面显示装置,所述虚拟世界包括:属于第一阵营的第一基地和属于第二阵营的第二基地,以及位于所述第一基地和所述第二基地之间的第一边路、中路和第二边路,在所述虚拟世界中进行对战的第一虚拟角色和第二虚拟角色,所述第二边路包括第一路段和第二路段,所述第一虚拟角色是属于所述第一阵营的虚拟角色,所述第二虚拟角色是属于所述第二阵营的虚拟角色,所述装置包括:
第一显示模块,用于当主控虚拟角色是所述第一虚拟角色时,显示第一虚拟世界画面,所述第一虚拟世界画面是采用第一视角观察所述虚拟世界得到的画面,所述第一视角是垂直于所述第一路段且以所述第一虚拟角色为观察焦点的视角,所述第一路段是所述第二边路属于第一阵营的道路部分;
第二显示模块,用于当主控虚拟角色是所述第一虚拟角色时,显示第二虚拟世界画面,所述第二虚拟世界画面是采用第二视角观察所述虚拟世界得到的画面,所述第二视角是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的视角,所述第二路段是所述第二边路属于第二阵营的道路部分。
另一方面,提供了一种虚拟世界的画面显示系统,所述虚拟世界包括:属于第一阵营的第一基地和属于第二阵营的第二基地,以及位于所述第一基地和所述第二基地之间的第一边路、中路和第二边路,在所述虚拟世界中进行对战的第一虚拟角色和第二虚拟角色,所述第二边路包括第一路段和第二路段,所述第一虚拟角色是属于所述第一阵营的虚拟角色,所述第二虚拟角色是属于所述第二阵营的虚拟角色,所述系统包括:第一客户端和第二客户端;
所述第一客户端,用于显示第一虚拟世界画面,所述第一虚拟世界画面是采用第一视角观察所述虚拟世界得到的画面,所述第一视角是垂直于所述第一路段且以所述第一虚拟角色为观察焦点的视角,所述第一路段是所述第二边路属于第一阵营的道路部分;
所述第二客户端,用于显示第二虚拟世界画面,所述第二虚拟世界画面是采用第二视角观察所述虚拟世界得到的画面,所述第二视角是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的视角,所述第二路段是所述第二边路属于第二阵营的道路部分。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的虚拟世界的画面显示方法中由第二终端执行的步骤。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的虚拟世界的画面显示方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
对属于不同阵营的第一虚拟角色和第二虚拟角色,分别采用第一视角和第二视角观察同一个虚拟世界,其中,第一视角是垂直于第一路段且以第一虚拟角色为观察焦点的视角,第二视角是垂直于第二路段且以第二虚拟角色为观察焦点的视角,第一路段边和第二路段垂直,即第一视角和第二视角互相垂直。通过以不同的视角观察同一虚拟世界不同阵营的虚拟角色,只改变观察虚拟世界的视角不改变虚拟世界(也即不需要提供互为镜像的两个虚拟世界),只需基于一个虚拟世界设置一套运算逻辑,使得运算逻辑简单,大大减少了计算量,减轻服务器或/和终端的负载。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一个示例性实施例提供的一种典型的MOBA游戏的虚拟世界;
图2是本申请另一个示例性实施例提供的以蓝方视角观察到的虚拟世界的示意图;
图3是本申请另一个示例性实施例提供的以红方视角观察到的虚拟世界的示意图;
图4是本申请另一个示例性实施例提供的在终端上显示用户界面的示意图;
图5是本申请另一个示例性实施例提供的在终端上显示用户界面的示意图;
图6是本申请另一个示例性实施例提供的虚拟世界的示意图;
图7是本申请另一个示例性实施例提供的虚拟世界的示意图;
图8是本申请另一个示例性实施例提供的另一种典型的MOBA游戏的镜像虚拟世界的示意图;
图9是本申请另一个示例性实施例提供的另一种典型的MOBA游戏的镜像虚拟世界的示意图;
图10是本申请另一个示例性实施例提供的另一种典型的MOBA游戏的镜像虚拟世界的示意图;
图11是本申请另一个示例性实施例提供的计算机系统的结构框图;
图12是本申请另一个示例性实施例提供的虚拟世界的示意图;
图13是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的方法流程图;
图14是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界的示意图;
图15是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界的示意图;
图16是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界的示意图;
图17是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟角色的视角对应的摄像机模型示意图;
图18是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界的示意图;
图19是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界画面的示意图;
图20是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的用户界面示意图;
图21是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界画面的示意图;
图22是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界画面的示意图;
图23是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的用户界面画面示意图;
图24是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界的示意图;
图25是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界的示意图;
图26是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界的示意图;
图27是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的方法流程图;
图28是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界的示意图;
图29是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的摄像机投影原理的示意图;
图30是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的摄像机投影原理的示意图;
图31是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的摄像机投影原理的示意图;
图32是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的摄像机投影原理的示意图;
图33是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界的示意图;
图34是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界画面的示意图;
图35是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界画面的示意图;
图36是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界画面的示意图;
图37是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界画面的示意图;
图38是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的对称位置计算原理图;
图39是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界画面的示意图;
图40是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界画面的示意图;
图41是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的方法流程图;
图42是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的方法流程图;
图43是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界阴影的示意图;
图44是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的虚拟世界阴影的示意图;
图45是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的方法流程图;
图46是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的用户界面示意图;
图47是本申请另一个示例性实施例提供的虚拟世界的画面显示方法的方法流程图;
图48是本申请另一个示例性实施例提供的虚拟世界的画面显示装置的装置框图;
图49是本申请另一个示例性实施例提供的虚拟世界的画面显示系统的框图;
图50是本申请另一个示例性实施例提供的终端的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行简单介绍:
虚拟世界:是应用程序在终端上运行时显示(或提供)的虚拟世界。该虚拟世界可以是对真实世界的仿真世界,也可以是半仿真半虚构的三维世界,还可以是纯虚构的三维世界。虚拟世界可以是二维虚拟世界、2.5维虚拟世界和三维虚拟世界中的任意一种。可选地,该虚拟世界还用于至少两个虚拟角色之间的虚拟世界对战,在该虚拟世界中具有可供至少两个虚拟角色使用的虚拟资源。可选地,该虚拟世界包括对称的左下角区域和右上角区域,属于两个敌对阵营的虚拟角色分别占据其中一个区域,并以摧毁对方区域深处的目标建筑/据点/基地/水晶来作为胜利目标。
虚拟角色:是指在虚拟世界中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物中的至少一种。可选地,当虚拟世界为三维虚拟世界时,虚拟角色可以是三维立体模型,每个虚拟角色在三维虚拟世界中具有自身的形状和体积,占据三维虚拟世界中的一部分空间。可选地,虚拟角色是基于三维人体骨骼技术构建的三维角色,该虚拟角色通过穿戴不同的皮肤来实现不同的外在形象。在一些实现方式中,虚拟角色也可以采用2.5维或2维模型来实现,本申请实施例对此不加以限定。
多人在线战术竞技是指:在虚拟世界中,分属至少两个敌对阵营的不同虚拟队伍分别占据各自的地图区域,以某一种胜利条件作为目标进行竞技。该胜利条件包括但不限于:占领据点或摧毁敌对阵营据点、击杀敌对阵营的虚拟角色、在指定场景和时间内保证自身的存活、抢夺到某种资源、在指定时间内比分超过对方中的至少一种。战术竞技可以以局为单位来进行,每局战术竞技的地图可以相同,也可以不同。每个虚拟队伍包括一个或多个虚拟角色,比如1个、2个、3个或5个。
MOBA游戏:是一种在虚拟世界中提供若干个据点,处于不同阵营的用户控制虚拟角色在虚拟世界中对战,占领据点或摧毁敌对阵营据点的游戏。例如,MOBA游戏可将用户分成两个敌对阵营,将用户控制的虚拟角色分散在虚拟世界中互相竞争,以摧毁或占领敌方的全部据点作为胜利条件。MOBA游戏以局为单位,一局MOBA游戏的持续时间是从游戏开始的时刻至达成胜利条件的时刻。
下面分别介绍两种典型的MOBA游戏。
第一种典型的MOBA游戏。
图1是一种典型的MOBA游戏的虚拟世界二维地图。在这种典型的MOBA游戏中虚拟角色被分为红方和蓝方两个阵营,每个阵营分别有五个虚拟角色,一共十个虚拟角色共同进行一场MOBA游戏对局。
如图1所示,虚拟世界地图呈正方形,且被分为以下几个部分,在正方形的一个对角线的两端分别有两个阵营的基地(水晶),即蓝方基地1001和红方基地1002;连接蓝方基地1001和红方基地1002的三条进攻路线,分别是:上路1003、中路1004、下路1005;公共区域:河道1006,以及野区1007。
两个阵营的虚拟角色分别出生在各自的基地位置,同一阵营的五个虚拟角色分别沿三个进攻方向向敌方发起进攻,摧毁对方阵营的基地即可获得游戏的胜利。其中,蓝方阵营出生在蓝方基地1001,红方阵营出生在红方基地1002,并且两个阵营的虚拟角色都以我方基地位于观察视角的左下角的视角观察虚拟世界。即蓝方虚拟角色以第一视角1008观察虚拟世界,红方虚拟角色以第二视角1009观察虚拟世界,并且针对各自的视角,三个进攻方向从左向右分别是上路、中路和下路。示例性的,如图2所示,是以蓝方虚拟角色的第一视角1008观察到的虚拟世界,其中蓝方基地1001位于虚拟世界画面的左下角;如图3所示,是以红方虚拟角色的第二视角1009观察到的虚拟世界,其中红方基地1002位于虚拟世界画面的左下角。
这样设置两个阵营的视角,无论用户控制的虚拟角色属于红方阵营或是属于蓝方阵营,敌方阵营的基地永远在虚拟世界画面的右上角,虚拟角色的进攻方向也永远是虚拟世界画面的右上方向,有助于用户操控虚拟角色。但这样的设置也存在一个问题,即蓝方的下路是红方的上路,当蓝方虚拟角色和红方虚拟角色都位于蓝方下路与红方上路的交界处(河道)时,蓝方用户在终端上看到的用户界面如图4所示,有部分虚拟世界画面被UI(UserInterface,用户界面)控件1010遮挡住,但较危险的河道1006区域(红方的虚拟角色,比如刺客,可能从河道1006突然发起进攻)并没有被遮挡,因此蓝方用户的视野较为开阔。而红方在终端上看到的用户界面如图5所示,同样有部分虚拟世界画面被UI控件1010遮挡,并且较危险的河道1006区域会被UI控件遮挡住,影响了红方用户的视野,导致红方用户不便于观察河道1006区域,容易被蓝方的刺客击杀。
因此,下路1005相比于上路1003更加安全。
同一阵营的五个虚拟角色通常为五个不同类型的虚拟角色,示例性的,虚拟角色的类型可以是:
战士:血量较多,防御力较高,攻击力较高,攻击距离短,移动较灵活,通常具有一定的位移技能,可以在一定程度上抵挡敌方伤害,或对敌方造成伤害。位移技能是可以使虚拟角色加快移动速度,或向某一方向冲出一段距离,或从一个点瞬间移动到另一点的技能。
法师:血量极低,防御力极低,攻击力非常高且为法术伤害,攻击距离长,移动不灵活,容易被击杀,因此通常在战士或坦克/辅助的保护下对敌方进行攻击。
坦克/辅助:血量非常多,防御力非常高,攻击力极低,攻击距离短,通常适合在队伍前方为队友抵挡伤害,保护其他队友。
射手:与法师类似,不同的是射手具有的是非常高的物理伤害,适合持续性输出,以及攻击防御塔和基地。
刺客:血量较低,防御力较低,攻击力高,攻击距离短,移动非常灵活,通常具有很多位移技能,适合对敌方的法师、或射手发起突击,有瞬间击杀敌方法师或射手的能力。
由于不同类型的虚拟角色有各自特点,结合上路和下路在视野上的优劣势,不同类型的虚拟角色通常以固定的进攻方向向敌方发起进攻。通常由射手(和坦克/辅助)从较安全的下路1005向敌方发起进攻;由法师从中路1004向敌方发起进攻;由具有一定位移优势的战士从较危险的上路1003向敌方发起进攻;刺客则主要活动在野区1007,伺机支援上路中路1004或下路1005的队友。
这样会导致虚拟角色会同与自己类型不同的敌方虚拟角色对战,蓝方的射手对战红方的战士,而蓝方的战士对战红方的射手,影响游戏的公平和用户的体验。示例性的,如图6所示,蓝方的射手一号1011从蓝方的下路1005向红方进攻,蓝方的战士一号1012从蓝方的上路1003向红方进攻,红方的射手二号1013从红方的下路1005向蓝方发起进攻,红方的战士二号从红方的上路1005向蓝方发起进攻。即射手一号1011对战战士二号1014,战士一号1012对战射手二号1013。
而为了使游戏更加公平,更加合理的对战方式如图7所示,蓝方的射手一号1011对战红方的射手二号1013,蓝方的战士一号1012对战红方的战士二号1014。为了实现这样的对战方式,需要解决如何使蓝方的下路和红方的下路为同一条路线的问题,即,将蓝方或红方其中一方的上下路互换,使原本的下路变为上路,原本的上路变为下路。示例性的,将红方的上下路变为如图7所示的上路1003和下路1005的位置。使蓝方的下路1005同样为红方的下路1005,蓝方的上路1003同样为红方的上路1003。
第二种典型的MOBA游戏即实现了这种更加合理的对战方式。
第二种典型的MOBA游戏。
第二种典型的MOBA游戏模式与第一种典型的MOBA游戏在游戏玩法上相同,同样是正方形的虚拟世界,第一阵营和第二阵营的基地同样位于正方形的对角线上,同样是每个阵营五个虚拟角色分别沿三个进攻方向向敌方发起进攻。不同的是,第一阵营的下路同时也是第二阵营的下路,第一阵营的上路同时也是第二阵营的上路。第二种典型的MOBA游戏是以下面的方法实现这种更加合理的对战方式的。
首先有第一虚拟世界,然后作关于第一虚拟世界地平面镜像的第二虚拟世界。如图8所示,有第一虚拟世界1101,以及第一虚拟世界1101关于地平面1102对称的第二虚拟世界1103,即,第二虚拟世界是第一虚拟世界的镜像倒影。
若以垂直于第一虚拟世界地平面且指向天空的方向为y轴正半轴方向1104,则,控制第一阵营虚拟角色的用户看到的虚拟世界,是在视角位于y轴正半轴的空间所观察到的第一虚拟世界,如图9所示,是控制第一阵营虚拟角色的用户观察到的第一虚拟世界。控制第二阵营虚拟角色的用户看到的虚拟世界,是在视角位于y轴负半轴的空间所观察到的第二虚拟世界,如图10所示,是控制第二阵营虚拟角色的用户观察到的第二虚拟世界。可以看出,第一虚拟世界1101和第二虚拟世界1103是左右相反的世界,这种方法可实现将第二阵营的上下路对调,控制第二阵营虚拟角色的用户看到的下路同样也是控制第一阵营虚拟角色的用户看到的下路。
但第二种典型的MOBA游戏,将两个互为镜像的虚拟世界分别展示给两个阵营的用户,其中第一阵营的用户以y轴正半轴的视角观察第一虚拟世界,并控制虚拟角色在第一虚拟世界活动;第二阵营的用户以y轴负半轴的视角观察第二虚拟世界,并控制虚拟角色在第二虚拟世界活动。由于第一虚拟世界和第二虚拟世界是完全相反的两个世界,服务器需要为第一虚拟世界和第二虚拟世界分别设置两套运算逻辑,用第一运算逻辑来计算第一阵营的虚拟角色在第一虚拟世界的活动信息,例如:移动位置、技能释放方向等,用第二运算逻辑来计算第二阵营的虚拟角色在第二虚拟世界的活动信息,之后还需要将一个虚拟世界的运算结果显示到另一个虚拟世界上,这其中需要通过大量的计算来实现两个虚拟世界的同步,服务器和终端的工作量过大,严重加重了服务器和终端的负载。
而本申请提供的虚拟世界的画面显示方法,只需要改变两个阵营中一个阵营的用户观察虚拟世界的视角,不需要有镜像的第二虚拟世界,不需要改变虚拟世界模型的在世界坐标系的坐标,更不需要改变虚拟世界原有的运算逻辑,可以用极少的计算量就实现将上下路对调的显示效果。
图11给出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统100包括:第一终端110、服务器集群120、第二终端130。
第一终端110安装和运行有支持虚拟世界的客户端111,该客户端111可以是多人在线对战程序。当第一终端运行客户端111时,第一终端110的屏幕上显示客户端111的用户界面。该客户端可以是军事仿真程序、MOBA游戏、大逃杀射击游戏、SLG游戏的任意一种。在本实施例中,以该客户端是MOBA游戏来举例说明。第一终端110是第一用户112使用的终端,第一用户112使用第一终端110控制位于虚拟世界中的第一虚拟角色进行活动,第一虚拟角色可以称为第一用户112的主控虚拟角色。第一虚拟角色的活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、飞行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,第一虚拟角色是第一虚拟人物,比如仿真人物角色或动漫人物角色。
第二终端130安装和运行有支持虚拟世界的客户端131,该客户端131可以是多人在线对战程序。当第二终端130运行客户端131时,第二终端130的屏幕上显示客户端131的用户界面。该客户端可以是军事仿真程序、MOBA游戏、大逃杀射击游戏、SLG游戏中的任意一种,在本实施例中,以该客户端是MOBA游戏来举例说明。第二终端130是第二用户113使用的终端,第二用户113使用第二终端130控制位于虚拟世界中的第二虚拟角色进行活动,第二虚拟角色可以称为第二用户113的主控虚拟角色。示意性的,第二虚拟角色是第二虚拟人物,比如仿真人物角色或动漫人物角色。
可选地,第一虚拟人物和第二虚拟人物处于同一虚拟世界中。可选地,第一虚拟人物和第二虚拟人物可以属于同一个阵营、同一个队伍、同一个组织、具有好友关系或具有临时性的通讯权限。可选的,第一虚拟人物和第二虚拟人物可以属于不同的阵营、不同的队伍、不同的组织或具有敌对关系。
可选地,第一终端110和第二终端130上安装的客户端是相同的,或两个终端上安装的客户端是不同操作系统平台(安卓或IOS)上的同一类型客户端。第一终端110可以泛指多个终端中的一个,第二终端130可以泛指多个终端中的另一个,本实施例仅以第一终端110和第二终端130来举例说明。第一终端110和第二终端130的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机中的至少一种。
图11中仅示出了两个终端,但在不同实施例中存在多个其它终端140可以接入服务器集群120。可选地,还存在一个或多个终端140是开发者对应的终端,在终端140上安装有支持虚拟世界的客户端的开发和编辑平台,开发者可在终端140上对客户端进行编辑和更新,并将更新后的客户端安装包通过有线或无线网络传输至服务器集群120,第一终端110和第二终端130可从服务器集群120下载客户端安装包实现对客户端的更新。
第一终端110、第二终端130以及其它终端140通过无线网络或有线网络与服务器集群120相连。
服务器集群120包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器集群120用于为支持三维虚拟世界的客户端提供后台服务。可选地,服务器集群120承担主要计算工作,终端承担次要计算工作;或者,服务器集群120承担次要计算工作,终端承担主要计算工作;或者,服务器集群120和终端之间采用分布式计算架构进行协同计算。
在一个示意性的例子中,服务器集群120包括服务器121和服务器126,服务器121包括处理器122、用户账号数据库123、对战服务模块124、面向用户的输入/输出接口(Input/Output Interface,I/O接口)125。其中,处理器122用于加载服务器121中存储的指令,处理用户账号数据库123和对战服务模块124中的数据;用户账号数据库123用于存储第一终端110、第二终端130以及其它终端140所使用的用户账号的数据,比如用户账号的头像、用户账号的昵称、用户账号的战斗力指数,用户账号所在的服务区;对战服务模块124用于提供多个对战房间供用户进行对战,比如1V1对战、3V3对战、5V5对战等;面向用户的I/O接口125用于通过无线网络或有线网络和第一终端110和/或第二终端130建立通信交换数据。可选地,服务器126内设置有智能信号模块127,该智能信号模块127用于实现下述实施例中提供的虚拟世界的画面显示方法。
图12示出了本申请一个示例性实施例示出的MOBA游戏的虚拟世界的示意图。该虚拟世界呈正方形,示例性的,虚拟世界可以是任意形状的。该虚拟世界沿中路对角线分为左下三角区域220和右上三角区域240。从左下三角区域220的左下角到右上三角区域240的右上角存在三条路线:第一边路1302、中路1303和第二边路1304。
其中,第二边路1304包括第一路段1206和第二路段1207,第一路段1206是第二边路中靠近第一阵营(第一基地1305)的路段,第二路段1207是第二边路中靠近第二阵营(第二基地1306)的路段。示例性的,第一路段1206上有属于第一阵营的防御塔,第二路段1207上有属于第二阵营的防御塔。
在一场典型的对局中,需要10个虚拟角色分成两支阵营来进行竞技。第一阵营的5个虚拟角色占据左下三角区域220,第二阵营的5个虚拟角色占据右上三角区域240。第一阵营以摧毁或占领第二阵营的部分或全部据点作为胜利条件,第二阵营以摧毁或占领第一阵营的部分或全部据点作为胜利条件。
示例性的,第一阵营的据点包括:9座防御塔24和第一基地1305。其中,9座防御塔24在第一边路1302、中路1303和第二边路1304中分别有3座;第一基地1305位于左下三角区域220的左下角。
示例性的,第二阵营的据点包括:9座防御塔24和第二基地1306。其中,9座防御塔24在第一边路1302、中路1303和第二边路1304中分别有3座;第二基地1306位于右上三角区域220的右上角。
在图12中虚线所在的位置,可称为河道区域。该河道区域属于第一阵营和第二阵营的共有区域,也是左下三角区域220和右上三角区域240的接壤区域。
MOBA游戏需要各个虚拟角色在虚拟世界中获取资源,从而提升虚拟角色的战斗能力。该资源包括:
1、周期性出现在第一边路1302、中路1303和第二边路1304上的小兵,小兵被击杀时,附近的虚拟角色会得到经验和金币。
2、由中路(左下至右上的对角线)和河道区域(左上至右下的对角线)作为分割线可以划分为4个三角区域A、B、C、D(也称四个野区),这4个三角区域A、B、C、D中会周期性刷新野怪,野怪被击杀时,附近的虚拟角色会得到经验、金币和增益(BUFF)效果。
3、在河道区域中的两个对称位置中存在周期性刷新的大龙27和小龙28。大龙27和小龙28在被击杀时,击杀方阵营的各个虚拟角色都会得到经验、金币和BUFF效果。大龙27可称为“主宰”或“凯撒”等其他名称,小龙28可称为“暴君”或“魔龙”等其他名称。
在一个示例中,上下路河道处各有一只金币怪,在开局30秒时出现。击杀后获得金币,70秒刷新。
A区:有一个红BUFF、两只普通野怪(一只猪和一只鸟)、和一只暴君(小龙)。红BUFF和野怪在开局30秒时出现,普通野怪击杀后70秒刷新,红BUFF击杀后每90秒刷新一次。
暴君在开局2分钟时出现,击杀后三分钟刷新,击杀后全队获得金币和经验奖励。在9分55秒暴君将堕入黑暗,10分钟时出现黑暗暴君,击杀黑暗暴君将获得暴君的复仇BUFF。
B区:有一个蓝BUFF,两只普通野怪(一只狼和一只鸟),蓝BUFF也是在30秒出现,击杀后每90秒刷新一次。
C区:C区和B区相同,两只普通野怪(一只狼和一只鸟),同样蓝BUFF也是30秒出现,每90秒刷新一次。
D区:D区和A区类似,一个红BUFF,两只普通野怪(一只猪和一只鸟),红BUFF也是增加输出和减速。还有一只主宰(大龙)。主宰是开局8分钟时出现,击杀后五分钟刷新,击杀主宰可以获得主宰BUFF、羁绊BUFF和线上的主宰先锋(或手动召唤的天空巨龙(也称骨龙))。
在一个示例性的例子中,BUFF详解:
红BUFF:持续70秒,攻击将附带持续性灼烧伤害和减速。
蓝BUFF:持续70秒,可以冷却时间缩短,每秒额外回复一定法力。
击杀黑暗暴君获得黑暗暴君BUFF和羁绊BUFF:
黑暗暴君BUFF:增加全队物理攻击(80+5%当前攻击),增加全队法术攻击(120+5%当前法术攻击),持续90S。
羁绊BUFF:对主宰的输出降低50%,死亡不消失,持续90S。
击杀主宰能够获得主宰BUFF和羁绊BUFF:
主宰BUFF:可以提升全队每秒1.5%的生命回复和法力回复。持续90秒。死亡会失去主宰BUFF。
羁绊BUFF:对黑暗暴君的输出降低50%,死亡不消失,持续90S。
击杀主宰后可获得收益:
1、全队成员获得100金币,不管主控虚拟角色有没有参与打主宰,都会获得效益,包括处于复活CD的主控虚拟角色。
2、从击杀主宰一刻开始,击杀方的接下来三波(三条路)士兵将全部被换成主宰先锋(飞龙)。主宰先锋非常强力,而且会在三路齐推,对对方带来巨大兵线压力,对手需要分路防守。在地图上会发出主宰先锋的警报,并且中间会有提示主宰先锋来临波数(一般为三波)。
10个虚拟角色的战斗能力包括两部分:等级和装备,等级由积累的经验值来获得,装备由积累的金币来购买获得。10个虚拟角色可以由服务器通过在线匹配10个用户账号来得到。示例性的,服务器在线匹配2个或6个或10个用户账号在同一个虚拟世界中进行竞技的界面。该2个或6个或10个虚拟角色分别属于敌对的两个阵营,两个阵营所对应的虚拟角色数量是相同的。比如,每个阵营具有5个虚拟角色,这5个虚拟角色的分工可以是:战士、刺客、法师、坦克/辅助和射手。
上述对战可以以局为单位来进行,每局对战的地图可以相同,也可以不同。每个阵营包括一个或多个虚拟角色,比如1个、3个或5个。
图13示出了本申请一个示例性实施例提供的虚拟世界的画面显示方法的流程图。该方法可以由上述图11中的任一终端来执行,虚拟世界包括:属于第一阵营的第一基地和属于第二阵营的第二基地,以及位于第一基地和第二基地之间的第一边路、中路和第二边路,在虚拟世界中进行对战的第一虚拟角色和第二虚拟角色,第二边路包括第一路段和第二路段,第一路段是第二边路属于第一阵营的道路部分,第二路段是第二边路属于第二阵营的道路部分,第一虚拟角色是第一终端控制的属于第一阵营的虚拟角色,第二虚拟角色是第二终端控制的属于第二阵营的虚拟角色,该方法包括:
对局开始。
该对局是第一虚拟角色和第二虚拟角色共同参与的对局。
步骤101:第一终端显示第一虚拟世界画面,第一虚拟世界画面是采用第一视角观察虚拟世界得到的画面,第一视角是垂直于第一路段且以第一虚拟角色为观察焦点的视角。
示例性的,虚拟世界是具有任意边界形状的虚拟世界。示例性的,虚拟世界中有中路对角线,虚拟世界的中路对角线是虚拟世界中的一条直线。示例性的,中路对角线的两个点上有第一基地和第二基地,示例性的,第一基地和第二基地分别位于中路对角线的两端。第一基地是属于第一阵营的基地,第二基地是属于第二阵营的基地。第一边路、中路和第二边路是虚拟世界中连接第一基地和第二基地的三条路,
示例性的,第一边路和第二边路是连接第一基地和第二基地且有一个转折点的折线,中路是连接第一基地和第二基地的直线。示例性的,第二边路的转折点将第二边路分为两段直线,分别是第一路段和第二路段,示例性的,第一路段是第一基地到第二边路转折点的直线,第二路段是第二基地到第二边路转折点的直线。示例性的,第一路段上有属于第一阵营的防御塔,第二路段上有属于第二阵营的防御塔。示例性的,第一路段和第二路段互相垂直。
示例性的,虚拟世界是三维的虚拟世界,如图14所示,虚拟世界1200包括:位于中路对角线上的第一基地1305和第二基地1306,以及位于第一基地1305和第二基地1306之间的第一边路1302、中路1303和第二边路1304,在虚拟世界中进行对战的第一虚拟角色1204和第二虚拟角色1205。其中,第二边路1304包括第一路段1206和第二路段1207,第一路段1206是第二边路中属于第一阵营的道路部分,第二路段1207是第二边路中属于第二阵营的道路部分。示例性的,第一路段1206是图14中直线所表示的路段,第二路段1207是图14中虚线所表示的路段。示例性的,第一路段1206是第二边路1304中靠近第一基地1305的一段线段,第二路段1207是第二边路1304中靠近第二基地1306的一段线段。示例性的,第一路段1206上有属于第一阵营的防御塔,第二路段1207上有属于第二阵营的防御塔。第一虚拟角色1204是第一终端控制的属于第一阵营的虚拟角色,第二虚拟角色1205是第二终端控制的属于第二阵营的虚拟角色。
示例性的,第一边路和第二边路可以通过虚拟世界中的地形特点来辨别,如图14所示,第一边路1302是靠近小龙坑1221且呈折线的道路,第二边路1304是靠近大龙坑1220且呈折线的道路。示例性的,第一路段和第二路段也可以通过虚拟世界中的地形特点来辨别,如图14所示,以中路1303为对称线,第一路段1206是大龙坑1220侧靠近第一基地1305的路段,第二路段是大龙坑1220侧靠近第二基地1306的路段。
示例性的,如图14所示,虚拟世界的地平面1201呈矩形或正方形。示例性的,虚拟世界的地平面可以呈任意形状,例如:菱形、圆形、不规则形状,即虚拟世界的地平面边界线可以使不规则的直线或曲线。示例性的,虚拟世界中的第一边路和第二边路组成的形状接近四边形,例如:第一边路和第二边路组成的形状是有两个角是圆角的矩形,或,第一边路和第二边路组成的形状是菱形,或第一边路和第二边路组成的形状是非对称的四边形。
第一虚拟世界画面是采用第一视角观察虚拟世界得到的画面。其中,第一视角是垂直于第一路段且以第一虚拟角色为观察焦点的视角。
观察焦点是以某一视角观察虚拟世界时的对焦点。观察焦点一定位于视角的视线范围内。视线范围是视角在观察虚拟世界时,可以看到的虚拟世界的范围。示例性的,观察焦点位于视线范围内,即视角获取的虚拟世界画面中存在观察焦点。示例性的,观察焦点是视角观察虚拟世界时的中点,即视角以观察焦点为中心向四周观察虚拟世界,从而形成一定的视线范围。示例性的,观察焦点位于视角获取的虚拟世界画面的中心点(或者说,摄像机的摄影中线上)。
示例性的,以第一虚拟角色为观察焦点,即以第一视角观察虚拟世界时,第一虚拟角色位于第一视角的可视范围内。可选的,第一虚拟角色位于第一视角的视觉中心,即位于采用第一视角观察虚拟世界得到的第一虚拟世界画面的中心。
示例性的,如图15所示,是一种第一虚拟世界画面,第一视角1211垂直于第一路段1206且以第一虚拟角色1204为观察焦点,即以第一视角1211观察虚拟世界1200得到的第一虚拟世界画面中有第一虚拟角色1204。
视角是指以虚拟角色的第一人称视角或者第三人称视角在虚拟世界中进行观察时的观察角度。可选地,本申请的实施例中,视角是在虚拟世界中通过摄像机模型对虚拟角色进行观察时的角度。
可选地,摄像机模型在虚拟世界中对虚拟角色进行自动跟随,即,当虚拟角色在虚拟世界中的位置发生改变时,摄像机模型跟随虚拟角色在虚拟世界中的位置同时发生改变,且该摄像机模型在虚拟世界中始终处于虚拟角色的预设距离范围内。可选地,在自动跟随过程中,摄像头模型和虚拟角色的相对位置不发生变化。
摄像机模型是指在虚拟世界中位于虚拟角色周围的三维模型,当采用第一人称视角时,该摄像机模型位于虚拟角色的头部附近或者位于虚拟角色的头部;当采用第三人称视角时,该摄像机模型可以位于虚拟角色的后方并与虚拟角色进行绑定,也可以位于与虚拟角色相距预设距离的任意位置,通过该摄像机模型可以从不同角度对位于虚拟世界中的虚拟角色进行观察,可选地,该第三人称视角为第一人称的过肩视角时,摄像机模型位于虚拟角色(比如虚拟人物的头肩部)的后方。可选地,除第一人称视角和第三人称视角外,视角还包括其他视角,比如俯视视角;当采用俯视视角时,该摄像机模型可以位于虚拟角色头部的上空,俯视视角是以从空中俯视的角度进行观察虚拟世界的视角。可选地,该摄像机模型在虚拟世界中不会进行实际显示,即,在用户界面显示的虚拟世界中不显示该摄像机模型。
对该摄像机模型位于与虚拟角色相距预设距离的任意位置为例进行说明,可选地,一个虚拟角色对应一个摄像机模型,该摄像机模型可以以虚拟角色为旋转中心进行旋转,如:以虚拟角色的任意一点为旋转中心对摄像机模型进行旋转,摄像机模型在旋转过程中的不仅在角度上有转动,还在位移上有偏移,旋转时摄像机模型与该旋转中心之间的距离保持不变,即,将摄像机模型在以该旋转中心作为球心的球体表面进行旋转,其中,虚拟角色的任意一点可以是虚拟角色的头部、躯干、或者虚拟角色周围的任意一点,本申请实施例对此不加以限定。可选地,摄像机模型在对虚拟角色进行观察时,该摄像机模型的视角的中心指向为该摄像机模型所在球面的点指向球心的方向。
示例性的,如图16所示,有第一摄像机模型1230和第二摄像机模型1231分别拍摄第一虚拟角色1204和第二虚拟角色1205。
可选地,该摄像机模型还可以在虚拟角色的不同方向以预设的角度对虚拟角色进行观察。
示意性的,请参考图17,在虚拟角色11中确定一点作为旋转中心12,摄像机模型围绕该旋转中心12进行旋转,可选地,该摄像机模型配置有一个初始位置,该初始位置为虚拟角色后上方的位置(比如脑部的后方位置)。示意性的,如图17所示,该初始位置为位置13,当摄像机模型旋转至位置14或者位置15时,摄像机模型的视角方向随摄像机模型的转动而进行改变。
由于第一虚拟角色位于虚拟世界内,即第一视角是垂直于第一路段指向虚拟世界内的视角。示例性的,视角是偏向地面45°的视角。
示例性的,第一虚拟世界画面可以是虚拟世界的全部画面或虚拟世界的部分画面。示例性的,如图18所示,是以第一视角观察虚拟世界得到的第一虚拟世界画面。示例性的,当第一虚拟角色1204位于第一视角的视觉中心时,如图19所示,是另一种以第一视角观察虚拟世界得到的第一虚拟世界画面。
示例性的,如图20所示,第一终端显示第一虚拟世界画面。
步骤102:第二终端显示第二虚拟世界画面,第二虚拟世界画面是采用第二视角观察虚拟世界得到的画面,第二视角是垂直于第二路段且以第二虚拟角色为观察焦点的视角。
第二虚拟世界画面是采用第二视角观察虚拟世界得到的画面。第二视角是垂直于第二路段且以第二虚拟角色为观察焦点的视角。
示例性的,当虚拟世界的边界是矩形时,虚拟世界的二维俯视图可以视为虚拟世界的矩形地图,则第一视角还可以是垂直于矩形地图第一矩形边的视角,第二视角还可以是垂直于矩形地图第二矩形边的视角。
示例性的,第一视角是垂直于矩形地图的第一矩形边且以第一虚拟角色为观察焦点的视角。第二视角是垂直于矩形地图的第二矩形边且以第二虚拟角色为观察焦点的视角。
矩形地图的第一矩形边是虚拟角色处于第一阵营且面对第二阵营方向站立时,位于虚拟角色右手边的矩形地图边线。或,矩形地图的第一矩形边是,当第一阵营位于矩形地图的左下角时,以第一阵营为起点逆时针旋转依次为矩形地图的第一矩形边、第二矩形边、第三矩形边和第四矩形边。或,矩形地图的第一矩形边是第二边路的第一路段对应的矩形边,矩形地图的第二矩形边是第二边路的第二路段对应的矩形边。或,矩形地图的第一矩形边是第二边路中靠近第一阵营(第一基地)的矩形边,矩形地图的第二矩形边是第二边路中靠近第二阵营(第二基地)的矩形边。
示例性的,在虚拟世界内用上述方式确定了第一矩形边后,第一矩形边不会随着显示方式的改变而变动。示例性的,在确定了第一矩形边后,可以根据矩形地图上的地形特点来辨别第一矩形边。示例性的,其他矩形边也可以通过矩形地图的地形特点来辨别。
例如:第一矩形边是第一阵营侧靠近大龙坑的矩形边,第二矩形边是第二阵营侧远离小龙坑的矩形边,第三矩形边是第二阵营侧靠近小龙坑的矩形边,第四矩形边是第一阵营侧远离大龙坑的矩形边。
矩形地图的第二矩形边是垂直于第一矩形边且靠近第二阵营位置的矩形地图边线。
由于第二虚拟角色位于虚拟世界内,即第二视角是垂直于第二路段指向虚拟世界内的视角。
示例性的,以第二虚拟角色为观察焦点,即以第二视角观察虚拟世界时,第二虚拟角色位于第二视角的可视范围内。可选的,第二虚拟角色位于第二视角的视觉中心,即第二虚拟角色位于采用第二视角观察虚拟世界得到的第一虚拟世界画面的中心。
示例性的,如图15所示,第二视角1212垂直于第二路段1207且以第二虚拟角色1205为观察焦点。
示例性的,第二虚拟世界画面可以是虚拟世界的全部画面或虚拟世界的部分画面。示例性的,如图21所示,是以第二视角观察虚拟世界得到的第二虚拟世界画面,在第二虚拟世界画面中,有第一基地1305、第二基地1306、第一路段1206、第二路段1207,即相当于将如图18所示的虚拟世界,以虚拟世界中心为轴,顺时针旋转90°观察到的虚拟世界画面。示例性的,当第二虚拟角色1205位于第二视角的视觉中心时,如图22所示,是另一种以第二视角观察虚拟世界得到的第二虚拟世界画面。
示例性的,如图23所示,终端显示第二虚拟世界画面。
综上所述,本实施例提供的方法,对不同阵营的第一虚拟角色和第二虚拟角色,分别采用第一视角和第二视角观察虚拟世界,其中,第一视角是垂直于第一路段且以第一虚拟角色为观察焦点的视角,第二视角是垂直于第二路段且以第二虚拟角色为观察焦点的视角,第一路段边和第二路段垂直,即第一视角和第二视角互相垂直。通过以不同的视角观察同一虚拟世界中不同阵营的虚拟角色,只改变观察虚拟世界的视角不改变虚拟世界,只需为一个虚拟世界设置一套运算逻辑,运算逻辑简单,大大减少了计算量,减轻服务器或/和终端的负载。
使用本申请提供的虚拟世界的画面显示方法显示的虚拟世界,还具有以下特征。
虚拟世界包括:属于第一阵营的第一基地和属于第二阵营的第二基地,以及位于第一基地和第二基地之间的第一边路、中路和第二边路。
第一基地是第一阵营的基地,第二基地是第二阵营的基地。示例性的,游戏胜利的条件是摧毁敌方阵营的基地,即第一阵营虚拟角色的获胜条件是摧毁第二基地,第二阵营虚拟角色的获胜条件是摧毁第一基地。
示例性的,当第一基地位于虚拟世界的左下角,第二基地位于虚拟世界的右上角时,第一边路是中路对角线上方的虚拟世界的两个边线,第二边路是中路对角线下方的虚拟世界的两个边线。
示例性的,如图24所示,在虚拟世界中有位于中路对角线1301上的第一基地1305和第二基地1306,以及位于第一基地1305和第二基地1306之间的第一边路1302、中路1303和第二边路1304。
第一边路在第一虚拟世界画面和第二虚拟世界画面的显示位置相同。
第二边路在第一虚拟世界画面和第二虚拟世界画面的显示位置相同。
示例性的,如图25所示,图25中的a是以第一视角观察虚拟世界得到的第一虚拟世界画面,图25中的b是以第二视角观察虚拟世界得到的第二虚拟世界画面。
在图25中的a所示的第一虚拟世界画面中有位于第一虚拟世界画面上方和左侧的第一边路1302,和位于下方和右侧的第二边路1304。其中第一阵营1305位于虚拟世界的左下角,第二阵营1306位于虚拟世界的右上角,第二虚拟角色1205位于靠近第二阵营1306的第一边路1302上。
在图25中的b所示的第二虚拟世界画面中有位于第二虚拟世界画面上方和左侧的第一边路1302,和位于下方和右侧的第二边路1304。其中第一阵营1305位于虚拟世界的右上角,第二阵营1306位于虚拟世界的左下角,第二虚拟角色1205同样位于靠近第二阵营1306的第一边路1302上。
从图25中的a和图25中的b中可以看出,第一边路在第一虚拟世界画面和第二虚拟世界画面中都位于虚拟世界画面的上方和左侧,第二边路在第一虚拟世界画面和第二虚拟世界画面中都位于虚拟世界画面的下方和右侧。即,第一边路在第一虚拟世界画面和第二虚拟世界画面的显示位置相同;第二边路在第一虚拟世界画面和第二虚拟世界画面的显示位置相同。
虚拟世界包括:背景模型和前景模型,背景模型是虚拟世界中背景的三维模型,前景模型是虚拟世界中背景上方的非对称三维模型。
背景模型是虚拟世界中背景的三维模型。示例性的,背景模型是不需要区分左右的模型。不需要区分左右是指,即使将模型左右相反也不会影响虚拟世界运行逻辑或违背现实世界的逻辑规律。例如,人体模型需要区分左右,因为以现实世界的逻辑规律人应该用右手拿刀;鸟的模型不需要区分左右,因为虚拟世界内显示的鸟比较小,且鸟左右相反并没有逻辑上的影响。背景模型可以是:地理模型、建筑模型、地形模型、植物模型、河流模型、石头模型、篝火模型、小动物模型等。示例性的,背景模型是固定在虚拟世界内不可移动的模型或以固定方式移动的模型。
前景模型是虚拟世界中背景上方的非对称三维模型。示例性的,虚拟世界中背景上方是背景模型上方,或地平面上方。非对称三维模型即左右不对称的模型。示例性的,非对称三维模型是需要区分左右的模型。前景模型可以是:虚拟角色模型、野怪模型、野兽模型、主宰模型、大龙模型、河蟹模型、红BUFF模型、野猪模型、野狼模型等。示例性的,前景模型是在虚拟世界内可以移动或可以灵活移动的模型。
示例性的,如图26所示,虚拟世界1200中的前景模型包括:第一虚拟角色1204、第二虚拟角色1205和大龙1307;背景模型包括:防御塔1308、第二基地1306、地形1309。
背景模型的左右方位在第一虚拟世界画面和第二虚拟世界画面中是对称的。
左右方位是模型本身的左右。例如,第一虚拟角色的左右,即左手方位和右手方位。
左右方位对称是模型本身左右对称。示例性的,模型本身关于模型本身的中轴线左右对称。
背景模型在第一虚拟画面和第二虚拟画面中其本身是左右对称的。示例性的,如图25中的a所示,以地形1309为例,若面对地形1309的凹陷处,即图中箭头所示的方向,则左边是地形1309的长边,右边是地形1309的短边。而在图25中的b所示,同样面对地形1309的凹陷处,即图中箭头所示的方向,则左边是地形1309地短边,右边是地形1309的长边。
前景模型的左右方位在第一虚拟世界画面和第二虚拟世界画面中是相同的。
左右方位相同是模型本身左右相同。
前景模型在第一虚拟画面和第二虚拟画面中其本身是左右相同的。示例性的,如图25中的a所示,第一虚拟角色1204迈出左脚,第二虚拟角色1205右手持枪,大龙1307尾巴摆向右侧。在图25中的b中,第一虚拟角色1204同样迈出左脚,第二虚拟角色1205同样右手持枪,大龙1307同样尾巴摆向右侧。
综上所述,本实施例提供的方法,不仅运算逻辑简单,减少了计算量,减轻服务器或/和终端的负载,其有益效果还包括:
使第一阵营的第一虚拟角色和第二阵营的第二虚拟角色看到的阵营基地都位于虚拟世界画面的左下角,不同阵营的虚拟角色进攻方向同为虚拟世界画面的右上角,不影响用户的操作习惯。
在第一虚拟世界画面和第二虚拟世界画面上我方基地的上方都是第一边路,下方都是第二边路,当第一虚拟角色和第二虚拟角色都走自己虚拟世界画面上的下路时,第一虚拟角色走的时候第二边路,第二虚拟角色同样走的第二边路,从而实现将第一种典型MOBA游戏中的上路渲染成下路,且不会因为UI控件的遮挡造成视野范围相差过大的问题,还可以促进相同类型的虚拟角色进行对战。
用户看到的虚拟角色都是左右相同的,不会出现人物左手持枪的逻辑错误。
示例性的,给出一种显示如图25中的b所示的虚拟世界画面的方法的示例性实施例。图27示出了本申请一个示例性实施例提供的虚拟世界的画面显示方法的流程图。该方法可以由上述图11中的任一终端来执行,该方法包括:
步骤101:第一终端显示第一虚拟世界画面,第一虚拟世界画面是采用第一视角观察虚拟世界得到的画面,第一视角是垂直于第一路段且以第一虚拟角色为观察焦点的视角。
步骤202:第二终端设置第二摄像机以及第二摄像机的投影矩阵,第二摄像机是垂直于第二路段且以第二虚拟角色为观察焦点的摄像机,投影矩阵包括:原始投影矩阵和对称投影矩阵。
示例性的,设置第二摄像机的方式是:根据第二路段确定第二摄像机的摄像朝向,根据第二虚拟角色的坐标确定第二摄像机的摄像中线;
当第二虚拟角色是第二虚拟角色时,终端设置第二摄像机以及第二摄像机的投影矩阵。
首先,介绍摄像机,及摄像机相关的摄像朝向、摄像中线。
第二摄像机是第二视角对应的摄像机,即,第二摄像机是垂直于第二路段朝向虚拟世界内的摄像机,且第二摄像机以第二虚拟角色为观察焦点,即,第二虚拟角色位于第二摄像机的摄像中线上。示例性的,第二摄像机是以第三人视角拍摄的摄像机,即,第二摄像机位于第二虚拟角色的上方。示例性的,第二摄像机以第二虚拟角色为观察焦点,从第二视角的方位拍摄第二虚拟角色。示例性的第二摄像机的镜头方向与水平面呈一定角度。
摄像朝向是摄像机镜头指向的方向,示例性的,摄像朝向是指摄像机镜头指向方向在水平面上的分向量,即,摄像朝向是水平面上的方向。
示例性的,本申请所说的水平面是指水平面或地平面,以及平行于水平面或地平面的任意平面。示例性的,提及水平面时若有参考物,水平面是指过该参考物平行于水平面或地平面的平面,例如,摄像机的朝向是偏离水平面45°,则过摄像机的中点过平行于水平面的面,摄像机的朝向与该平行于水平面的面呈45°夹角。
摄像中线是摄像机拍摄的画面的中线,或,摄像中线是摄像机镜头的中线。
示例性的,第二终端根据第二路段确定第二摄像机摄像朝向的方向向量,根据第二虚拟角色的坐标确定第二摄像机的摄像中线坐标和第二摄像机的坐标。示例性的,以第二虚拟角色的坐标为基准点,第二摄像机可以设置在距离第二虚拟角色1个单位长、3个单位高,镜头方向与第二视角方向(垂直于第二路段方向)一致的位置,并向下偏离水平面与水平面成45°角。示例性的,如图28所示,在虚拟世界里有第二虚拟角色1205,在第二虚拟角色1205上方有第二摄像机1401。第二摄像机的镜头延垂直于第二路段1207的第二视角1212方向。第二虚拟角色1205位于第二摄像机的摄像中线上。示例性的,第二摄像机的镜头偏向地面。示例性的,在图28中,还有第一摄像机1402,第一摄像机的镜头延垂直于第一路段1206的第一视角1211方向,第一虚拟角色1204位于第一摄像机的摄像中线上。
然后,介绍摄像机投影,及投影矩阵。
摄像机投影的过程是摄像机将三维的虚拟世界转变为二维的虚拟世界画面的过程。
示例性的,如图29所示,有呈长方体的三维虚拟世界1404,以及三维虚拟世界1404内的第一虚拟角色1204、第二虚拟角色1205、防御塔1308。摄像机1403用于将三维虚拟世界1404转变为二维画面,即,将三维世界投影至如图29所示的二维平面1405上,以获取如图30所示的虚拟世界画面,其中第二虚拟角色1205位于虚拟世界画面的中线上。
假设:如图29所示,三维虚拟世界的三维坐标轴分别是x轴1406、y轴1407、z轴1408。
简单的,摄像机1403将三维虚拟世界1404投影至二维平面1405上的方式是:获取三维虚拟世界1404内模型各点的三维坐标(x,y,z),舍弃z坐标即可获得模型的二维坐标(x,y),将模型按照二维坐标显示在二维平面1405上即可获得虚拟世界画面。但由于直接舍弃了z坐标,这种简单的投影方式无法体现出不同模型距离二维平面1405的远近,显示出的虚拟世界画面上所有模型都与模型原本的大小相同,因此,为了能在虚拟世界画面上看出模型的距离二维平面1405的远近,有如下一般的投影方式。
一般的,摄像机1403将三维虚拟世界1404投影至二维平面1405上的方式(一般的投影方式)是:获取三维虚拟世界1404内模型各点的三维坐标(x,y,z),根据z坐标来改变x、y坐标的大小,获得模型的二维坐标(x,y)。示例性的,可以以各点z坐标距离二维平面1405的距离来确定x、y坐标。例如,二维平面1405的z坐标为0,则第一模型上的第一点(x1,y1,z1)的二维坐标(x1',y1')计算方法可以是x1'=x1/(z1-0),y1'=y1/(z1-0)。这样计算出的二维坐标,模型距离二维平面1405距离越近显示出的模型大小越大,模型距离二维平面1405距离越远显示出的模型大小越小,这样从虚拟世界画面上显示出的模型大小就可以看出模型距离二维平面1405的远近,且更符合人眼实际观察到的画面。
在摄像机一般的投影方式的基础上,调整摄像机投影三维虚拟世界的方式还可以投影出不同的虚拟世界画面。例如,通过以下投影方式可以投影出左右翻转的虚拟世界画面。
复杂的,摄像机1403投影出左右翻转的虚拟世界画面的方式是:获取三维虚拟世界1404内模型各点的三维坐标(x,y,z),由于要得到左右翻转的虚拟世界画面,即与一般的投影方式得出的原虚拟世界画面相比,左右翻转的虚拟世界画面是将原虚拟世界画面作关于虚拟画面中线(摄像中线)左右翻转对称后得到的虚拟世界画面,因此,要将模型做关于摄像中线的对称。
而从三维虚拟世界中直接获得的三维坐标是模型在三维虚拟世界的世界坐标系中的坐标,即如图29所示的坐标系中的坐标。世界坐标系,是用于表示模型在虚拟世界中的位置的坐标系,是三维坐标系。世界坐标系的x轴、y轴、z轴可以是任意设置的。由于虚拟世界整体上的位置是固定的,所以世界坐标系是固定不变的。
为了方便计算,需要将模型在世界坐标系中的坐标转换为如图31所示的摄像机坐标系中的坐标。摄像机坐标系,是用于表示以摄像机位置为基准,虚拟世界或虚拟世界中的模型相对于摄像机的位置。摄像机坐标系是跟随摄像机的移动而变化的。摄像机坐标系是三维坐标系。
摄像机坐标系的y轴是摄像机的摄像中线,x轴是摄像机的摄像平面(二维平面)上任意垂直于y轴的直线,z轴是过x轴和y轴交点并垂直于摄像平面的直线。摄像平面是任意垂直于摄像机的摄像朝向的平面。示例性的,如图29所示的二维平面1405即为一个摄像平面。示例性的,由于摄像机具有一定的摄像范围,摄像平面是具有一定大小的。例如,如图29所示的,以摄像机镜头为起点射出的四条射线所构成的锥形摄像范围,对应有如图所示的矩形二维平面1405。
示例性的,摄像机坐标系的x、y、z轴也可以是任意的,可以以摄像范围内的任意一点作为坐标原点,以任意方向作为x、y、z轴。但随着摄像机坐标系的改变对称投影矩阵需要相应的改变。
示例性的,本实施例给出一种摄像机坐标系的建立方式,并根据该坐标系解释并给出一种对称投影矩阵。如图31所示,摄像机坐标系是以摄像机的摄像中线为y轴1410,以摄像机拍到的二维平面1405的底边1412为x轴1409,以垂直于二维平面1405且过x轴和y轴焦点的直线为z轴1411,所建立的坐标系。示例性的,摄像机坐标系的x轴、y轴、z轴的正方向可以是任意的。
根据模型在世界坐标系中的坐标(x,y,z)得到模型在摄像机坐标系中的坐标(x2,y2,z2),之后将模型在摄像机坐标系中的坐标作关于yz平面的对称,即将x2变为-x2,得到左右对称后的模型在摄像机坐标系中的坐标(-x2,y2,z2),然后将反转后的模型在摄像机坐标系中的坐标,利用上述一般的投影方式投影至二维平面,即可获得左右翻转的虚拟世界画面。如图32所示,是左右翻转的虚拟世界画面。
在算法上实现将模型在摄像机坐标系中的坐标(x2,y2,z2)作关于yz平面的对称得到左右对称后的模型在摄像机坐标系中的坐标(-x2,y2,z2),是通过对称投影矩阵实现的。
对称投影矩阵是:
Figure BDA0002246612410000281
将模型在摄像机坐标系中的坐标(x2,y2,z2)加上一个常数w得到(x2,y2,z2,w)后乘以对称投影矩阵:
Figure BDA0002246612410000282
即可计算得出左右对称后的模型在摄像机坐标系中的坐标(-x2,y2,z2)。
投影矩阵是用来改变摄像机投影虚拟世界方式的矩阵,例如,可以用投影矩阵将虚拟世界左右对称,或将虚拟世界在x轴上平移一个单位,或将虚拟世界放大一个单位等。摄像机获取模型在摄像机坐标系中的坐标后,用投影矩阵来改变模型在摄像机坐标系中的坐标,从而改变模型在虚拟世界画面中的显示方式。
为了便于理解这种复杂的投影方式,将摄像机投影虚拟世界得到虚拟世界画面分为以下四个步骤:
1、摄像机获取模型在虚拟世界中的世界坐标系坐标(三维坐标);
2、摄像机将模型的世界坐标系坐标转换为摄像机的摄像机坐标系坐标(三维坐标或四维坐标);
3、摄像机将模型的摄像机坐标系坐标乘以投影矩阵得到模型的采点坐标(三维坐标或四维坐标);
4、摄像机将模型的采点坐标根据一般的投影方式,投影出虚拟世界画面,即,将采点坐标根据一般的投影方式转换为二维坐标。
采点坐标是模型的摄像机坐标系坐标用投影矩阵处理后得到的坐标。例如上述左右对称后的模型在摄像机坐标系中的坐标(-x2,y2,z2)。
原始投影矩阵是不改变模型的摄像机坐标系坐标的投影矩阵。示例性的,原始投影矩阵是:
Figure BDA0002246612410000283
即,模型的摄像机坐标系坐标乘以原始投影矩阵得到的采点坐标与摄像机坐标系坐标相同。示例性的,将模型在摄像机坐标系中的坐标(x2,y2,z2)加上一个常数w得到(x2,y2,z2,w)后乘以原始投影矩阵:
Figure BDA0002246612410000291
计算得出采点坐标(x2,y2,z2)与模型在摄像机坐标系中的坐标(x2,y2,z2)相同。
终端设置第二摄像机的投影矩阵,即为将对称投影矩阵和原始投影矩阵写入摄像机,或摄像机读取对称投影矩阵和原始投影矩阵。
示例性的,在第一种典型的MOBA游戏的基础上设置第二摄像机的方式还可以是:
获取第二摄像机的原位置,在第一种典型的MOBA游戏中,第二摄像机的原位置是:垂直于虚拟世界的第一路段,且第二虚拟角色处于第二摄像机摄像中线上的位置。
根据第二摄像机的原位置,以第二虚拟角色模型的中心点为旋转中心,将第二摄像机绕旋转中心向左旋转90°,即,将第二摄像机旋转至垂直于第二路段,且第二虚拟角色处于第二摄像机摄像中线上的位置。
示例性的,观察如图30所示的虚拟世界画面,和如图32所示的用对称投影矩阵处理后的左右翻转的虚拟世界画面,可以看出图32中的第二虚拟角色1205变为左手拿枪,第一虚拟角色1204也由图30中的迈左脚变为图32中的迈右脚。由此可知,由对称投影矩阵处理后得到的虚拟世界画面的左右是相反的,对于防御塔1308来说,左右相反并不容易观察出来,并且由于防御塔1308是左右对称的,左右相反并不影响防御塔的显示,但对于虚拟角色来说,左右相反会导致显示出的虚拟世界画面违背现实中的逻辑规律,变成左撇子。因此,对于像防御塔这种不需要区分左右的背景模型来说可以用对称投影矩阵来作对称投影,而对于像第一虚拟角色、第二虚拟角色这种需要需区分左右的前景模型,则不可以用对称投影矩阵来投影。因此,需要分别对背景模型和前景模型进行投影。
步骤203:第二终端确定第二摄像机在虚拟世界中可视的背景模型。
对背景模型和前景模型的处理不分先后顺序,示例性的,可以先进行步骤205来处理前景模型。
第二终端确定第二摄像机在虚拟世界中可视的背景模型,即虚拟世界中处于第二摄像机摄像范围内的背景模型。终端获取可视的背景模型在虚拟世界中的世界坐标系的坐标,将背景模型的世界坐标系坐标转换为第二摄像机的摄像机坐标系坐标。
示例性的,如图33所示,有第二摄像机1401,以及第二摄像机的锥形摄像范围1413,在第二摄像机可视的摄像机范围内的背景模型有第一防御塔1414,以及部分地形1415,其他防御塔,例如第二防御塔1416,以及第二基地1306都不是第二摄像机可视的背景模型。
示例性的,如图34所示,是第二摄像机在虚拟世界中可视的摄像机范围内显示的画面。
示例性的,确定第二摄像机在虚拟世界中可视的背景模型还包括:根据第二摄像机的朝向,确定第二摄像机在虚拟世界中可视的背景模型的可视面。例如,第二摄像机朝向防御塔的正面,即第二摄像机拍不到防御塔的背面,则将防御塔的正面确定为可视的背景模型。
步骤204:第二终端将背景模型根据对称投影矩阵投影至第二摄像机的摄像平面上。
第二终端用对称投影矩阵将可视的背景模型在摄像机坐标系的坐标转换为采点坐标,再将背景模型的采点坐标用一般的投影方式转换为二维坐标,并投影至第二摄像机的摄像平面上。
示例性的,将背景模型根据对称投影矩阵投影至第二摄像机的摄像平面上时,对前景模型不做改动,即对前景模型按照原始投影矩阵投影至第二摄像机的摄像平面上会得到的第二虚拟世界画面如图35所示。与图34相比,可以看出背景模型做了关于摄像中线1417的左右对称,而前景模型没有变化。
步骤205:第二终端获取第二摄像机在虚拟世界中可视的前景模型的坐标,坐标是在第二摄像机的摄像机坐标系中的坐标。
示例性的,第二终端获取第二摄像机在虚拟世界中可视的前景模型,第二摄像机在虚拟世界中可视的前景模型是在第二摄像机摄像范围内的前景模型。示例性的,如图33所示,第二摄像机在虚拟世界中可视的前景模型有第二虚拟角色1205和大龙1307。
第二终端将前景模型在世界坐标系的坐标转换为在第二摄像机的摄像机坐标系中的坐标后,获取前景模型在第二摄像机的摄像机坐标系中的坐标。示例性的,第二终端获取的前景模型在摄像机坐标系的坐标是前景模型上的一个特征点的坐标。该前景模型上的特征点可以用来确定前景模型的位置,以便摄像机根据该特征点位置投影出整个前景模型。示例性的,该前景模型上的一个点的坐标可以是前景模型的中心点的坐标,前景模型的中心点是前景模型的三维中心。
步骤206:第二终端判断前景模型位置。
第二终端判断前景模型是否位于第二摄像机的摄像中线上。当前景模型位于第二摄像机的摄像中线上时,进行步骤207;否则进行步骤208。
步骤207:当前景模组的坐标处于摄像中线时,第二终端对前景模型进行旋转处理,旋转处理包括:将前景模型在绕垂直于水平面的旋转轴上的旋转角从α改变为(180-α)度。
旋转处理是以过模型中心点且垂直于水平面的直线为旋转轴,将模型旋转至一定角度的处理。示例性的,旋转处理是以第二视角方向为对称轴,将模型从当前方向旋转至对称方向的处理。
示例性的,如图35所示,第二虚拟角色1205的旋转轴1418是过第二虚拟角色1205模型中点且垂直于水平面的直线。旋转角是前景模型从参考方向旋转至当前方向的角度。示例性的,如图36所示,参考方向1419是俯视虚拟世界将第二视角1212顺时针旋转90°得到的方向。当前方向是用来描述前景模型当前朝向的方向,示例性的,当前方向是前景模型的正前方。示例性的,当前方向也可以是前景模型的正后方、正右方、正左方等。示例性的,旋转角可以以参考方向顺时针旋转,形成的旋转角为正数;也可以以参考方向逆时针旋转,形成的旋转角为正数。
示例性的,如图36所示,有第二虚拟角色1205的当前方向1420,旋转轴为过第二虚拟角色1205的头顶垂直于直面的直线。示例性的,第二虚拟模型1205当前的旋转角α为角1421。则,对第二虚拟角色进行旋转处理即为:将第二虚拟角色1205在绕垂直于水平面的旋转轴上的旋转角从角1421改变为(180-角1421)=角1423,即将第二虚拟角色1205旋转至面朝方向1422,如图37所示,为进行旋转处理后的第二虚拟角色1205。
步骤208:当前景模组的坐标未处于摄像中线时,第二终端执行根据前景模型的坐标,以摄像中线为对称线对前景模型进行平移旋转处理的步骤。
根据前景模型的坐标,以摄像中线为对称线对前景模型进行平移旋转处理的步骤,即为步骤209。
示例性的,当前景模组的坐标未处于摄像中线时,执行步骤209。
步骤209:第二终端根据前景模型的坐标,以第二摄像机的摄像中线为对称线对前景模型进行平移旋转处理,平移旋转处理包括:将前景模型平移至对称位置,以及将前景模型在绕垂直于水平面的旋转轴上的旋转角从α改变为(180-α)度。
平移旋转处理包括平移处理和旋转处理。平移处理是将模型从原位置平移至关于摄像中线对称的位置。示例性的,平移处理是将模型的中心点从原位置平移至关于摄像中线对称的对称位置。
示例性的,平移处理如图38所示,作模型的原位置1425关于摄像中线1417的对称得到模型的对称位置1424。示例性的,可以通过以下公式实现对模型的平移处理得到个平移后的对称位置。
Pm=Po-2[(Po-Pc)·Dright]Dright
Pm是模型平移后的对称位置,Po是模型平移前的原位置,Pc是摄像机的位置,Dright是摄像机的单位右向量。
如图38所示,有模型平移后的对称位置Pm,模型平移前的原位置Po,摄像机位置Pc,参考向量1419即为摄像机的单位右向量。
示例性的,如图37所示,对大龙1307进行平移处理,将大龙1307平移至关于摄像中线1417对称的对称位置1424,如图39所示,平移后的大龙1307位于对称位置1424。
再将经过平移处理的前景模型进行旋转处理。
示例性的,如图36所示,大龙的当前方向为方向1425,则根据参考方向1419,大龙应该旋转至方向1426。示例性的,如图40所示,是旋转后的大龙1307。
步骤210:第二终端将前景模型根据原始投影矩阵投影至第二摄像机的摄像平面上。
示例性的,第二终端将前景模型的一个特征点或一个特征点加一个特征方向向量在摄像机坐标系的坐标,经过平移旋转或旋转处理后得到平移旋转坐标,然后第二终端根据平移旋转坐标和原始投影矩阵将前景模型投影至第二摄像机的摄像平面上。示例性的,平移旋转坐标也是一种采点坐标。
特征方向向量是用来表示前景模型当前方向的向量,示例性的,特征方向向量是从模型的中心点指向模型的正面的向量。以旋转坐标包括:将模型进行平移处理后得到的对称位置的坐标,以及将模型进行旋转处理后得到的对称方向的方向向量的坐标。
示例性的,如图40中的a所示,终端将经过旋转处理后的第二虚拟角色1205,以及经过平移旋转处理后的大龙1307根据原始投影矩阵投影至第二摄像机的摄像平面上。
将前景模型做平移旋转处理/旋转处理的优点可以通过对比图40中的a和图40中的b看出。图40中的b是将前景模型和背景模型都用对称投影矩阵处理后,得到的虚拟世界画面。对比图40中的a和图40中的b可以看出,图40中的a和图40中的b的虚拟世界画面基本上是一致的,但在图40中的b的虚拟世界画面中第二虚拟角色1205为左手持枪,大龙1307的尾巴摆向左边,这与虚拟世界中的实际情况不符,而图图40中的a中的虚拟世界画面,第二虚拟角色1205为右手持枪,大龙1307的尾巴摆向右边。由此,可以看出,经过平移旋转处理/旋转处理后的前景模型,更符合虚拟世界的实际情况,且符合现实世界的逻辑规律。
步骤103:第二终端显示第二虚拟世界画面。
第二终端将投影至第二摄像机的摄像机平面上的画面显示出来。
第二终端根据背景模型投影至第二摄像机的摄像机平面上的画面,和前景模型投影至第二摄像机平面上的画面显示出第二虚拟世界画面。
示例性的,上述从图34至图40的虚拟世界画面是为了便于理解本申请提供的虚拟世界的画面显示方法所给出的图示,本申请提供的虚拟世界的画面显示方法可以用第二摄像机直接从虚拟世界中投影出如图40所示的虚拟世界画面。
综上所述,本实施例提供的方法,只改变了摄像机投影虚拟世界的方式,不改变虚拟世界,即,没有改变模型在虚拟世界的世界坐标系中的坐标,不影响虚拟世界原有的运算逻辑,运算逻辑简单,大大减少了计算量,减轻服务器或/和终端的负载。
通过将第二摄像机设置在垂直于第二路段的位置,并且用对称投影矩阵对背景模型进行对称投影,用原投影矩阵对前景模型进行平移旋转,使第一阵营的第一虚拟角色和第二阵营的第二虚拟角色看到的阵营基地都位于虚拟世界画面的左下角,不同阵营的虚拟角色进攻方向同为虚拟世界画面的右上角,不影响用户的操作习惯。
在第一虚拟世界画面和第二虚拟世界画面上我方基地的上方都是第一边路,下方都是第二边路,当第一虚拟角色和第二虚拟角色都走自己虚拟世界画面上的下路时,第一虚拟角色走的时候第二边路,第二虚拟角色同样走的第二边路,从而实现将第一种典型MOBA游戏中的上路渲染成下路,且不会因为UI控件的遮挡造成视野范围不相等的问题,还可以促进相同类型的虚拟角色进行对战。
通过对前景模型进行平移旋转处理,不改变前景模型的左右方向,使用户看到的虚拟角色都是左右相同的,不会产生人物左手持枪的逻辑错误。
示例性的,在上述任意示例性实施例的基础上,本申请提供的虚拟世界的画面显示方法还包括对虚拟世界中的特效、灯光和阴影的投影方法。
示例性的,给出一个特效的投影方法的示例性实施例。图41示出了本申请一个示例性实施例提供的虚拟世界的画面显示方法的流程图。该方法可以由上述图11中的任一终端来执行,该方法包括:
步骤101:第一终端显示第一虚拟世界画面,第一虚拟世界画面是采用第一视角观察虚拟世界得到的画面,第一视角是垂直于第一路段且以第一虚拟角色为观察焦点的视角。
步骤202:第二终端设置第二摄像机以及第二摄像机的投影矩阵,第二摄像机是垂直于第二路段且以第二虚拟角色为观察焦点的摄像机,投影矩阵包括:原始投影矩阵和对称投影矩阵。
步骤211:第二终端获取第二摄像机在虚拟世界中可视的前景模型特效的坐标,坐标是在第二摄像机的摄像机坐标系中的坐标。
示例性的,前景模型特效的投影方法与前景模型的投影方法相同。
步骤212:第二终端根据前景模型特效的坐标,以摄像中线为对称线对前景模型特效进行平移旋转处理,平移旋转处理包括:将前景模型特效平移至对称位置,以及将前景模型特效在绕垂直于水平面的旋转轴上的旋转角从α改变为(180-α)度。
将前景模型特效进行平移处理后再进行旋转处理。
示例性的,由于前景模型特效通常有与之对应的前景模型,例如,第二虚拟角色进行挥刀动作时,会有对应的刀影特效。因此,前景模型特效的处理方式还可以是,根据与之对应的前景模型进行平移旋转处理后得到的前景模型的中心点,直接确定前景模型特效进行平移旋转处理后的位置。即,前景模型特效可以根据与之对应的前景模型的平移旋转坐标,确定前景模型特效经过平移旋转处理后的坐标。
步骤213:第二终端将前景模型特效根据原始投影矩阵投影至第二摄像机的摄像平面上。
示例性的,第二终端根据前景模型特效进行平移旋转处理后得到的平移旋转坐标,用原始投影矩阵将前景模型特效投影至第二摄像机平面上。
步骤103:第二显示第二虚拟世界画面。
综上所述,本实施例提供的方法,通过将前景模型特效进行与前景模型相同的平移旋转处理后,用原始投影矩阵投影至第二摄像机的摄像平面上,使特效的位置、朝向与虚拟世界中的实际情况一致。
由于虚拟世界中原有的灯光模组设置在与第二视角相同的方向上,当用户以第二视角观察虚拟世界时,灯光模组的灯光与第二视角方向平行,因此需要对灯光模组位置进行相应的调整。
示例性的,给出一个灯光和阴影的投影方法的示例性实施例。图42示出了本申请一个示例性实施例提供的虚拟世界的画面显示方法的流程图。该方法可以由上述图11中的任一终端来执行,虚拟世界中还包括灯光模型和中路对角线,该方法包括:
步骤101:第一终端显示第一虚拟世界画面,第一虚拟世界画面是采用第一视角观察虚拟世界得到的画面,第一视角是垂直于第一路段且以第一虚拟角色为观察焦点的视角。
步骤214:第二终端获取灯光模组在世界坐标系中的坐标。
示例性的,灯光模组可以位于虚拟世界中或虚拟世界外的任意位置。
示例性的,如图43所示,灯管模组位于1501位置,以第一视角观察的第一虚拟世界画面的阴影如图43所示。
步骤215:第二终端根据灯光模组在世界坐标系中的坐标,以过中路对角线垂直于水平面的平面为对称面对灯光模组进行对称处理,对称处理包括:将灯光模组对称至对称位置。
对称处理是将灯光模组移至关于平面对称的对称位置。示例性的,如图43所示,是以第一视角1211观察虚拟世界得到的第一虚拟世界画面,将灯光模组进行对称处理,即,将位于1501位置的灯光模组移至关于过中路对角线1301垂直于水平面的平面对称的位置1502。
步骤216:第二终端将灯光模组产生的阴影投影至第二摄像机平面上。
灯光模组的坐标位置是固定的,不随背景模型或前景模型的显示方式的改变而改变,即,获取灯光模组在世界坐标系中的世界坐标系坐标后,不进行平移旋转处理,直接将世界坐标系坐标转换为摄像机坐标系坐标,根据灯光模组的摄像机坐标系坐标和经过投影矩阵处理后的前景模型和背景模型的采点坐标,生成前景模型和背景模型的阴影。终端将产生的阴影投影至第二摄像机平面上。
由于,无论对背景模型用对称投影矩阵,或是对前景模型用平移旋转处理,都会将背景模型和前景模型作关于摄像中线的左右对称,而灯光模组不会进行左右对称,例如:原本虚拟角色和灯光模组都位于摄像中线的左侧,将虚拟角色进行平移旋转处理后,虚拟角色位于摄像中线的右侧,而灯光模组依旧位于摄像中线的左侧。
如图43所示,将灯光模组从原位置(1501位置)进行对称处理后灯光模组位于靠近第二虚拟角色1205的一侧,再将背景模型和前景模型分别进行对称投影矩阵和平移旋转处理后,以第二视角1212观察虚拟世界,则会得到如图44所示的第二虚拟世界画面,灯光模组此时位于第二虚拟角色进行平移旋转前的位置1502处,即灯光模组依旧位于第二视角1212的右侧方向。
步骤103:第二终端显示第二虚拟世界画面。
综上所述,本实施例提供的方法,通过将灯光模组作关于过中路对角线垂直于水平面的平面的对称,解决了灯光模组与第二视角平行的问题,且使第一虚拟画面中和第二虚拟画面中的阴影都位于视角的左侧。
示例性的,由于改变了第二虚拟世界画面的显示方式,当用户根据第二虚拟世界画面显示的方向,进行方向操作时,其方向操作与虚拟世界中的实际方向是不同的。为了使用户的方向操作与虚拟世界中的方向相同,需要对终端接收到的方向操作进行修改。
示例性的,给出一个方向操作的修改方法的示例性实施例。图45示出了本申请一个示例性实施例提供的虚拟世界的画面显示方法的流程图。该方法可以由上述图11中的任一终端来执行,该方法包括:
步骤101:第一终端显示第一虚拟世界画面,第一虚拟世界画面是采用第一视角观察虚拟世界得到的画面,第一视角是垂直于第一路段且以第一虚拟角色为观察焦点的视角。
步骤217:第二终端显示用户界面,用户界面包括第二虚拟世界画面,以及叠加在第二虚拟世界画面上的方向控制控件。
方向控制控件用于控制第二虚拟角色的移动方向或技能释放方向。方向控制控件是控制第二虚拟角色在虚拟世界内行走,或释放技能,或其他具有指向性的操作的控件。方向控制控件可以接收用户的操作,根据用户的操作来控制第二虚拟角色。示例性的,方向控制控件接收的用户操作是方向操作。示例性的,方向操作可以是滑动、点击、按压、双击中的至少一个。
示例性的,如图46所示,终端上显示有用户界面1601,用户界面包括第二虚拟世界画面,以及叠加在第二虚拟世界画面上的方向控制控件1602。
步骤218:第二终端获取作用于方向控制控件上的方向操作的方向向量的坐标,方向向量的坐标是方向操作在用户界面的界面坐标系中的坐标。
用户界面的界面坐标系是用户界面平面上的二维坐标系。该二维坐标系可以以用户界面上的任意点为坐标原点。示例性的,如图46所示,以用户界面的左下定点为坐标原点,构建的xy坐标系如图所示。
示例性的,第二终端获取作用于方向控制控件1602上的方向操作的方向向量1603的坐标。
步骤219:第二终端根据方向向量在界面坐标系中的坐标,以斜对称线为对称线对方向向量进行斜对称处理得到第二方向向量。
斜对称线是与用户界面的下边线和左边线呈45°夹角的线,斜对称处理包括:作方向向量关于斜对称线的对称。
示例性的,斜对称线是与用户界面的下边线和左边线呈45°夹角的向量。斜对称处理即为,作方向向量关于斜对称线的向量的对称向量得到第二方向向量。
示例性的,如图46所示,有斜对称线1604,斜对称线与用户界面的下边线1605和左边线1606呈45°夹角。作方向向量1603关于下对称线1604的对称得到第二方向向量1607。
步骤220:第二终端获取第二方向向量的坐标。
示例性的,终端获取第二方向向量的起点坐标和终点坐标。
步骤221:第二终端根据第二方向向量的坐标控制第二虚拟角色在虚拟世界内进行移动或释放技能。
综上所述,本实施例提供的方法,通过对方向控制控件接收到的方向操作进行斜对称处理,使控制第二虚拟角色的用户的方向操作与实际的操作相吻合。
示例性的,给出基于第一种典型的MOBA游戏,使用本申请提供的虚拟世界的画面显示方法的示例性实施例。
图47示出了本申请一个示例性实施例提供的虚拟世界的画面显示方法的流程图。该方法可以由上述图11中的任一终端来执行,该方法包括:
步骤1701:终端是否开启对称渲染并且玩家处于红方。
终端判断用户是否开启了对称渲染开关,并判断用户是否是控制红方阵营(第二阵营)虚拟角色的用户。
步骤1702:第二终端设置着色器中的原投影矩阵。
步骤1703:第二终端将主相机的投影矩阵改为对称投影矩阵。
步骤1704:第二终端设置主相机绕Y轴的旋转角度。
示例性的,第一种典型的MOBA游戏中红方对应第二阵营,蓝方对应第一阵营。终端将红方的主相机转到第二视角位置。
步骤1705:第二终端设置剪裁模式。
示例性的,第二终端根据主相机的朝向判断虚拟世界中模型的可视面,将主相机拍摄不到的模型背面剪裁掉。
步骤1706:第二终端对生成的每个特效,设置其着色器里标识是否开启对称渲染的变量。
终端判断用户是否开始特效的对称渲染开关。
步骤1707:第二终端对角色的阴影,设置其着色器里标识是否开启对称渲染的变量。
第二终端判断用户是否开启角色阴影的对称渲染开关。
步骤1708:第二终端对每个角色判断是否需要做对称平移。
第二终端判断需要进行对称平移(平移处理)的角色(前景模型)。当角色需要进行对称平移时进行步骤1709,否则进行步骤1712。
步骤1709:第二终端对角色对称旋转。
第二终端对角色进行对称旋转(旋转处理)。
步骤1710:第二终端判断角色是否是玩家主控角色。
示例性的,第二终端还可以判断角色是否在摄像机中线上。当终端判断角色是玩家主控角色时进行步骤1712,否则进行步骤1711。
步骤1711:第二终端对角色作对称平移。
第二终端对角色进行对称平移(平移处理)。
步骤1712:第二终端渲染静态场景。
第二终端用对称投影矩阵渲染静态场景(背景模型)。
步骤1713:第二终端在角色的着色器里,根据是否开启对称渲染来选择不同的投影矩阵渲染角色。
第二终端根据用户是否开启对称渲染,来选择不同的投影矩阵渲染角色。
步骤1714:第二终端在阴影着色器里根据是否开启对称渲染,来选择不同的投影矩阵,以及选择是否对主光源方向作45°对称,渲染阴影。
第二终端根据用户是否开启对称渲染,来选择不同的投影矩阵,以及是否对主光源(灯光模组)进行45°对称来渲染阴影。
步骤1715:第二终端在特效的着色器里,根据是否开启对称渲染,来选择不同的投影矩阵渲染角色。
第二终端根据是否开启对称渲染,来选择不同的投影矩阵来渲染角色。然后进行步骤1708,继续处理下一帧画面。
综上所述,本实施例提供的方法,通过以不同的视角观察同一虚拟世界不同阵营的虚拟角色,只改变观察视角不改变虚拟世界,只需设置一个虚拟世界的一套运算逻辑,运算逻辑简单,大大减少了计算量,减轻服务器或/和终端的负载。
示例性的,本申请提供的基于虚拟世界的画面显示方法与第二种典型的MOBA游戏至少存在以下两点不同,其他不同之处可以从说明书的其他内容中得出:
1、第二种典型的MOBA游戏选择了特定的对称平面(虚拟世界的地平面、水平面,或垂直于地平面、水平面的面),将整个虚拟世界进行了镜像对称。这种对称改变了模型在虚拟世界内的坐标,例如,将第一虚拟世界作关于地平面的镜像对称得到第二虚拟世界,假设以垂直于地平面的方向为y轴,第二虚拟世界的模型与第一虚拟世界的模型在y轴上的坐标是不同的。这种对虚拟世界进行的镜像对称,会改变模型在世界坐标系的坐标,例如,虚拟角色在虚拟世界内活动、跳跃等,需要根据虚拟角色的坐标对活动、跳跃结果进行计算,一旦虚拟角色在世界坐标系的坐标发生改变,对应的计算虚拟角色活动的算法需要对应的改变,这种算法上的改变会改变第一虚拟世界的逻辑代码,即需要为第二虚拟世界重新设立一套新的逻辑代码,大大加重了终端或/和服务器的计算量。
2、虽然第二种典型的MOBA游戏也给出了解决前景模型左右相反的解决方案:对前景模型做简单的左右反转,即,将前景模型作关于模型中轴线的左右对称。在理论上这种方法可以实现将前景模型的左右翻转,使显示出来的前景模型左右依旧是符合现实世界的逻辑的。但前景模型并不是固定不动的,前景模型还涉及前景模型的动画,例如,虚拟角色在释放技能时,有释放技能的动画。前景模型的动画如果只用简单的左右翻转来处理每一帧前景模型的动画,计算量过大。并且由于前景模型的动画是通过骨骼动画来实现的,简单的左右翻转前景模型,会出现骨骼动画变形的问题。而本申请提供的前景模型左右相反的解决方案:将前景模型进行平移旋转处理,并不会改变模型本身的左右,而是将模型作为一个整体进行了平移。摄像机只需要根据前景模型的中心点对前景模型进行正常投影就可以解决左右相反的问题,而且不影响骨骼动画的播放逻辑。
综上所述,与第二种典型的MOBA游戏相比,本申请提供的基于虚拟世界的画面显示方法,不会改变虚拟世界原有的逻辑层、逻辑运算、逻辑架构等,只需要对摄像机显示虚拟世界的方法做些许改变,就可以实现以更好地显示效果显示出虚拟世界的画面,更好地显示效果至少体现在:更好的前景动画播放效果、更好的阴影渲染效果、更好的前景特效显示效果、更好的控件操作解决方案等。
以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可参考上述方法实施例。
图48是本申请一个示例性实施例提供的虚拟世界的画面显示装置的框图。所述虚拟世界包括:属于第一阵营的第一基地和属于第二阵营的第二基地,以及位于所述第一基地和所述第二基地之间的第一边路、中路和第二边路,在所述虚拟世界中进行对战的第一虚拟角色和第二虚拟角色,所述第二边路包括第一路段和第二路段,所述第一虚拟角色是属于所述第一阵营的虚拟角色,所述第二虚拟角色是属于所述第二阵营的虚拟角色,所述装置包括:
第一显示模块1801,用于当主控虚拟角色是所述第一虚拟角色时,显示第一虚拟世界画面,所述第一虚拟世界画面是采用第一视角观察所述虚拟世界得到的画面,所述第一视角是垂直于所述第一路段且以所述第一虚拟角色为观察焦点的视角,所述第一路段是所述第二边路属于第一阵营的道路部分;
第二显示模块1802,用于当所述主控虚拟角色是所述第二虚拟角色时,显示第二虚拟世界画面,所述第二虚拟世界画面是采用第二视角观察所述虚拟世界得到的画面,所述第二视角是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的视角,所述第二路段是所述第二边路属于第二阵营的道路部分。
所述第一显示模块1801和所述第二显示模块1802在同一时间只有一个处于工作状态。
在一个可选的实施例中,所述第一边路在所述第一虚拟世界画面和所述第二虚拟世界画面的显示位置相同;
所述第二边路在所述第一虚拟世界画面和所述第二虚拟世界画面的显示位置相同。
在一个可选的实施例中,所述虚拟世界包括:所述虚拟世界包括:背景模型和前景模型,所述背景模型是所述虚拟世界中背景的三维模型,所述前景模型是所述虚拟世界中背景上方的非对称三维模型;
所述背景模型的左右方位在所述第一虚拟世界画面和所述第二虚拟世界画面中是对称的;
所述前景模型的左右方位在所述第一虚拟世界画面和所述第二虚拟世界画面中是相同的。
在一个可选的实施例中,所述装置还包括:设置模块1803、获取模块1804、投影模块1805;
所述设置模块1803,用于当所述主控虚拟角色是所述第二虚拟角色时,设置第二摄像机以及所述第二摄像机的投影矩阵,所述第二摄像机是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的摄像机,所述投影矩阵包括:原始投影矩阵和对称投影矩阵;
所述获取模块1804,用于确定所述第二摄像机在所述虚拟世界中可视的背景模型;
所述投影模块1805,用于将所述背景模型根据所述对称投影矩阵投影至所述第二摄像机的摄像平面上。
在一个可选的实施例中,所述装置还包括:设置模块1803、获取模块1804、平移旋转模块1806、投影模块1805;
所述设置模块1803,用于当所述主控虚拟角色是所述第二虚拟角色时,设置第二摄像机以及所述第二摄像机的投影矩阵,所述第二摄像机是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的摄像机,所述投影矩阵包括:原始投影矩阵和对称投影矩阵;
所述获取模块1804,用于获取所述第二摄像机在所述虚拟世界中可视的前景模型的坐标,所述坐标是在所述第二摄像机的摄像机坐标系中的坐标;
所述平移旋转模块1806,用于根据所述前景模型的坐标,以所述第二摄像机的摄像中线为对称线对所述前景模型进行平移旋转处理,所述平移旋转处理包括:将所述前景模型平移至对称位置,以及将所述前景模型在绕垂直于水平面的旋转轴上的旋转角从α改变为(180-α)度;
所述投影模块1805,用于将所述前景模型根据所述原始投影矩阵投影至所述第二摄像机的摄像平面上。
在一个可选的实施例中,所述平移旋转模块1806包括:旋转子模块1807;
所述平移旋转模块1806,还用于当所述主控虚拟角色是所述第二虚拟角色时,且所述前景模型的坐标未处于所述摄像中线时,执行所述根据所述前景模型的坐标,以所述摄像中线为对称线对所述前景模型进行平移旋转处理的步骤;
所述旋转子模块1807,用于当所述主控虚拟角色是所述第二虚拟角色时,且所述前景模型的坐标处于所述摄像中线时,对所述前景模型进行旋转处理,所述旋转处理包括:将所述前景模型在绕垂直于水平面的旋转轴上的旋转角从α改变为(180-α)度。
在一个可选的实施例中,所述装置还包括:设置模块1803、获取模块1804、平移旋转模块1806、投影模块1805;
所述设置模块1803,用于当所述主控虚拟角色是所述第二虚拟角色时,设置第二摄像机以及所述第二摄像机的投影矩阵,所述第二摄像机是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的摄像机,所述投影矩阵包括:原始投影矩阵和对称投影矩阵;
所述获取模块1804,用于获取所述第二摄像机在所述虚拟世界中可视的前景模型特效的坐标,所述坐标是在所述第二摄像机的摄像机坐标系中的坐标;
所述平移旋转模块1806,用于根据所述前景模型特效的坐标,以所述摄像中线为对称线对所述前景模型特效进行平移旋转处理,所述平移旋转处理包括:将所述前景模型特效平移至对称位置,以及将所述前景模型特效在绕垂直于水平面的旋转轴上的旋转角从α改变为(180-α)度;
所述投影模块1805,用于将所述前景模型特效根据所述原始投影矩阵投影至所述第二摄像机的摄像平面上。
在一个可选的实施例中,所述设置模块1803,还用于当所述主控虚拟角色是所述第二虚拟角色时,根据所述第二路段确定第二摄像机的摄像朝向,根据所述第二虚拟角色的坐标确定所述第二摄像机的摄像中线。
在一个可选的实施例中,所述装置还包括:获取模块1804、对称模块1808、投影模块1805;
所述获取模块1804,用于当所述主控虚拟角色是所述第二虚拟角色时,获取所述灯光模组在所述世界坐标系中的坐标;
所述对称模块1808,用于根据所述灯光模组在所述世界坐标系中的坐标,以过所述中路对角线垂直于水平面的平面为对称面对所述灯光模组进行对称处理,所述对称处理包括:将所述灯光模组对称至对称位置;
所述投影模块1805,用于将所述灯光模组产生的阴影投影至所述第二摄像机平面上。
在一个可选的实施例中,所述第二显示模块1802,还用于当所述主控虚拟角色是所述第二虚拟角色时,显示用户界面,所述用户界面包括所述第二虚拟世界画面,以及叠加在所述第二虚拟世界画面上的方向控制控件,所述方向控制控件用于控制所述第二虚拟角色的移动方向或技能释放方向;
所述装置还包括:交互模块1809、斜对称模块1810、获取模块1804、控制模块1811;
所述交互模块1809,用于获取作用于所述方向控制控件上的方向操作的方向向量的坐标,所述方向向量的坐标是所述方向操作在所述用户界面的界面坐标系中的坐标;
所述斜对称模块1810,用于根据所述方向向量在所述界面坐标系中的坐标,以斜对称线为对称线对所述方向向量进行斜对称处理得到第二方向向量,所述斜对称线是与所述用户界面的下边线和左边线呈45°夹角的线,所述斜对称处理包括:作所述方向向量关于所述斜对称线的对称;
所述获取模块1804,还用于获取所述第二方向向量的坐标;
所述控制模块1811,用于根据所述第二方向向量的坐标控制所述第二虚拟角色在所述虚拟世界内进行移动或释放技能。
需要说明的是:上述实施例提供的虚拟世界的画面显示装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟世界的画面显示装置与虚拟世界的画面显示方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
以下为本申请的系统实施例,对于系统实施例中未详细描述的细节,可参考上述方法实施例。
图49是本申请一个示例性实施例提供的虚拟世界的画面显示系统的框图。所述虚拟世界包括:属于第一阵营的第一基地和属于第二阵营的第二基地,以及位于所述第一基地和所述第二基地之间的第一边路、中路和第二边路,在所述虚拟世界中进行对战的第一虚拟角色和第二虚拟角色,所述第二边路包括第一路段和第二路段,所述第一虚拟角色是属于所述第一阵营的虚拟角色,所述第二虚拟角色是属于所述第二阵营的虚拟角色,所述虚拟世界的画面显示系统4900包括:第一客户端4901和第二客户端4902;
所述第一客户端4901,用于显示第一虚拟世界画面,所述第一虚拟世界画面是采用第一视角观察所述虚拟世界得到的画面,所述第一视角是垂直于所述第一路段且以所述第一虚拟角色为观察焦点的视角,所述第一路段是所述第二边路属于第一阵营的道路部分;
所述第二客户端4902,用于显示第二虚拟世界画面,所述第二虚拟世界画面是采用第二视角观察所述虚拟世界得到的画面,所述第二视角是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的视角,所述第二路段是所述第二边路属于第二阵营的道路部分。
本申请还提供了一种终端,该终端包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的虚拟世界的画面显示方法由第一终端执行的步骤或由第二终端执行的步骤。需要说明的是,该终端可以是如下图50所提供的终端。
图50示出了本申请一个示例性实施例提供的终端2900的结构框图。该终端2900可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端2900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端2900包括有:处理器2901和存储器2902。
处理器2901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器2901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器2901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器2901可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器2901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器2902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器2902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器2902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器2901所执行以实现本申请中方法实施例提供的虚拟世界的画面显示方法。
在一些实施例中,终端2900还可选包括有:外围设备接口2903和至少一个外围设备。处理器2901、存储器2902和外围设备接口2903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口2903相连。具体地,外围设备包括:射频电路2904、触摸显示屏2905、摄像头2906、音频电路2907、定位组件2908和电源2909中的至少一种。
外围设备接口2903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器2901和存储器2902。在一些实施例中,处理器2901、存储器2902和外围设备接口2903被集成在同一芯片或电路板上;在一些其他实施例中,处理器2901、存储器2902和外围设备接口2903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路2904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路2904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路2904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路2904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路2904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路2904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏2905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏2905是触摸显示屏时,显示屏2905还具有采集在显示屏2905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器2901进行处理。此时,显示屏2905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏2905可以为一个,设置终端2900的前面板;在另一些实施例中,显示屏2905可以为至少两个,分别设置在终端2900的不同表面或呈折叠设计;在再一些实施例中,显示屏2905可以是柔性显示屏,设置在终端2900的弯曲表面上或折叠面上。甚至,显示屏2905还可以设置成非矩形的不规则图形,也即异形屏。显示屏2905可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件2906用于采集图像或视频。可选地,摄像头组件2906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件2906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路2907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器2901进行处理,或者输入至射频电路2904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端2900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器2901或射频电路2904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路2907还可以包括耳机插孔。
定位组件2908用于定位终端2900的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件2908可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源2909用于为终端2900中的各个组件进行供电。电源2909可以是交流电、直流电、一次性电池或可充电电池。当电源2909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端2900还包括有一个或多个传感器2910。该一个或多个传感器2910包括但不限于:加速度传感器2911、陀螺仪传感器2912、压力传感器2913、指纹传感器2914、光学传感器2915以及接近传感器2916。
加速度传感器2911可以检测以终端2900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器2911可以用于检测重力加速度在三个坐标轴上的分量。处理器2901可以根据加速度传感器2911采集的重力加速度信号,控制触摸显示屏2905以横向视图或纵向视图进行用户界面的显示。加速度传感器2911还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器2912可以检测终端2900的机体方向及转动角度,陀螺仪传感器2912可以与加速度传感器2911协同采集用户对终端2900的3D动作。处理器2901根据陀螺仪传感器2912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器2913可以设置在终端2900的侧边框和/或触摸显示屏2905的下层。当压力传感器2913设置在终端2900的侧边框时,可以检测用户对终端2900的握持信号,由处理器2901根据压力传感器2913采集的握持信号进行左右手识别或快捷操作。当压力传感器2913设置在触摸显示屏2905的下层时,由处理器2901根据用户对触摸显示屏2905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器2914用于采集用户的指纹,由处理器2901根据指纹传感器2914采集到的指纹识别用户的身份,或者,由指纹传感器2914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器2901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器2914可以被设置终端2900的正面、背面或侧面。当终端2900上设置有物理按键或厂商Logo时,指纹传感器2914可以与物理按键或厂商Logo集成在一起。
光学传感器2915用于采集环境光强度。在一个实施例中,处理器2901可以根据光学传感器2915采集的环境光强度,控制触摸显示屏2905的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏2905的显示亮度;当环境光强度较低时,调低触摸显示屏2905的显示亮度。在另一个实施例中,处理器2901还可以根据光学传感器2915采集的环境光强度,动态调整摄像头组件2906的拍摄参数。
接近传感器2916,也称距离传感器,通常设置在终端2900的前面板。接近传感器2916用于采集用户与终端2900的正面之间的距离。在一个实施例中,当接近传感器2916检测到用户与终端2900的正面之间的距离逐渐变小时,由处理器2901控制触摸显示屏2905从亮屏状态切换为息屏状态;当接近传感器2916检测到用户与终端2900的正面之间的距离逐渐变大时,由处理器2901控制触摸显示屏2905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图50中示出的结构并不构成对终端2900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的虚拟世界的画面显示方法。
本申请提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述各个方法实施例提供的虚拟世界的画面显示方法。
本申请还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的虚拟世界的画面显示方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (23)

1.一种虚拟世界的画面显示方法,其特征在于,所述虚拟世界包括:属于第一阵营的第一基地和属于第二阵营的第二基地,以及位于所述第一基地和所述第二基地之间的第一边路、中路和第二边路,在所述虚拟世界中进行对战的第一虚拟角色和第二虚拟角色,所述第二边路包括第一路段和第二路段,所述第一虚拟角色是第一终端控制的属于所述第一阵营的虚拟角色,所述第二虚拟角色是第二终端控制的属于所述第二阵营的虚拟角色,所述方法包括:
所述第一终端显示第一虚拟世界画面,所述第一虚拟世界画面是采用第一视角观察所述虚拟世界得到的画面,所述第一视角是垂直于所述第一路段且以所述第一虚拟角色为观察焦点的视角,所述第一路段是所述第二边路属于第一阵营的道路部分;
所述第二终端显示第二虚拟世界画面,所述第二虚拟世界画面是采用第二视角观察所述虚拟世界得到的画面,所述第二视角是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的视角,所述第二路段是所述第二边路属于第二阵营的道路部分。
2.根据权利要求1所述的方法,其特征在于
所述第一边路在所述第一虚拟世界画面和所述第二虚拟世界画面的显示位置相同;
所述第二边路在所述第一虚拟世界画面和所述第二虚拟世界画面的显示位置相同。
3.根据权利要求1所述的方法,其特征在于,所述虚拟世界包括:背景模型和前景模型,所述背景模型是所述虚拟世界中背景的三维模型,所述前景模型是所述虚拟世界中背景上方的非对称三维模型;
所述背景模型的左右方位在所述第一虚拟世界画面和所述第二虚拟世界画面中是对称的;
所述前景模型的左右方位在所述第一虚拟世界画面和所述第二虚拟世界画面中是相同的。
4.根据权利要求3所述的方法,其特征在于,所述所述第二终端显示第二虚拟世界画面之前,还包括:
所述第二终端设置第二摄像机以及所述第二摄像机的投影矩阵,所述第二摄像机是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的摄像机,所述投影矩阵包括:原始投影矩阵和对称投影矩阵;
所述第二终端确定所述第二摄像机在所述虚拟世界中可视的背景模型;
所述第二终端将所述背景模型根据所述对称投影矩阵投影至所述第二摄像机的摄像平面上。
5.根据权利要求3所述的方法,其特征在于,所述所述第二终端显示第二虚拟世界画面之前,还包括:
所述第二终端设置第二摄像机以及所述第二摄像机的投影矩阵,所述第二摄像机是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的摄像机,所述投影矩阵包括:原始投影矩阵和对称投影矩阵;
所述第二终端获取所述第二摄像机在所述虚拟世界中可视的前景模型的坐标,所述坐标是在所述第二摄像机的摄像机坐标系中的坐标;
所述第二终端根据所述前景模型的坐标,以所述第二摄像机的摄像中线为对称线对所述前景模型进行平移旋转处理,所述平移旋转处理包括:将所述前景模型平移至对称位置,以及将所述前景模型在绕垂直于水平面的旋转轴上的旋转角从α改变为(180-α)度;
所述第二终端将所述前景模型根据所述原始投影矩阵投影至所述第二摄像机的摄像平面上。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述前景模型的坐标未处于所述摄像中线时,所述第二终端执行所述根据所述前景模型的坐标,以所述摄像中线为对称线对所述前景模型进行平移旋转处理的步骤;
当所述前景模型的坐标处于所述摄像中线时,所述第二终端对所述前景模型进行旋转处理,所述旋转处理包括:将所述前景模型在绕垂直于水平面的旋转轴上的旋转角从α改变为(180-α)度。
7.根据权利要求3至6任一所述的方法,其特征在于,所述方法还包括:
所述第二终端设置第二摄像机以及所述第二摄像机的投影矩阵,所述第二摄像机是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的摄像机,所述投影矩阵包括:原始投影矩阵和对称投影矩阵;
所述第二终端获取所述第二摄像机在所述虚拟世界中可视的前景模型特效的坐标,所述坐标是在所述第二摄像机的摄像机坐标系中的坐标;
所述第二终端根据所述前景模型特效的坐标,以所述摄像中线为对称线对所述前景模型特效进行平移旋转处理,所述平移旋转处理包括:将所述前景模型特效平移至对称位置,以及将所述前景模型特效在绕垂直于水平面的旋转轴上的旋转角从α改变为(180-α)度;
所述第二终端将所述前景模型特效根据所述原始投影矩阵投影至所述第二摄像机的摄像平面上。
8.根据权利要求4或5或7所述的方法,其特征在于,所述所述第二终端设置第二摄像机包括:
所述第二终端根据所述第二路段确定第二摄像机的摄像朝向,根据所述第二虚拟角色的坐标确定所述第二摄像机的摄像中线。
9.根据权利要求3至6任一所述的方法,其特征在于,所述虚拟世界中还包括灯光模型和中路对角线,所述方法还包括:
所述第二终端获取所述灯光模组在所述世界坐标系中的坐标;
所述第二终端根据所述灯光模组在所述世界坐标系中的坐标,以过所述中路对角线垂直于水平面的平面为对称面对所述灯光模组进行对称处理,所述对称处理包括:将所述灯光模组对称至对称位置;
所述第二终端将所述灯光模组产生的阴影投影至所述第二摄像机平面上。
10.根据权利要求3至6任一所述的方法,其特征在于,所述所述第二终端显示第二虚拟世界画面,包括:
所述第二终端显示用户界面,所述用户界面包括所述第二虚拟世界画面,以及叠加在所述第二虚拟世界画面上的方向控制控件,所述方向控制控件用于控制所述第二虚拟角色的移动方向或技能释放方向;
所述方法还包括:
所述第二终端获取作用于所述方向控制控件上的方向操作的方向向量的坐标,所述方向向量的坐标是所述方向操作在所述用户界面的界面坐标系中的坐标;
所述第二终端根据所述方向向量在所述界面坐标系中的坐标,以斜对称线为对称线对所述方向向量进行斜对称处理得到第二方向向量,所述斜对称线是与所述用户界面的下边线和左边线呈45°夹角的线,所述斜对称处理包括:作所述方向向量关于所述斜对称线的对称;
所述第二终端获取所述第二方向向量的坐标;
所述第二终端根据所述第二方向向量的坐标控制所述第二虚拟角色在所述虚拟世界内进行移动或释放技能。
11.一种虚拟世界的画面显示装置,其特征在于,所述虚拟世界包括:属于第一阵营的第一基地和属于第二阵营的第二基地,以及位于所述第一基地和所述第二基地之间的第一边路、中路和第二边路,在所述虚拟世界中进行对战的第一虚拟角色和第二虚拟角色,所述第二边路包括第一路段和第二路段,所述第一虚拟角色是属于所述第一阵营的虚拟角色,所述第二虚拟角色是属于所述第二阵营的虚拟角色,所述装置包括:
第一显示模块,用于当主控虚拟角色是所述第一虚拟角色时,显示第一虚拟世界画面,所述第一虚拟世界画面是采用第一视角观察所述虚拟世界得到的画面,所述第一视角是垂直于所述第一路段且以所述第一虚拟角色为观察焦点的视角,所述第一路段是所述第二边路属于第一阵营的道路部分;
第二显示模块,用于当所述主控虚拟角色是所述第二虚拟角色时,显示第二虚拟世界画面,所述第二虚拟世界画面是采用第二视角观察所述虚拟世界得到的画面,所述第二视角是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的视角,所述第二路段是所述第二边路属于第二阵营的道路部分。
12.根据权利要求11所述的装置,其特征在于,
所述第一边路在所述第一虚拟世界画面和所述第二虚拟世界画面的显示位置相同;
所述第二边路在所述第一虚拟世界画面和所述第二虚拟世界画面的显示位置相同。
13.根据权利要求11所述的装置,其特征在于,所述虚拟世界包括:背景模型和前景模型,所述背景模型是所述虚拟世界中背景的三维模型,所述前景模型是所述虚拟世界中背景上方的非对称三维模型;
所述背景模型的左右方位在所述第一虚拟世界画面和所述第二虚拟世界画面中是对称的;
所述前景模型的左右方位在所述第一虚拟世界画面和所述第二虚拟世界画面中是相同的。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:设置模块、获取模块、投影模块;
所述设置模块,用于当所述主控虚拟角色是所述第二虚拟角色时,设置第二摄像机以及所述第二摄像机的投影矩阵,所述第二摄像机是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的摄像机,所述投影矩阵包括:原始投影矩阵和对称投影矩阵;
所述获取模块,用于确定所述第二摄像机在所述虚拟世界中可视的背景模型;
所述投影模块,用于将所述背景模型根据所述对称投影矩阵投影至所述第二摄像机的摄像平面上。
15.根据权利要求13所述的装置,其特征在于,所述装置还包括:设置模块、获取模块、平移旋转模块、投影模块;
所述设置模块,用于当所述主控虚拟角色是所述第二虚拟角色时,设置第二摄像机以及所述第二摄像机的投影矩阵,所述第二摄像机是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的摄像机,所述投影矩阵包括:原始投影矩阵和对称投影矩阵;
所述获取模块,用于获取所述第二摄像机在所述虚拟世界中可视的前景模型的坐标,所述坐标是在所述第二摄像机的摄像机坐标系中的坐标;
所述平移旋转模块,用于根据所述前景模型的坐标,以所述第二摄像机的摄像中线为对称线对所述前景模型进行平移旋转处理,所述平移旋转处理包括:将所述前景模型平移至对称位置,以及将所述前景模型在绕垂直于水平面的旋转轴上的旋转角从α改变为(180-α)度;
所述投影模块,用于将所述前景模型根据所述原始投影矩阵投影至所述第二摄像机的摄像平面上。
16.根据权利要求15所述的装置,其特征在于,所述平移旋转模块包括:旋转子模块;
所述平移旋转模块,还用于当所述主控虚拟角色是所述第二虚拟角色时,且所述前景模型的坐标未处于所述摄像中线时,执行所述根据所述前景模型的坐标,以所述摄像中线为对称线对所述前景模型进行平移旋转处理的步骤;
所述旋转子模块,用于当所述主控虚拟角色是所述第二虚拟角色时,且所述前景模型的坐标处于所述摄像中线时,对所述前景模型进行旋转处理,所述旋转处理包括:将所述前景模型在绕垂直于水平面的旋转轴上的旋转角从α改变为(180-α)度。
17.根据权利要求13至16任一所述的装置,其特征在于,所述装置还包括:设置模块、获取模块、平移旋转模块、投影模块;
所述设置模块,用于当所述主控虚拟角色是所述第二虚拟角色时,设置第二摄像机以及所述第二摄像机的投影矩阵,所述第二摄像机是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的摄像机,所述投影矩阵包括:原始投影矩阵和对称投影矩阵;
所述获取模块,用于获取所述第二摄像机在所述虚拟世界中可视的前景模型特效的坐标,所述坐标是在所述第二摄像机的摄像机坐标系中的坐标;
所述平移旋转模块,用于根据所述前景模型特效的坐标,以所述摄像中线为对称线对所述前景模型特效进行平移旋转处理,所述平移旋转处理包括:将所述前景模型特效平移至对称位置,以及将所述前景模型特效在绕垂直于水平面的旋转轴上的旋转角从α改变为(180-α)度;
所述投影模块,用于将所述前景模型特效根据所述原始投影矩阵投影至所述第二摄像机的摄像平面上。
18.根据权利要求14或15或17所述的装置,其特征在于,
所述设置模块,还用于当所述主控虚拟角色是所述第二虚拟角色时,根据所述第二路段确定第二摄像机的摄像朝向,根据所述第二虚拟角色的坐标确定所述第二摄像机的摄像中线。
19.根据权利要求13至16任一所述的装置,其特征在于,所述装置还包括:获取模块、对称模块、投影模块;
所述获取模块,用于当所述主控虚拟角色是所述第二虚拟角色时,获取所述灯光模组在所述世界坐标系中的坐标;
所述对称模块,用于根据所述灯光模组在所述世界坐标系中的坐标,以过所述中路对角线垂直于水平面的平面为对称面对所述灯光模组进行对称处理,所述对称处理包括:将所述灯光模组对称至对称位置;
所述投影模块,用于将所述灯光模组产生的阴影投影至所述第二摄像机平面上。
20.根据权利要求13至16任一所述的装置,其特征在于,
所述第二显示模块,还用于当所述主控虚拟角色是所述第二虚拟角色时,显示用户界面,所述用户界面包括所述第二虚拟世界画面,以及叠加在所述第二虚拟世界画面上的方向控制控件,所述方向控制控件用于控制所述第二虚拟角色的移动方向或技能释放方向;
所述装置还包括:交互模块、斜对称模块、获取模块、控制模块;
所述交互模块,用于获取作用于所述方向控制控件上的方向操作的方向向量的坐标,所述方向向量的坐标是所述方向操作在所述用户界面的界面坐标系中的坐标;
所述斜对称模块,用于根据所述方向向量在所述界面坐标系中的坐标,以斜对称线为对称线对所述方向向量进行斜对称处理得到第二方向向量,所述斜对称线是与所述用户界面的下边线和左边线呈45°夹角的线,所述斜对称处理包括:作所述方向向量关于所述斜对称线的对称;
所述获取模块,还用于获取所述第二方向向量的坐标;
所述控制模块,用于根据所述第二方向向量的坐标控制所述第二虚拟角色在所述虚拟世界内进行移动或释放技能。
21.一种虚拟世界的画面显示系统,其特征在于,所述虚拟世界包括:属于第一阵营的第一基地和属于第二阵营的第二基地,以及位于所述第一基地和所述第二基地之间的第一边路、中路和第二边路,在所述虚拟世界中进行对战的第一虚拟角色和第二虚拟角色,所述第二边路包括第一路段和第二路段,所述第一虚拟角色是属于所述第一阵营的虚拟角色,所述第二虚拟角色是属于所述第二阵营的虚拟角色,所述系统包括:第一客户端和第二客户端;
所述第一客户端,用于显示第一虚拟世界画面,所述第一虚拟世界画面是采用第一视角观察所述虚拟世界得到的画面,所述第一视角是垂直于所述第一路段且以所述第一虚拟角色为观察焦点的视角,所述第一路段是所述第二边路属于第一阵营的道路部分;
所述第二客户端,用于显示第二虚拟世界画面,所述第二虚拟世界画面是采用第二视角观察所述虚拟世界得到的画面,所述第二视角是垂直于所述第二路段且以所述第二虚拟角色为观察焦点的视角,所述第二路段是所述第二边路属于第二阵营的道路部分。
22.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至10任一所述的虚拟世界的画面显示方法中由第二终端执行的步骤。
23.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至10任一所述的虚拟世界的画面显示方法。
CN201911019070.0A 2019-10-21 2019-10-24 虚拟世界的画面显示方法、装置、设备及介质 Active CN110755845B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2019110025775 2019-10-21
CN201911002577 2019-10-21

Publications (2)

Publication Number Publication Date
CN110755845A true CN110755845A (zh) 2020-02-07
CN110755845B CN110755845B (zh) 2022-11-22

Family

ID=69333359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911019070.0A Active CN110755845B (zh) 2019-10-21 2019-10-24 虚拟世界的画面显示方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN110755845B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111672108A (zh) * 2020-05-29 2020-09-18 腾讯科技(深圳)有限公司 虚拟对象的显示方法、装置、终端及存储介质
CN111888762A (zh) * 2020-08-13 2020-11-06 网易(杭州)网络有限公司 游戏中镜头视角的调整方法及电子设备
CN111970524A (zh) * 2020-08-14 2020-11-20 北京字节跳动网络技术有限公司 交互类直播连麦的控制方法、装置、系统、设备及介质
CN113384883A (zh) * 2021-06-11 2021-09-14 网易(杭州)网络有限公司 游戏中的显示控制方法及装置、电子设备、存储介质
CN113426131A (zh) * 2021-07-02 2021-09-24 腾讯科技(成都)有限公司 虚拟场景的画面生成方法、装置、计算机设备及存储介质
CN113426110A (zh) * 2021-06-24 2021-09-24 腾讯科技(上海)有限公司 虚拟角色交互方法、装置、计算机设备和存储介质
US11156473B2 (en) * 2016-08-18 2021-10-26 Sony Corporation Information processing apparatus, information processing system, and information processing method
CN114359469A (zh) * 2022-01-07 2022-04-15 腾讯科技(深圳)有限公司 生成主控对象投影的方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107050862A (zh) * 2017-05-19 2017-08-18 网易(杭州)网络有限公司 游戏场景的显示控制方法及系统、存储介质
US20190209923A1 (en) * 2016-12-06 2019-07-11 Tencent Technology (Shenzhen) Company Limited Image processing method and apparatus
CN110339554A (zh) * 2019-07-22 2019-10-18 广州银汉科技有限公司 游戏地图镜像对称方法与系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190209923A1 (en) * 2016-12-06 2019-07-11 Tencent Technology (Shenzhen) Company Limited Image processing method and apparatus
CN107050862A (zh) * 2017-05-19 2017-08-18 网易(杭州)网络有限公司 游戏场景的显示控制方法及系统、存储介质
CN110339554A (zh) * 2019-07-22 2019-10-18 广州银汉科技有限公司 游戏地图镜像对称方法与系统

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11156473B2 (en) * 2016-08-18 2021-10-26 Sony Corporation Information processing apparatus, information processing system, and information processing method
CN111672108A (zh) * 2020-05-29 2020-09-18 腾讯科技(深圳)有限公司 虚拟对象的显示方法、装置、终端及存储介质
CN111888762A (zh) * 2020-08-13 2020-11-06 网易(杭州)网络有限公司 游戏中镜头视角的调整方法及电子设备
CN111970524A (zh) * 2020-08-14 2020-11-20 北京字节跳动网络技术有限公司 交互类直播连麦的控制方法、装置、系统、设备及介质
CN111970524B (zh) * 2020-08-14 2022-03-04 北京字节跳动网络技术有限公司 交互类直播连麦的控制方法、装置、系统、设备及介质
WO2022033494A1 (zh) * 2020-08-14 2022-02-17 北京字节跳动网络技术有限公司 交互类直播连麦的控制方法、装置、系统、设备及介质
CN113384883A (zh) * 2021-06-11 2021-09-14 网易(杭州)网络有限公司 游戏中的显示控制方法及装置、电子设备、存储介质
CN113384883B (zh) * 2021-06-11 2024-02-02 网易(杭州)网络有限公司 游戏中的显示控制方法及装置、电子设备、存储介质
CN113426110A (zh) * 2021-06-24 2021-09-24 腾讯科技(上海)有限公司 虚拟角色交互方法、装置、计算机设备和存储介质
CN113426110B (zh) * 2021-06-24 2023-11-17 腾讯科技(上海)有限公司 虚拟角色交互方法、装置、计算机设备和存储介质
CN113426131A (zh) * 2021-07-02 2021-09-24 腾讯科技(成都)有限公司 虚拟场景的画面生成方法、装置、计算机设备及存储介质
CN113426131B (zh) * 2021-07-02 2023-06-30 腾讯科技(成都)有限公司 虚拟场景的画面生成方法、装置、计算机设备及存储介质
CN114359469A (zh) * 2022-01-07 2022-04-15 腾讯科技(深圳)有限公司 生成主控对象投影的方法、装置、设备及介质
CN114359469B (zh) * 2022-01-07 2023-06-09 腾讯科技(深圳)有限公司 生成主控对象投影的方法、装置、设备及介质

Also Published As

Publication number Publication date
CN110755845B (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
CN110755845B (zh) 虚拟世界的画面显示方法、装置、设备及介质
CN111589131B (zh) 虚拟角色的控制方法、装置、设备及介质
CN111589133B (zh) 虚拟对象控制方法、装置、设备及存储介质
CN110585710B (zh) 互动道具控制方法、装置、终端及存储介质
CN111589124B (zh) 虚拟对象的控制方法、装置、终端及存储介质
CN111408133B (zh) 互动道具显示方法、装置、终端及存储介质
CN111462307A (zh) 虚拟对象的虚拟形象展示方法、装置、设备及存储介质
CN111589139B (zh) 虚拟对象展示方法、装置、计算机设备及存储介质
CN111659119B (zh) 虚拟对象的控制方法、装置、设备及存储介质
CN110585695B (zh) 在虚拟环境中使用近战道具的方法、装置、设备及介质
CN112569600B (zh) 虚拟场景中的路径信息发送方法、计算机设备及存储介质
CN111494937B (zh) 虚拟对象的控制、信息同步方法、装置、设备及介质
CN111672106B (zh) 虚拟场景显示方法、装置、计算机设备及存储介质
CN113117331B (zh) 多人在线对战程序中的消息发送方法、装置、终端及介质
CN111760278A (zh) 技能控件的显示方法、装置、设备及介质
CN111672104A (zh) 虚拟场景的显示方法、装置、终端及存储介质
CN113289331A (zh) 虚拟道具的显示方法、装置、电子设备及存储介质
CN111672114A (zh) 目标虚拟对象确定方法、装置、终端及存储介质
CN111672102A (zh) 虚拟场景中的虚拟对象控制方法、装置、设备及存储介质
CN113181645A (zh) 特效显示方法、装置、电子设备及存储介质
CN111672112A (zh) 虚拟环境的显示方法、装置、设备及存储介质
CN112221142A (zh) 虚拟道具的控制方法、装置、计算机设备及存储介质
CN111672108A (zh) 虚拟对象的显示方法、装置、终端及存储介质
CN111589134A (zh) 虚拟环境画面的显示方法、装置、设备及存储介质
CN111346370B (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
GR01 Patent grant
GR01 Patent grant