一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于虚拟环境的画面控制方法、装置、存储介质及设备与流程

2021-09-17 23:05:00 来源:中国专利 TAG:互联网 装置 画面 特别 虚拟


1.本技术涉及互联网技术领域,特别涉及一种基于虚拟环境的画面控制方法、装置、存储介质及设备。


背景技术:

2.随着互联网技术的快速发展和移动设备功能的多样化,支持在移动设备上运行的游戏越来越多,比如横版格斗游戏便是其中一种。另外,随着游戏在移动设备上的迅速普及,在游戏中通过进行场景破坏来释放压力,也逐渐成为了时下越来越多用户的选择。
3.其中,场景破坏是指用户通过对游戏场景进行物理破坏,从而在游戏中营造出一种环境物理破坏效果。
4.相关技术中,游戏运行时的场景破坏表现是基于实时物理仿真计算实现的,而实时的物理仿真计算对资源消耗较大,进而导致对移动设备的硬件要求非常高。基于此,亟需一种新的基于虚拟环境的画面控制方法,以解决上述问题。


技术实现要素:

5.本技术实施例提供了一种基于虚拟环境的画面控制方法、装置、存储介质及设备,实现了以静态模型切换来替代运行阶段的实时物理仿真计算,因此可以大幅减少运行时的性能消耗,该种方案能够适配于性能受限的移动平台。所述技术方案如下:
6.一方面,提供了一种基于虚拟环境的画面控制方法,所述方法包括:
7.在目标应用程序的编辑阶段,将第一静态模型导入目标引擎,形成第一静态网格体;所述第一静态模型为场景破坏前对应的原始物体模型;
8.将第二静态模型导入所述目标引擎,形成第二静态网格体;所述第二静态模型为场景破坏后对应的具有场景破坏效果的物体模型,所述第二静态模型是通过对所述第一静态模型进行几何剖分得到的;
9.在所述目标应用程序的运行阶段,响应于满足场景破坏触发条件,控制所述目标应用程序由显示第一虚拟环境画面切换为显示第二虚拟环境画面,所述第一虚拟环境画面中包括所述第一静态网格体,所述第二虚拟环境画面中包括所述第二静态网格体。
10.另一方面,提供了一种基于虚拟环境的画面控制装置,所述装置包括:
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.图1是本技术实施例提供的一种基于虚拟环境的画面控制方法涉及的实施环境的示意图;
38.图2是本技术实施例提供的一种游戏编辑和运行阶段的架构图;
39.图3是本技术实施例提供的一种业务流程与功能模块的示意图;
40.图4是本技术实施例提供的一种基于虚拟环境的画面控制方法的流程图;
41.图5是本技术实施例提供的一种静态模型资源准备阶段的示意图;
42.图6是本技术实施例提供的一种场景光照预烘焙流程的示意图;
43.图7是本技术实施例提供的一种动态过程编辑阶段的示意图;
44.图8是本技术实施例提供的一种基于虚拟环境的画面控制装置的结构示意图;
45.图9是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
46.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
47.可以理解,本技术所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。其中,至少一个是指一个或一个以上,例如,至少一个用户可以是一个用户、两个用户、三个用户等任意大于等于一的整数个用户。而多个是指两个或者两个以上,例如,多个用户可以是两个用户、三个用户等任意大于等于二的整数个用户。
48.下面对本技术实施例中可能涉及到的一些名词术语或缩略语进行介绍。
49.1、横版游戏
50.横版游戏一般是指靠技术性操作实现的水平画面游戏。换言之,横版是指将游戏画面固定在水平面上。其中,横版游戏多数为2d游戏,制作代价小,通常仅需要处理好渲染,所以整体代价会很小。示例性地,横版游戏包括但不限于横版过关、横版冒险、横版竞技、横版策略、横版格斗等游戏。示例性地,2d横版游戏代表包括:冒险岛、地下城与勇士、合金弹
头、彩虹岛等。3d横版游戏代表包括:艾尔之光、梦想岛、东游记、侠魂等。
51.2、格斗游戏
52.格斗游戏(fight technology game,ftg)是动作游戏的一种。其游戏画面通常是玩家分为两个或多个阵营相互作战,使用格斗技巧使击败对手来获取胜利。这类游戏具有明显的动作游戏特征,是动作游戏中的重要分支。
53.3、横版格斗游戏
54.其中,横版格斗游戏融合了是横版游戏和格斗游戏的结合。其中,代表性的横版格斗游戏为地下城与勇士。
55.4、风格化表现
56.风格化(stylized)意为“用一种有态度的、非写实的方式去描绘或处理”的一种表达方式。即,风格化表现是一种区别于真实感表现的渲染风格,主要用于模拟艺术化的绘制风格。
57.5、场景破坏
58.随着现代生活节奏越来越快,人们的压力也越来越大,通过在游戏中进行场景破坏来释放压力成为了很多人的选择。另外,人类天生就有一种破坏的欲望,在虚拟的游戏世界中发泄这种欲望成为一种可能。
59.简言之,游戏中的场景破坏是指对游戏场景进行物理破坏,从而在游戏中营造出一种环境物理破坏效果。
60.示例性地,游戏中的很多场景都是可破坏的,且破坏特效十分逼真,比如可以实时实现电影视效级的大范围物理破坏。其中,场景破坏包括但不限于建筑物破坏、地形破坏、植被破坏等。比如,玩家控制的虚拟角色在游戏中可以使用炮弹或手榴弹等将地面炸开一个坑用作战壕,或者,还可以通过虚拟枪械来摧毁房屋的门窗或墙壁等。
61.6、光照贴图(light map)
62.光照贴图技术是一种增强静态场景光照效果的技术,其能够通过较少的性能消耗使静态场景看上去更加真实和丰富。其中,仅在使用烘焙(bake)光来光照静态模型时,才需要光照贴图。
63.详细来说,针对游戏场景,场景中大部分物体通常都是静态(static)的,如果这些静态物体使用实时光照,那么会带来很大的性能开销。针对这种情况,通过使用光照贴图技术来事先烘焙光照信息,能够显著降低性能消耗。换言之,光照贴图技术针对的是游戏场景中的静态物体,其能够将静态物体的光照信息(比如包括直接光照和间接光照)预先烘焙到一张贴图上,以供运行时使用,从而避免动态计算。也即,光照信息由预先烘焙所得,存储于光照贴图上,在渲染时通过采样与解码该光照贴图来进行着色。即,可以将光照信息预烘焙至光照贴图中,来实现着色器的光照效果。
64.示例性地,光照贴图可以包含游戏场景内投射到静态物体表面的直接光源,以及在不同物体间反射的间接光源。另外,烘焙光照所产生出来的光照贴图,是无法在游戏运行时变更运算的,因此被定义为静态,通常我们采用这种方式来解决游戏运行中的性能消耗问题。
65.其中,烘焙的含义是,将物体光照的明暗信息保存到纹理上,实时绘制时不再进行光照计算,而是采用预先生成的光照贴图来表示明暗效果。
66.综上所述,在开发移动端游戏时,为了兼顾画面表现力和游戏运行效率,很多时候我们会选择使用光照贴图作为游戏场景的照明方案。
67.7、光照模型(illumination model)
68.当光照射到物体表面时,物体对光会发生反射、透射、吸收、衍射和折射等,其中被物体吸收的部分转化为热,反射光和透射光则会进入人的视觉系统使我们能看见物体。为模拟这一现象,通常会建立一些数学模型来替代复杂的物理模型,这些模型即称为光照模型。其中,光照模型目的在于计算光线进入某种材质(如粗糙表面或金属表面等)的物体后出射光线的数量和方向。
69.8、渲染
70.宏观来说,渲染包含两大部分:一个是决定一个像素的可见性,另一个是决定这个像素的光照计算。其中,光照模型用于决定在一个像素上进行怎样的光照计算。
71.9、移动端
72.一般是指手机端,包含但不仅限于此的所有手持便携式游戏设备。
73.10、玩家
74.在本技术实施例中玩家称之为用户。其中,玩家也可称为游戏者,是一种游戏业界与游戏参与者之间的术语。广义上讲,玩家泛指玩游戏的用户,即参与任何形式游戏的人。特殊地,在角色扮演类游戏中,玩家在游戏世界中扮演其中的可控游戏角色,通过操作这些可控游戏角色去完成游戏或是自己所设定的目标。此外,部分玩家在角色扮演类游戏中还可以作为游戏主角或是游戏剧情的关键。总结来讲,玩家是游戏的体验者、使用者、评价者和消费者。根据性格和喜好的差异,不同的玩家喜爱的游戏类型也各不相同。
75.11、虚拟环境
76.其是应用程序在终端上运行时显示(或提供)的虚拟环境。
77.该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。该虚拟环境可以是二维虚拟环境,本技术对此不做具体限定。
78.例如,该虚拟环境可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟环境中进行移动。
79.12、虚拟对象
80.虚拟对象是指在虚拟环境中的可活动对象。该可活动对象可以是虚拟人物、虚拟怪物等。该虚拟对象可以是该虚拟环境中的一个虚拟的用于代表玩家的虚拟形象。在虚拟环境中可以包括多个虚拟对象,每个虚拟对象在虚拟环境中具有自身的形状和体积,占据虚拟环境中的一部分空间。
81.下面介绍本技术实施例提供的一种基于虚拟环境的画面控制方法涉及的实施环境。
82.图1是本技术提供的一种基于虚拟环境的画面控制方法涉及的实施环境的示意图。参见图1,该实施环境包括:终端110、服务器120。
83.终端110安装和运行有支持虚拟环境的客户端111,该客户端111可以是横版格斗游戏程序。当终端运行客户端111时,终端110的屏幕上显示客户端111的用户界面。
84.终端110是用户112使用的终端,用户112使用终端110控制位于虚拟环境中的虚拟角色a进行活动,虚拟角色a可以称为用户112的主控虚拟角色。
85.终端110可以泛指多个终端中的一个,本技术实施例仅以终端110举例说明。终端110的设备类型可以包括:智能手机、平板电脑、电子书阅读器、mp3(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)播放器、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机、台式计算机、智能音箱、智能手表等,但并不局限于此。
86.图1中仅示出了一个终端,但在不同实施例中存在多个其它终端130可以接入服务器120。可选地,还存在一个或多个终端130是开发者对应的终端,在终端130上安装有支持虚拟环境的客户端的开发和编辑平台,开发者可在终端130上对客户端进行编辑和更新,并将更新后的客户端的安装包通过有线或无线网络传输至服务器120,终端110可从服务器120下载客户端安装包实现对客户端的更新。
87.另外,服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器120可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
88.其中,服务器120用于为支持虚拟环境的客户端提供后台服务。可选地,服务器120承担主要计算工作,终端承担次要计算工作;或者,服务器120承担次要计算工作,终端承担主要计算工作;或者,服务器120和终端之间采用分布式计算架构进行协同计算。
89.在一些实施例中,本技术实施例提供的方案可以应用于横版格斗游戏的场景破坏情形下,比如该方案可以应用于风格化的横版视角格斗游戏中。示例性地,上述场景破坏可以为游戏中的地形破坏。另外,在场景破坏的动态表现过程中,本技术实施例依赖于静态光照模型完成渲染,该方案也适用于对渲染管线和视觉表现有较高自定义需求的游戏场景中,以实现场景破坏功能。
90.图2是本技术实施例提供的一种游戏编辑和运行阶段的架构图。
91.参见图2,本技术实施例避免了运行阶段的实时物理仿真计算,并且在编辑阶段引入了场景破坏管理模块201、场景破坏触发模块202(简称触发模块)和附加特效模块203。在本技术实施例中,上述编辑阶段和运行阶段均是针对目标应用程序来讲的。其中,目标应用程序为游戏程序。
92.场景破坏管理模块201
93.在本技术实施例中,针对场景破坏前和场景破坏后的视觉表现,分别准备两组对应的静态模型资源。其中,针对场景破坏前制作一组对应的静态模型资源,针对场景破坏后制作一组对应的静态模型资源。
94.场景破坏前对应的一组静态模型资源即为图2所示的原始模型,场景破坏后对应的一组静态模型资源即为图2所示的破坏模型。另外,原始模型在本文中也被称为第一静态模型,破坏模型在本文中也被称为第二静态模型。
95.另外,上述破坏模型是通过对上述原始模型进行几何剖分得到的。在一些实施例中,上述原始模型和破坏模型为在第三方建模软件(比如3dsmax、maya、softimage等)中创建的三维模型,本技术实施例对此不进行具体限定。
96.在本技术实施例中,场景破坏前后的模型切换由场景破坏管理模块201管理。由于
以静态模型切换来替代运行阶段的实时物理仿真计算,因此可以大幅减少运行时的性能消耗,该种方案能够适配于性能受限的移动平台。
97.场景破坏触发模块202
98.在编辑阶段,美术制作人员可以基于时间线设置场景破坏的触发作用范围和触发条件,以及触发后场景破坏管理模块201产生的空间位置运动信息。其中,该空间位置运动信息包括但不限于位置、旋转角度和缩放比例等。
99.另外,上述由美术制作人员预先编辑的信息可以序列化为游戏资产。其中,序列化广义上是指将对象的状态信息转换为可以存储或传输的形式的过程。对应于本技术实施例,序列化即为将上述编辑的信息转换为可以由内存保存至硬盘的数据形式的过程。
100.另外,在运行阶段,还可以根据游戏逻辑需要将上述游戏资产实例化。在本技术实施例中,实例化是与序列化相反的过程,是将游戏资产实例化为游戏场景中的游戏对象。
101.在本技术实施例中,场景破坏动态过程的视觉表现能够完整保留美术制作人员的预先设定。也即,场景破坏的运行时表现能够由美术制作人员完全控制。
102.附加特效模块203
103.在本技术实施例中,附加特效模块203包含场景破坏的动态过程中额外触发的骨骼动画和粒子系统。在一些实施例中,上述附加特效也被记录在上述游戏资源中。示例性地,假设场景破坏的类型为地形破坏,相应地,场景破坏管理模块201还包括指定的地表类型信息,在破坏过程触发后,附加特效模块203还可以利用场景破坏触发点的地表类型信息,来呈现对应的渲染效果。
104.示例性地,以上述目标应用程序为横版格斗游戏,场景破坏为地形破坏为例,则横版格斗游戏作为一种强调即时反馈的游戏类型,实时的地形破坏通过表现玩家释放的技能与场景环境的交互,能够有效增强玩家对游戏的沉浸感。
105.在一些实施例中,本技术实施例提供的方案以图2中所示的场景破坏管理模块201、场景破坏触发模块202和附加特效模块203为基础,通过提供美术制作人员完全可控的场景破坏触发方式与编辑流程,以及为适应基于静态光照模型的风格化表现而自定制的渲染管线和场景光照预烘焙流程。
106.进一步地,参见图3,本技术实施例提供的方案的业务流程分为图3所示的几个阶段,分别为静态模型准备阶段、场景光照预烘焙阶段、动态过程编辑阶段和运行阶段,以对图2中所示的场景破坏管理模块201、场景破坏触发模块202和附加特效模块203分别予以支持。
107.图4是本技术实施例提供的一种基于虚拟环境的画面控制方法的流程图。该方法的执行主体为计算机设备。示例性地,该计算机设备包括图1中的终端110和终端130。参见图4,本技术实施例提供的方法流程包括:
108.静态模型资源准备
109.401、在目标应用程序的编辑阶段,将第一静态模型导入目标引擎,形成第一静态网格体;以及,将第二静态模型导入目标引擎,形成第二静态网格体。
110.在本技术实施例中,目标应用程序指代游戏应用,相应地,目标引擎指代游戏引擎。针对场景破坏前后的视觉表现,在游戏编辑阶段,会分别制作两组对应的静态模型资源。其中,第一静态模型和第二静态模型分别对应场景破坏前后两种状态。如图2所示,第一
静态模型指代图2中的原始模型,第二静态模型指代图2中的破坏模型。换言之,第一静态模型为场景破坏前对应的原始物体模型,第二静态模型为场景破坏后对应的具有场景破坏效果的物体模型。
111.在一些实施例中,第二静态模型是通过对第一静态模型进行几何剖分得到的。其中,几何剖分是指将物体模型剖开成一块块的碎片,且剖分前后面积(或体积)不变。
112.如图5所示,第一静态模型和第二静态模型均会导入游戏引擎。两组静态模型在导入游戏引擎后,分别形成第一静态网格体和第二静态网格体。另外,两组静态网格体会作为组件交予图2中的场景破坏管理模块201进行管理,用于场景破坏时切换显示。其中,如图5所示,第一静态模型对应场景破坏管理模块201中的网格体组件1,第二静态模型对应场景破坏管理模块201中的网格体组件2。
113.其中,静态网格体是由一系列多边形构成的几何体的组成部分,可以使用显卡进行渲染。另外,静态网格体是用于创建游戏场景几何体的基础单元。示例性地,静态网格体是在第三方建模软件中创建的三维模型。示例性地,游戏中使用的部分地图都包含静态网格体。另外,静态网格体的其他用途还包括创建门或电梯等可移动物体、刚体物理对象、植被和地形装饰、建筑物等诸多视觉元素。
114.由于本技术实施例以静态模型切换来替代运行阶段的实时物理仿真计算,因此可以大幅减少运行时的性能消耗,该种方案能够适配于性能受限的移动平台。
115.402、在目标应用程序的运行阶段,响应于满足场景破坏触发条件,控制目标应用程序由显示第一虚拟环境画面切换为显示第二虚拟环境画面,第一虚拟环境画面中包括第一静态网格体,第二虚拟环境画面中包括第二静态网格体。
116.在另一些实施例中,场景破坏前对应的第一静态网格体还需要添加几何碰撞体,以用于游戏运行时的碰撞检测,进而触发场景破坏效果。即,本技术实施例提供的方案还包括:在目标应用程序的编辑阶段,为第一静态网格体添加几何碰撞体,其中,几何碰撞体用于在运行阶段进行碰撞检测;其中,碰撞体是物理组件的一类,需要添加到游戏对象(比如本文中的静态模型)上才能触发碰撞。
117.示例性地,场景破坏触发条件包括但不限于:第一静态网格体与虚拟环境中的虚拟武器或虚拟弹药发生碰撞。
118.其中,虚拟武器包括但不限于虚拟枪械和虚拟冷兵器;虚拟弹药是含有火药、炸药或其他装填物,爆炸后能对目标起毁伤作用或完成其他战术任务的虚拟军械物品。虚拟弹药包括但不限于:枪弹、炮弹、手榴弹、枪榴弹、航空炸弹、火箭弹、导弹、鱼雷、深水炸弹、水雷、地雷、爆破筒、爆破药包、爆破器等,本技术实施例对此不进行具体限定。
119.场景光照预烘焙
120.在另一些实施例中,本技术实施例支持依赖于静态光照模型的风格化渲染表现。如图6所示,由于本技术实施例依赖于静态光照模型完成渲染,因此还包括场景光照预烘焙流程。
121.示例性地,在本技术实施例中,静态模型表现采用自定义渲染管线。换一种表达方式,游戏应用呈现的虚拟环境画面是通过自定义渲染管线进行风格化渲染得到的;其中,风格化渲染依赖于静态光照模型;而静态光照模型对应于静态光照和虚拟环境中的静态模型。
122.其中,渲染管线是实时渲染的核心组件。渲染管线的功能是通过给定虚拟相机、场景物体模型以及光源等场景要素,来产生或者渲染二维图像。比如,将游戏场景中的三维物体模型通过渲染管线转变为显示屏幕上的二维图像。渲染管线是实时渲染的重要工具,实时渲染离不开渲染管线。渲染管线主要包括两个功能:一是将物体模型的3d坐标转变为屏幕空间的2d坐标;二是为显示屏幕的每个像素点进行着色。渲染管线的一般流程包括:顶点数据的输入、顶点着色器、曲面细分过程、几何着色器、图元组装、裁剪剔除、光栅化、片段着色器以及混合测试等。
123.示例性地,自定义渲染管线由游戏开发人员基于游戏引擎进行创建,本技术实施例对此不进行具体限定。
124.另外,由于游戏中的风格化渲染管线使用静态光照模型,为了保证场景破坏前后的光照表现正确,还需保证两组静态网格体的光照贴图的uv空间排布相同,即,第一静态网格体和第二静态网格体对应同一套光照贴图。在渲染时对同一套光照贴图进行采样和解码,进而实现着色。
125.另外,如图6所示,在光照信息烘焙过程中,本技术实施例仅对场景破坏前对应的第一静态网格体进行光照预烘焙,预烘焙完成后将游戏引擎所生成的光照贴图作为资产导出,并关联至两组静态网格体各自引用的材质实例。
126.即,本技术实施例提供的方案还包括:通过目标引擎对第一静态网格体(对应图6中的网格体组件1)进行光照预烘焙处理,生成光照贴图;将该光照贴图关联至第一静态网格体引用的第一材质实例(对应图6中的材质实例1);以及将该光照贴图关联至第二静态网格体(对应图6中的网格体组件2)引用的第二材质实例(对应图6中的材质实例2)。
127.示例性地,上述关联方式为显式关联。其中,材质实例是材质的实例。它继承于材质,拥有材质的着色器逻辑,且当材质的逻辑更新以后,所有相关的材质实例也会随之更新。
128.动态过程编辑
129.在另一些实施例中,场景破坏的动态过程完全可控,由美术制作人员按需求编辑,游戏运行时完整还原美术制作人员的预先设定。
130.示例性地,如图7所示,场景破坏流程涉及的下述信息可以采用多轨时间线方式同时编辑。比如触发范围、模型切换动态以及附加特效动态可以通过多条时间线同时编辑。其中,在动态过程编辑阶段,美术制作人员能够预先编辑的信息包括但不限于如下几种:
131.(1)、场景破坏效果的触发作用范围和场景破坏效果的触发条件;
132.如图7所示,该类编辑的信息受场景破坏触发模块中的触发组件管理。
133.(2)、触发场景破坏效果后的空间位置运动信息,该空间位置运动信息包括第二静态网格体的位置、旋转角度和缩放比例;
134.如图7所示,该类编辑的信息受场景破坏管理模块中的网格体组件管理。
135.(3)、附加特效模块的特效表现类型。其中,特效表现类型包括骨骼动画和粒子特效。
136.如图7所示,该类编辑的信息受附加特效模块中的骨骼动画组件和粒子系统组件管理。其中,骨骼动画相较于逐帧动画有很多优势。比如,图片绑定在骨骼上来实现动画,可以更方便地更换游戏角色的装备。且,骨骼动画间可以进行混合,例如一个游戏角色既可以
开枪射击还可以走、跑、跳或游泳。美术制作人员在制作好骨骼动画后,游戏开发人员可以使用游戏引擎来运行骨骼动画。而粒子系统为实现真实自然的随机特效(比如爆炸,烟花、水流)提供方便,可以使用粒子编辑器来创建粒子系统。
137.需要说明的是,以上由美术制作人员预先编辑的信息,以各模块中的对应组件形式进行序列化,并整合为游戏资产,便于在游戏运行时根据游戏逻辑需要进行实例化。即,在游戏运行阶段,本技术实施例提供的方案还包括:获取序列化数据,其中,序列化数据是通过对上述预先编辑的信息进行序列化处理得到的;根据场景破坏触发条件,将序列化数据进行实例化。
138.在另一个实施例中,本技术实施例提供的方案还包括:在游戏运行阶段,响应于满足场景破坏触发条件,显示骨骼动画;或,在游戏运行阶段,响应于满足场景破坏触发条件,显示粒子特效;其中,粒子特效包括但不限于爆炸特效、火焰特效和闪光特效。
139.示例性地,假设场景破坏的类型为地形破坏,则显示粒子特效,包括:显示与地形破坏触发位置的地表类型信息相匹配的粒子特效。例如,若与地形破坏触发位置相匹配的地表类型信息为草地,则粒子特效可以为火焰特效。比如,可以呈现草地被烧的视觉特效。
140.本技术实施例提供的方法具有如下有益效果:
141.在编辑阶段,本技术实施例创建了两组静态模型资源,一组静态模型资源对应于场景破坏前,另一组静态模型资源对应于场景破坏后,且两组静态模型资源均导入引擎形成静态网格体;基于此,在运行阶段,本技术实施例实现了以静态模型切换替代实时物理仿真计算,因此可以大幅减少运行时的性能消耗,对移动设备的硬件要求较低,所以该种方案能够适配于性能受限的移动平台。
142.另外,场景破坏的动态过程完全可控,由美术制作人员按需求编辑,游戏运行时完整还原美术制作人员的预先设定。
143.另外,本技术实施例还支持依赖于静态光照模型的风格化渲染表现。
144.图8是本技术实施例提供的一种基于虚拟环境的画面控制装置的结构示意图。参见图8,该装置包括:
145.编辑单元801,被配置为在目标应用程序的编辑阶段,将第一静态模型导入目标引擎,形成第一静态网格体;所述第一静态模型为场景破坏前对应的原始物体模型;
146.编辑单元801,还被配置为将第二静态模型导入所述目标引擎,形成第二静态网格体;所述第二静态模型为场景破坏后对应的具有场景破坏效果的物体模型,所述第二静态模型是通过对所述第一静态模型进行几何剖分得到的;
147.运行单元802,被配置为在所述目标应用程序的运行阶段,响应于满足场景破坏触发条件,控制所述目标应用程序由显示第一虚拟环境画面切换为显示第二虚拟环境画面,所述第一虚拟环境画面中包括所述第一静态网格体,所述第二虚拟环境画面中包括所述第二静态网格体。
148.本技术实施例提供的装置,在编辑阶段,创建了两组静态模型资源,一组静态模型资源对应于场景破坏前,另一组静态模型资源对应于场景破坏后,且两组静态模型资源均导入引擎形成静态网格体;基于此,在运行阶段,本技术实施例实现了以静态模型切换替代实时物理仿真计算,因此可以大幅减少运行时的性能消耗,对移动设备的硬件要求较低,所以该种方案能够适配于性能受限的移动平台。
149.在一种可能的实现方式中,编辑单元801,还被配置为在所述编辑阶段,为所述第一静态网格体添加几何碰撞体,所述几何碰撞体用于在所述运行阶段进行碰撞检测;
150.其中,所述场景破坏触发条件包括:所述第一静态网格体与所述虚拟环境中的虚拟武器或虚拟弹药发生碰撞。
151.在一种可能的实现方式中,运行单元802,还被配置为在所述运行阶段,响应于满足所述场景破坏触发条件,显示骨骼动画;或,在所述运行阶段,响应于满足所述场景破坏触发条件,显示粒子特效;
152.其中,所述粒子特效包括爆炸特效、火焰特效和闪光特效。
153.在一种可能的实现方式中,所述场景破坏的类型为地形破坏,运行单元802,还被配置为显示与地形破坏触发位置的地表类型信息相匹配的粒子特效。
154.在一种可能的实现方式中,在所述编辑阶段,与所述场景破坏效果相关的编辑数据,包括:
155.所述场景破坏效果的触发作用范围和所述场景破坏效果的触发条件;
156.触发所述场景破坏效果后的空间位置运动信息,所述空间位置运动信息包括所述第二静态网格体的位置、旋转角度和缩放比例;
157.特效表现类型,所述特效表现类型包括骨骼动画和粒子特效。
158.在一种可能的实现方式中,在所述运行阶段,运行单元802,还被配置为获取序列化数据,所述序列化数据是通过对所述编辑数据进行序列化处理得到的;根据所述场景破坏触发条件,将所述序列化数据进行实例化。
159.在一种可能的实现方式中,所述第一虚拟环境画面和所述第二虚拟环境画面是通过自定义渲染管线进行风格化渲染得到的;
160.其中,所述风格化渲染依赖于静态光照模型;所述静态光照模型对应于静态光照和所述虚拟环境中的静态模型。
161.在一种可能的实现方式中,所述第一静态网格体和所述第二静态网格体对应同一套光照贴图。
162.在一种可能的实现方式中,编辑单元801,还被配置为:
163.通过所述目标引擎对所述第一静态网格体进行光照预烘焙处理,生成所述光照贴图;
164.将所述光照贴图关联至所述第一静态网格体引用的第一材质实例;
165.将所述光照贴图关联至所述第二静态网格体引用的第二材质实例。
166.上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
167.需要说明的是:上述实施例提供的基于虚拟环境的画面控制装置在进行画面控制时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于虚拟环境的画面控制装置与基于虚拟环境的画面控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
168.图9示出了本技术一个示例性实施例提供的计算机设备900的结构框图。该计算机
设备900可以是便携式移动终端,比如:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。计算机设备900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
169.通常,计算机设备900包括有:处理器901和存储器902。
170.处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
171.存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器901所执行以实现本技术中方法实施例提供的基于虚拟环境的画面控制方法。
172.在一些实施例中,计算机设备900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
173.外围设备接口903可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
174.射频电路904用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括nfc(near field communication,近距离无线通信)有关的电路,本
申请对此不加以限定。
175.显示屏905用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置在计算机设备900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在计算机设备900的不同表面或呈折叠设计;在另一些实施例中,显示屏905可以是柔性显示屏,设置在计算机设备900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
176.摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
177.音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
178.定位组件908用于定位计算机设备900的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件908可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
179.电源909用于为计算机设备900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
180.在一些实施例中,计算机设备900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
181.加速度传感器911可以检测以计算机设备900建立的坐标系的三个坐标轴上的加
速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
182.陀螺仪传感器912可以检测计算机设备900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对计算机设备900的3d动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
183.压力传感器913可以设置在计算机设备900的侧边框和/或显示屏905的下层。当压力传感器913设置在计算机设备900的侧边框时,可以检测用户对计算机设备900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在显示屏905的下层时,由处理器901根据用户对显示屏905的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
184.指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置在计算机设备900的正面、背面或侧面。当计算机设备900上设置有物理按键或厂商logo时,指纹传感器914可以与物理按键或厂商logo集成在一起。
185.光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制显示屏905的显示亮度。具体地,当环境光强度较高时,调高显示屏905的显示亮度;当环境光强度较低时,调低显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
186.接近传感器916,也称距离传感器,通常设置在计算机设备900的前面板。接近传感器916用于采集用户与计算机设备900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与计算机设备900的正面之间的距离逐渐变小时,由处理器901控制显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与计算机设备900的正面之间的距离逐渐变大时,由处理器901控制显示屏905从息屏状态切换为亮屏状态。
187.本领域技术人员可以理解,图9中示出的结构并不构成对计算机设备900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
188.在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由计算机设备中的处理器执行以完成上述实施例中的基于虚拟环境的画面控制方法。例如,所述计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、光盘只读存储器(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
189.在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质
中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述基于虚拟环境的画面控制方法。
190.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
191.以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜