具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
为了便于理解本申请实施例的技术过程,下面对本申请实施例所涉及的一些名词进行解释:
虚拟场景:是应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景和三维虚拟场景中的任意一种,本申请对此不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。一个应用程序可以包括多个虚拟场景,例如,应用程序中可以有多种地图供用户选择。
虚拟对象:是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等。该虚拟对象可以是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。可选地,该虚拟对象可以是通过在客户端上操作进行控制的角色,也可以是通过训练设置在虚拟环境对战中的人工智能(ArtificialIntelligence,AI),还可以是设置在虚拟场景对战中的非玩家角色(Non-PlayerCharacter,NPC)。可选地,该虚拟对象是在虚拟场景中进行竞技的虚拟人物。可选地,该虚拟场景对战中的虚拟对象的数量可以是预先设置的,也可以是根据加入对战的客户端的数量动态确定的,本申请实施例对此不作限定。在一种可能实现方式中,用户可以控制虚拟对象在该虚拟场景中进行移动,例如,控制虚拟对象跑动、跳动、爬行等,也可以控制虚拟对象使用应用程序所提供的技能、虚拟道具等与其他虚拟对象进行战斗。
MOBA(Multiplayer Online Battle Arena,多人在线战术竞技)游戏:是一种在虚拟场景中提供若干个据点,处于不同群组(即阵营)的用户控制虚拟对象在虚拟场景中对战,占领据点或摧毁敌对群组据点的游戏。例如,MOBA游戏可将用户分成至少两个敌对群组,分属至少两个敌对群组的不同虚拟队伍分别占据各自的地图区域,以某一种胜利条件作为目标进行竞技。其中,每个虚拟队伍包括一个或多个虚拟对象。该胜利条件包括但不限于:占领据点或摧毁敌对群组据点、击杀敌对群组的虚拟对象、在指定场景和时间内保证自身的存活、抢夺到某种资源、在指定时间内比分超过对方中的至少一种。MOBA游戏可以以局为单位来进行,每局战术竞技的地图可以相同,也可以不同。一局MOBA游戏的持续时间是从游戏开始的时刻至达成胜利条件的时刻。
图1是本申请实施例提供的一种虚拟场景的显示方法的实施环境示意图,参见图1,该实施环境可以包括:第一终端110、服务器140和第二终端160。
第一终端110安装和运行有支持虚拟场景以及虚拟对象显示的应用程序。该应用程序可以是虚拟现实应用程序、三维地图程序、军事仿真程序、角色扮演类游戏(Role-Playing Game,RPG)、多人在线战术竞技游戏(Multiplayer Online Battle Arena Games,MOBA)、多人枪战类生存游戏中的任意一种。第一终端110是第一用户使用的终端,第一用户使用第一终端110操作位于虚拟场景中的第一虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示例性的,第一虚拟对象是第一虚拟人物,比如仿真人物角色或动漫人物角色。
第一终端110通过无线网络或有线网络与服务器140相连。
服务器140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器140用于为支持虚拟场景的应用程序提供后台服务。可选地,服务器140承担主要计算工作,第一终端110和第二终端160承担次要计算工作;或者,服务器140承担次要计算工作,第一终端110和第二终端160承担主要计算工作;或者,服务器140、第一终端110和第二终端160三者之间采用分布式计算架构进行协同计算。
第二终端160安装和运行有支持虚拟场景以及虚拟对象显示的应用程序。该应用程序可以是虚拟现实应用程序、三维地图程序、军事仿真程序、角色扮演类游戏(Role-Playing Game,RPG)、多人在线战术竞技游戏(Multiplayer Online Battle Arena Games,MOBA)、多人枪战类生存游戏中的任意一种。第二终端160是第二用户使用的终端,第二用户使用第二终端160操作位于虚拟场景中的第二虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,第二虚拟对象是第二虚拟人物,比如仿真人物角色或动漫人物角色。
第二终端160通过无线网络或有线网络与服务器140相连。
可选地,第一终端110控制的第一虚拟对象和第二终端160控制的第二虚拟对象处于同一虚拟场景中,此时第一虚拟对象可以在虚拟场景中与第二虚拟对象进行互动。在一些实施例中,第一虚拟对象以及第二虚拟对象可以为敌对关系,例如,第一虚拟对象与第二虚拟对象可以属于不同的群组,敌对关系的虚拟对象之间,可以应用不同的技能互相攻击,从而进行对战方式的互动,在第一终端110和第二终端160中显示技能所触发的表现效果。
在另一些实施例中,第一虚拟对象以及第二虚拟对象可以为队友关系,例如,第一虚拟对象和第二虚拟对象可以属于同一个群组、具有好友关系或具有临时性的通讯权限。
可选地,第一终端110和第二终端160上安装的应用程序是相同的,或两个终端上安装的应用程序是不同操作系统平台的同一类型应用程序。第一终端110可以泛指多个终端中的一个,第二终端160可以泛指多个终端中的一个,本实施例仅以第一终端110和第二终端160来举例说明。第一终端110和第二终端160的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机中的至少一种。例如,第一终端110和第二终端160可以是智能手机,或者其他手持便携式游戏设备。以下实施例,以终端包括智能手机来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
本申请实施例提供的虚拟场景的显示方法,可以应用于多种类型的应用程序中。以该方法可以应用于MOBA游戏中为例,一局MOBA游戏可以对应于一个虚拟场景,即地图,该地图中可以有至少两个出生点以及多条不同的进攻路线。其中,该出生点即为游戏开局后,用户所控制的虚拟对象出现的位置,属于不同群组的用户所控制的虚拟对象会出现在不同的出生点,用户可以控制虚拟对象从出生点处开始,按照进攻路线进行移动,对虚拟场景中的其他虚拟对象发起攻击,属于不同群组的虚拟对象所对应的进攻方向也不同。图2是本申请实施例提供的一种MOBA游戏地图的示意图,参见图2,该地图中可以包括出生点201、出生点202、进攻路线203以及进攻路线204。在一种可能实现方式中,属于第一群组的用户所控制的虚拟对象可以对应于地图右上方的出生点201,属于第二群组的用户所控制的虚拟对象可以对应于地图左下方的出生点202,用户可以控制虚拟对象按照进攻路线203或者204,从本群组的出生点向敌对群组的出生点移动。在游戏开局,确定用户所属的群组之后,终端可以对该群组所对应的出生点处的虚拟场景进行显示,将这一部分虚拟场景显示在屏幕的左下方,即无论虚拟对象所对应的是出生点201,还是出生点202,出生点处的虚拟场景均显示在屏幕的左下方,无论用户属于哪一群组,均需要控制虚拟对象从屏幕的左下方向右上方移动,以向敌对群组发起攻击。在上述虚拟场景显示方式中,由于各个群组所对应的出生点处的虚拟场景均显示在屏幕的左下方,用户难以从屏幕中所呈现的虚拟场景来判断自己的所属群组。结合本申请实施例提供的技术方案,可以通过显示虚拟场景的画面切换过程,使用户感知到自己所属的阵营。例如,对于属于第一群组的用户,其对应于出生点201,终端可以先按照该出生点201在地图中的实际方位,将该出生点201处的虚拟场景显示在屏幕的右上方,再对当前显示的虚拟场景画面进行旋转,将该出生点201处的虚拟场景显示在屏幕的左下方。而对于属于第二群组的用户,其对应于出生点202,终端按照该出生点202在地图中的实际方位进行虚拟场景显示时,可以直接将该出生点202处的虚拟场景显示在屏幕的左下方,无需进行画面切换。也即是,属于第一群组的用户在游戏开局后,会看到虚拟场景画面切换的过程,用户可以了解到当前的操作界面中所显示的虚拟场景画面是怎样得到的。应用本申请实施例提供的技术方案,通过显示虚拟场景画面切换的过程,来提示用户自己所属的群组,便于用户基于当前所述的群组来确定正确的进攻路线、进攻方向,避免操作失误以及在后续操作过程中重新调整进攻路线,进而可以提高人机交互效率,提升游戏的用户体验。
图3是本申请实施例提供的一种虚拟场景的显示方法的流程图。该方法可以应用于上述实施环境中的任一终端,在本申请实施例中,以终端作为执行主体,结合图3,对该虚拟对象控制方法进行简要介绍:
301、终端响应于开局操作,确定被控虚拟对象在本局竞技对战中的所属群组,该被控虚拟对象为当前终端所控制的对象。
在一种可能实现方式中,该终端可以显示有开局准备界面,该开局准备界面可以显示有用于提供游戏开局功能的确认开局控件,该开局操作可以为用户对该确认开局控件的触发操作。其中,该触发操作可以为点击操作、长按操作等,本申请实施例对此不作限定。需要说明的是,本申请实施例对该开局操作的具体形式不作限定。
在一种可能实现方式中,终端检测到用户的开局操作后,可以向服务器发起用户匹配请求,为用户分配群组,服务器可以将用户在本局竞技对战中所属群组的群组标识发送至该终端。当然,该终端也可以通过其他方式确定该被控虚拟对象所属的群组,本申请实施例对此不作限定。
302、终端响应于该被控虚拟对象属于第一群组,确定与该第一群组相关联的虚拟镜头的初始位置以及目标位置。
其中,该第一群组即为出生点在虚拟场景即地图的右上方的群组。该虚拟镜头可以用于获取虚拟场景的画面。在一种可能实现方式中,虚拟场景中可以设置有虚拟摄像机,终端可以通过该虚拟摄像机的虚拟镜头来拍摄虚拟场景的画面,对该虚拟镜头所拍摄到的画面进行显示,来实现对虚拟场景的显示。终端可以通过调整该虚拟镜头的位置、旋转角度、高度等,来调整拍摄角度,从而获取到虚拟场景中不同角度的画面。图4是本申请实施例提供的一种虚拟摄像机和虚拟场景的示意图,参见图4,虚拟摄像机401可以设置在虚拟场景402的任一位置,通过该虚拟摄像机401的虚拟镜头,可以将该虚拟场景402以及该虚拟场景中的虚拟对象等呈现在用户的操作界面中。需要说明的是,本申请实施例对该虚拟场景中所设置的虚拟摄像机的数目不作限定,本申请实施例仅以一个虚拟摄像机为例进行说明。
在本申请实施例中,不同群组所对应的虚拟镜头的位置不同,该终端确定该被控虚拟对象属于第一群组后,可以从应用程序的目标配置文件中获取与该第一群组相关联的配置信息。其中,该目标配置文件用于存储该应用程序的配置信息,包括虚拟镜头的配置信息、UI控件的操作信息等。在一种可能实现方式中,该终端可以从该目标配置文件中获取到该虚拟镜头的初始位置以及目标位置。当然,还可以获取到该虚拟镜头位于该初始位置、目标位置的时机,例如,该虚拟镜头位于该初始位置的第一时刻、位于该初始位置的持续时长以及位于该目标位置的第二时刻。
303、终端在图形交互界面中显示第一画面,该第一画面为该虚拟镜头在该初始位置对应的虚拟场景画面。
其中,该图形交互界面可以为游戏开局后,终端所显示的用户操作界面,该图形交互界面可以显示有虚拟场景画面以及虚拟对象,当然,该图形交互界面还可以显示有其他操作控件,本申请实施例对此不作限定。
在一种可能实现方式中,终端获取到该虚拟镜头的初始位置以及位于该初始位置的第一时刻后,当到达该第一时刻时,可以将该虚拟镜头设置在该初始位置,获取该虚拟镜头拍摄的虚拟场景的画面,作为该第一画面,在该图形交互界面中显示该第一画面。
304、终端在该图形交互界面中,将该第一画面切换为第二画面进行显示,该第二画面为该虚拟镜头在该目标位置对应的虚拟场景画面。
在本申请实施例中,终端可以对该虚拟镜头的位置进行调整,将该虚拟镜头由初始位置调整至目标位置,该图形交互界面中所显示的虚拟场景画面由该第一画面切换为第二画面。在一种可能实现方式中,终端可以获取到该虚拟镜头位于该初始位置的持续时长、位于该目标位置的第二时刻,当该虚拟镜头位于该初始位置的时长达到该持续时长时,该终端可以对该虚拟镜头的位置进行调整,使该虚拟镜头在该第二时刻时处于该目标位置。当然,该终端也可以直接获取该虚拟镜头开始位置调整的时刻,本申请实施例对此不作限定。该虚拟镜头的位置调整完成后,该终端可以获取该虚拟镜头当前拍摄的虚拟场景画面作为该第二画面,在该图形交互界面中显示该第二画面。图5是本申请实施例提供的一种虚拟镜头的位置调整的示意图,参见图5,该虚拟镜头在初始位置501时,所拍摄到的虚拟场景画面为画面502,该虚拟镜头可以逆时针旋转,在旋转至目标位置503时,所拍摄到的虚拟场景画面为画面504。需要说明的是,图5仅是对初始位置、目标位置的一种示例性说明,该初始位置、目标位置也可以设置在其他位置,本申请实施例对此不作限定。
本申请实施例提供的技术方案,通过响应于开局操作,确定被控虚拟对象在本局竞技对战中的所属群组,若该被控虚拟对象属于第一群组,则确定与该第一群组相关联的虚拟镜头的初始位置以及目标位置,先将该虚拟镜头设置在该初始位置,在图形交互界面中显示该虚拟镜头在该初始位置时对应的虚拟场景的第一画面,再将该虚拟镜头由该初始位置调整为目标位置,获取虚拟镜头在目标位置时对应的虚拟场景的第二画面,将该图形交互界面中所显示的第一画面切换为第二画面,通过终端所显示的虚拟场景画面的切换,来提示用户自己当前所属的群组,从而使用户可以确定出该群组对应的正确进攻路线,避免因进攻路线不明确而导致的操作失误,也避免在后续操作过程中重新对进攻路线进行调整,进而可以提高人机交互效率,提升用户体验。
上述实施例是对本申请提供的虚拟场景的显示方法的简要介绍,具体的,结合图6,对该方法进行具体说明。图6是本申请实施例提供的一种虚拟场景的显示方法的流程图,该方法可以应用于图1所示的实施环境中。参见图6,该实施例具体可以包括以下步骤:
601、终端响应于开局操作,确定被控虚拟对象在本局竞技对战中的所属群组。
在一种可能实现方式中,终端可以对该开局操作进行检测,判断该开局操作是否满足第一目标条件。其中,该第一目标条件可以由开发人员进行设置,本申请实施例对此不作限定。以该第一目标条件设置为该开局操作为用户初次进入本局竞技对战为例,在一种可能实现方式中,当该终端检测到该开局操作是由用于对开局准备界面中确认开局的控件的点击操作触发时,则该终端可以确定用户是初次进入本局竞技对战,该开局操作满足该第一目标条件。当该终端检测到该开局操作不是由对开局准备界面中确认开局的控件的点击操作触发时,例如,用户中途切换至其他页面导致退出本局竞技对战,或者因网络中断而导致退出本局竞技对战,再次回到本局竞技对战时所触发的开局操作,则终端可以确定用户是再次进入本局对战,该开局操作不满足该第一目标条件。
在本申请实施例中,响应于该开局操作满足第一目标条件,终端可以对目标配置文件中的数据类进行加载。其中,该目标配置文件用于对该应用程序进行配置,包括对虚拟镜头、用户操作控件等进行配置。该目标配置文件中的配置信息可以以数据类的形式进行存储,例如,虚拟镜头的位置信息、处于该位置的时机、虚拟镜头的移动类型数据可以构建为一个数据类(Action),终端可以通过加载各个数据类来对应用程序进行配置。
602、终端响应于被控虚拟对象属于第一群组,确定与该第一群组相关联的虚拟镜头的初始位置以及目标位置。
在本申请实施例中,该终端响应于该被控虚拟对象属于第一群组,从该目标配置文件中的数据类中获取与该第一群组相关联的数据类,作为目标数据类。在一种可能实现方式中,该终端可以基于该第一群组的群组标识,从该目标配置文件中获取包含该第一群组的群组标识的数据类作为该目标数据类,该目标数据类中可以存储有与该第一群组相关联的配置信息。
在本申请实施例中,终端可以从该目标数据类中获取该虚拟镜头的初始位置以及目标位置,当然,还可以获取该虚拟镜头位于该初始位置、目标位置的时机等信息。其中,该初始位置、该目标位置均可以由位置坐标、角度坐标来表示,例如,该初始位置的位置坐标可以为P(x,y,z),角度坐标可以为R(a,b,c),该目标位置的位置坐标可以为P1(x1,y1,z1),角度坐标可以为R1(a1,b1,c1)。
603、终端在图形交互界面中显示第一画面。
在一种可能实现方式中,该终端可以将该初始位置、该目标位置以及该虚拟镜头处于各个位置的时机发送至镜头控制器,由该镜头控制器对该虚拟镜头的位置进行调整。响应于到达该虚拟镜头处于该初始位置的时机,该镜头控制器可以基于该位置坐标P(x,y,z),角度坐标R(a,b,c),将该虚拟镜头设置在该初始位置,终端可以获取该虚拟镜头在该初始位置所拍摄的虚拟场景画面,作为该第一画面,在该图形交互界面显示该第一画面。
604、终端基于该初始位置以及该目标位置,确定该虚拟镜头的旋转信息。
在本申请实施例中,终端可以通过该镜头控制器来获取该虚拟镜头的旋转信息,也即是,可以由该镜头控制器基于该初始位置以及该目标位置确定该虚拟镜头的旋转信息。其中,该旋转信息可以包括该虚拟镜头在旋转过程中对应的多个中间位置。在一种可能实现方式中,该镜头控制器可以基于该目标位置以及该初始位置进行差值运算,得到该虚拟镜头的旋转角度以及移动距离,作为该旋转信息。该镜头控制器还可以该虚拟镜头处于该初始位置的时间以及处于该目标位置的时机,确定出该虚拟镜头在旋转过程中的耗时,进而可以基于该旋转过程的耗时、应用程序的渲染输出帧率,确定该虚拟镜头在旋转过程中需要拍摄虚拟场景画面的目标时刻,再基于该虚拟镜头的旋转角度、移动距离以及目标时刻,确定出在各个目标时刻时,该虚拟镜头的位置,作为该中间位置。需要说明的是,上述对虚拟镜头的旋转信息的获取方法的说明,仅是一种示例性说明,本申请实施例对具体采用哪种方法确定该旋转信息不作限定。
上述实施例介绍了虚拟镜头由初始位置直接调整至目标位置的过程,在一种可能实现方式中,上述虚拟镜头由该初始位置调整至该目标位置的过程可以分为多个阶段。在一种可能实现方式中,可以通过设置过渡位置来进行阶段划分,例如,在第一阶段,该虚拟镜头可以从初始位置移动至第一过渡位置;在第二阶段,该虚拟镜头可以从第一过渡位置移动至第二过渡位置;在第三阶段,该虚拟镜头可从第二过渡位置移动至目标位置。对于任一阶段的移动过程,该终端可以基于这一阶段的起始位置、终止位置等信息,确定出该虚拟镜头在这一移动过程中的多个中间位置,来拍摄虚拟场景的画面。需要说明的是,本申请实施例对该虚拟镜头旋转过程中所包含的阶段数目以及过渡位置的数目不作限定。上述过渡位置可以由终端基于预设条件进行设置,也可以由终端随机设置,还可以由开发人员进行设置,本申请实施例对此不作限定。应用上述方案,对虚拟镜头的移动过程进行阶段划分,确定出每一阶段的起始位置和终止位置,可以更加精确的对虚拟镜头的移动轨迹进行调控,进而可以对呈现出的画面旋转效果进行精确控制。
在本申请实施例中,该终端可以通过该镜头控制器,基于该旋转信息更新该虚拟镜头所处的位置,控制该虚拟镜头进行旋转,以执行后续的画面旋转动效显示步骤605。图7是本申请实施例提供的一种虚拟镜头控制过程的示意图,参见图7,终端检测到用户进入本局竞技对战后,首先,终端可以执行加载开场行为数据,启动开场行为管理器的步骤701。其中,该开场行为数据可以包括该目标配置文件中的各个数据类。然后,该终端可以通过该开场行为管理器,来执行判断当前状态,根据当前状态来获取对应的开场行为数据的步骤702。其中,该当前状态可以包括用户所属的群组、用户在应用程序中的等级信息等。该开场行为管理器可以从已加载的开场行为数据中,获取与当前状态相关联的开场行为数据,将其中用于对虚拟镜头进行配置的数据发送至镜头控制器,即终端通过开场行为控制器执行将数据发送至镜头控制器,由镜头控制器设置虚拟镜头的最终状态的位置坐标、旋转角度的步骤703。最后,终端可以通过该镜头控制器,来执行后续的基于获取到的数据,确定虚拟镜头的旋转信息、控制虚拟镜头旋转的步骤704以及将虚拟镜头在旋转过程中所拍摄到的虚拟场景画面渲染出来,显示在图形交互界面的步骤705。也即是,终端可以通过该虚拟镜头控制器执行后续的步骤605、步骤606。
605、终端响应于该虚拟镜头基于该旋转信息进行旋转,得到该画面旋转动效,在该图形交互界面显示该画面旋转动效。
在本申请实施例中,响应于该虚拟镜头基于该旋转信息进行旋转,终端可以获取该虚拟镜头在各个该中间位置时所对应的虚拟场景画面,作为中间画面,该终端可以基于多个该中间画面,得到该画面旋转动效。其中,该画面旋转动效可以呈现该虚拟镜头由该初始位置旋转至该目标位置的过程中所采集的虚拟场景画面的变化过程。在一种可能实现方式中,该终端可以在该虚拟镜头的旋转过程中,实时显示该虚拟镜头所拍摄的各个中间画面,在图形交互界面中呈现出虚拟场景画面旋转的效果;也可以先对该虚拟镜头进行旋转,在虚拟镜头旋转完成后,再显示画面旋转动效,本申请实施例对此不作限定。
图8是本申请实施例提供的一种虚拟镜头配置过程的示意图,结合图8,对上述虚拟镜头的控制过程进行说明,参见图8,响应于开局操作,终端可以调用Awake函数,执行数据初始化以及判断用户所属群组的步骤801,再执行从目标配置文件中读取目标数据类的步骤802,对于读取到的目标数据类,执行判断该目标数据类能否执行的步骤803,若能执行,则执行该目标数据类,若不能执行,则读取下一个目标数据类,即执行步骤802。以该目标数据类能执行为例,该终端可以执行判断目标数据类的类型以及执行该目标数据类的步骤804,该终端可以基于该目标数据类中的配置信息对虚拟镜头进行旋转、移动、高度调整等,还可以设置虚拟镜头对虚拟对象进行跟随,还可以设置图形交互界面中的UI控件的显示状态等。在该目标数据类执行完成后,终端可以继续读取下一个目标数据类。
需要说明的是,上述步骤604和605,是在该图形交互界面显示该虚拟场景的画面旋转动效的步骤。应用上述方案,通过显示画面旋转动效,来呈现虚拟镜头旋转过程中所采集的虚拟场景画面的变化过程,可以提示用户虚拟场景中出生点的显示位置发生了变化。
606、终端响应于该虚拟镜头旋转至该目标位置,在该图形交互界面显示该虚拟镜头在该目标位置对应的第二画面。
在一种可能实现方式中,终端检测到该虚拟镜头旋转至该目标位置时,可以确定该虚拟镜头已旋转完成,终端可以将该虚拟镜头在该目标位置所拍摄的虚拟场景画面,即该第二画面渲染出来,将该第二画面显示在该图形交互界面。
需要说明的是,上述步骤604至步骤606,是在该图形交互界面中,将该第一画面切换为第二画面进行显示的步骤。应用上述方案,在图形交互界面中显示第一画面和第二画面的切换过程,来提示虚拟镜头的拍摄角度发生了变化,使用户可以理解终端当前显示的虚拟场景的画面是怎样得到的,便于用户感知到自己属于哪一群组。
本申请实施例提供的技术方案,通过响应于开局操作,确定被控虚拟对象在本局竞技对战中的所属群组,若该被控虚拟对象属于第一群组,则确定与该第一群组相关联的虚拟镜头的初始位置以及目标位置,先将该虚拟镜头设置在该初始位置,在图形交互界面中显示该虚拟镜头在该初始位置时对应的虚拟场景的第一画面,再将该虚拟镜头由该初始位置调整为目标位置,获取虚拟镜头在目标位置时对应的虚拟场景的第二画面,将该图形交互界面中所显示的第一画面切换为第二画面,通过终端所显示的虚拟场景画面的切换,来提示用户自己当前所属的群组,从而使用户可以确定出该群组对应的正确进攻路线,避免因进攻路线不明确而导致的操作失误,也避免在后续操作过程中重新对进攻路线进行调整,进而可以提高人机交互效率,提升用户体验。
上述实施例主要介绍了终端控制虚拟镜头旋转,显示虚拟场景的画面旋转动效的过程,在该虚拟镜头旋转完成,调整为正常游戏角度后,终端对该虚拟镜头当前拍摄到的虚拟场景画面进行显示,即对该第二画面进行显示,终端可以在该第二画面的预设区域内显示该被控虚拟对象,用户可以基于该第二画面进行操作,控制该被控虚拟对象与虚拟场景中的其他虚拟对象进行互动。其中,该预设区域可以由开发人员进行设置,例如,该预设区域可以为该第二画面的左下方区域,本申请实施例对此不做具体限定。图9是本申请实施例提供的一种被控虚拟对象显示过程的示意图,参见图9,终端检测到游戏开局后,可以执行加载相关游戏数据的步骤901,再执行判断用户所属群组的步骤902。若用户属于第一群组,则先执行设置虚拟镜头位于初始位置的步骤903,再执行对虚拟镜头的旋转过程进行配置的步骤904,基于虚拟镜头的旋转信息,执行将虚拟镜头旋转为正常游戏角度的步骤905。若用户属于第二群组,则终端可以执行设置虚拟镜头位于预设位置的步骤906,后续无需再调整虚拟镜头的位置。终端在虚拟镜头的位置确定后,可以获取该虚拟镜当前拍摄的虚拟场景画面进行显示,在该虚拟场景画面的预设区域显示被控虚拟对象,还可以显示与该被控虚拟对象属于同一群组的虚拟对象。应用上述方案,在属于不同群组的虚拟对象均显示在操作界面的同一位置的情况下,可以通过虚拟镜头旋转,显示虚拟场景画面的旋转过程的方式,来提示用户当前操作界面中所显示的虚拟场景画面是怎样得到的,使用户可以准确确定出自己所属的群组。
在上述过程中,虚拟镜头的位置信息均可以由开发人员进行配置,在配置完成后即可调用相关接口对配置效果进行预览,可以有效降低测试过程的耗时。在上述过程中,以对虚拟对象的出生点处的虚拟场景画面进行旋转为例进行说明,即虚拟镜头在初始位置和在目标位置,均是拍摄出生点处的虚拟场景画面。在一种可能实现方式中,该虚拟镜头在初始位置时还可以拍摄某一特定的虚拟对象,再移动至该目标位置,来拍摄该出生点处的画面,以达到提示用户当前所属群组的效果,需要说明的是,本申请实施例对该初始位置、目标位置不作限定。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
图10是本申请实施例提供的一种虚拟场景的显示装置的结构示意图,参见图10,该装置包括:
群组确定模块1001,用于响应于开局操作,确定被控虚拟对象在本局竞技对战中的所属群组,该被控虚拟对象为当前终端所控制的对象;
位置确定模块1002,用于响应于该被控虚拟对象属于第一群组,确定与该第一群组相关联的虚拟镜头的初始位置以及目标位置;
显示模块1003,用于在图形交互界面中显示第一画面,该第一画面为该虚拟镜头在该初始位置对应的虚拟场景画面;在该图形交互界面中,将该第一画面切换为第二画面进行显示,该第二画面为该虚拟镜头在该目标位置对应的虚拟场景画面。
在一种可能实现方式中,该显示模块1003包括:
动效显示单元,用于在该图形交互界面显示该虚拟场景的画面旋转动效,该画面旋转动效用于呈现该虚拟镜头由该初始位置旋转至该目标位置的过程中所采集的虚拟场景画面的变化过程;
画面显示单元,用于响应于该虚拟镜头旋转至该目标位置,在该图形交互界面显示该虚拟镜头在该目标位置对应的第二画面。
在一种可能实现方式中,该动效显示单元用于:
基于该初始位置以及该目标位置,确定该虚拟镜头的旋转信息;
响应于该虚拟镜头基于该旋转信息进行旋转,得到该画面旋转动效;
在该图形交互界面显示该画面旋转动效。
在一种可能实现方式中,该旋转信息包括该虚拟镜头在旋转过程中对应的多个中间位置。
在一种可能实现方式中,该动效显示单元用于:
响应于该虚拟镜头基于该旋转信息进行旋转,获取该虚拟镜头在各个该中间位置时所对应的虚拟场景画面,作为中间画面;
基于多个该中间画面,得到该画面旋转动效。
在一种可能实现方式中,该装置还包括:
加载模块,用于响应于该开局操作满足第一目标条件,加载目标配置文件中的数据类,该目标配置文件用于对该虚拟镜头进行配置。
在一种可能实现方式中,该位置确定模块1002用于:
响应于该被控虚拟对象属于第一群组,从该目标配置文件中的数据类中获取与该第一群组相关联的数据类,作为目标数据类;
从该目标数据类中获取该虚拟镜头的该初始位置以及该目标位置。
在一种可能实现方式中,该装置还包括:
发送模块,用于将该初始位置以及该目标位置发送至镜头控制器,由该镜头控制器基于该初始位置以及该目标位置确定该虚拟镜头的旋转信息,基于该旋转信息更新该虚拟镜头所处的位置,控制该虚拟镜头进行旋转。
在一种可能实现方式中,该显示模块1003用于:
在该第二画面的预设区域内显示该被控虚拟对象。
本申请实施例提供的装置,通过响应于开局操作,确定被控虚拟对象在本局竞技对战中的所属群组,若该被控虚拟对象属于第一群组,则确定与该第一群组相关联的虚拟镜头的初始位置以及目标位置,先将该虚拟镜头设置在该初始位置,在图形交互界面中显示该虚拟镜头在该初始位置时对应的虚拟场景的第一画面,再将该虚拟镜头由该初始位置调整为目标位置,获取虚拟镜头在目标位置时对应的虚拟场景的第二画面,将该图形交互界面中所显示的第一画面切换为第二画面,通过终端所显示的虚拟场景画面的切换,来提示用户自己当前所属的群组,从而使用户可以确定出该群组对应的正确进攻路线,避免因进攻路线不明确而导致的操作失误,也避免在后续操作过程中重新对进攻路线进行调整,进而可以提高人机交互效率,提升用户体验。
需要说明的是:上述实施例提供的虚拟场景的显示装置在虚拟场景显示时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟场景的显示装置与虚拟场景的显示方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11是本申请实施例提供的一种终端的结构示意图。该终端1100可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1100包括有:一个或多个处理器1101和一个或多个存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一条程序代码,该至少一条程序代码用于被处理器1101所执行以实现本申请中方法实施例提供的虚拟场景的显示方法。
在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、显示屏1105、摄像头组件1106、音频电路1107、定位组件1108和电源1109中的至少一种。
外围设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1105可以为一个,设置在终端1100的前面板;在另一些实施例中,显示屏1105可以为至少两个,分别设置在终端1100的不同表面或呈折叠设计;在一些实施例中,显示屏1105可以是柔性显示屏,设置在终端1100的弯曲表面上或折叠面上。甚至,显示屏1105还可以设置成非矩形的不规则图形,也即异形屏。显示屏1105可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还可以包括耳机插孔。
定位组件1108用于定位终端1100的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1108可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1109用于为终端1100中的各个组件进行供电。电源1109可以是交流电、直流电、一次性电池或可充电电池。当电源1109包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1116。
加速度传感器1111可以检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1111可以用于检测重力加速度在三个坐标轴上的分量。处理器1101可以根据加速度传感器1111采集的重力加速度信号,控制显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1111还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1112可以检测终端1100的机体方向及转动角度,陀螺仪传感器1112可以与加速度传感器1111协同采集用户对终端1100的3D动作。处理器1101根据陀螺仪传感器1112采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1113可以设置在终端1100的侧边框和/或显示屏1105的下层。当压力传感器1113设置在终端1100的侧边框时,可以检测用户对终端1100的握持信号,由处理器1101根据压力传感器1113采集的握持信号进行左右手识别或快捷操作。当压力传感器1113设置在显示屏1105的下层时,由处理器1101根据用户对显示屏1105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1114用于采集用户的指纹,由处理器1101根据指纹传感器1114采集到的指纹识别用户的身份,或者,由指纹传感器1114根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1101授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1114可以被设置在终端1100的正面、背面或侧面。当终端1100上设置有物理按键或厂商Logo时,指纹传感器1114可以与物理按键或厂商Logo集成在一起。
光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1115采集的环境光强度,控制显示屏1105的显示亮度。具体地,当环境光强度较高时,调高显示屏1105的显示亮度;当环境光强度较低时,调低显示屏1105的显示亮度。在另一个实施例中,处理器1101还可以根据光学传感器1115采集的环境光强度,动态调整摄像头组件1106的拍摄参数。
接近传感器1116,也称距离传感器,通常设置在终端1100的前面板。接近传感器1116用于采集用户与终端1100的正面之间的距离。在一个实施例中,当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变小时,由处理器1101控制显示屏1105从亮屏状态切换为息屏状态;当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变大时,由处理器1101控制显示屏1105从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图11中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图12是本申请实施例提供的一种服务器的结构示意图,该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)1201和一个或多个的存储器1202,其中,该一个或多个存储器1202中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器1201加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器1200还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1200还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条程序代码的存储器,上述至少一条程序代码可由处理器执行以完成上述实施例中的虚拟场景的显示方法。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来至少一条程序代码相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。