虚拟环境中的天气渲染方法、装置、设备及存储介质与流程

文档序号:23728630发布日期:2021-01-26 18:43阅读:69来源:国知局
虚拟环境中的天气渲染方法、装置、设备及存储介质与流程

[0001]
本申请涉及图像处理技术领域,特别涉及一种虚拟环境中的天气渲染方法、装置、设备及存储介质。


背景技术:

[0002]
在三维虚拟环境的应用程序中,如大型多人在线角色扮演游戏,在游戏应用程序中呈现出模拟现实世界中的天气,使得用户在控制虚拟角色进行游戏时,具有更真实的体验。
[0003]
以天气场景为下雨场景来举例说明,在渲染下雨场景时,需要将雨滴贴图添加在虚拟角色的视野前方。各张雨滴贴图上的雨滴尺寸不同,通过将多张雨滴贴图按照一定顺序添加在虚拟角色的视野前方来模拟真实世界中的下雨场景。
[0004]
在上述技术方案中,当终端在渲染虚拟环境中的下雨场景时,终端需要频繁获取雨滴贴图来渲染虚拟环境中的下雨场景,易于造成游戏应用程序的运行卡顿。


技术实现要素:

[0005]
本申请实施例提供了一种虚拟环境中的天气渲染方法、装置、设备及存储介质,通过减少天气贴图的数量来减少贴图采样的次数,提高终端在运行支持虚拟环境的应用程序时的性能。所述技术方案如下:
[0006]
根据本申请的一个方面,提供了一种虚拟环境中的天气渲染方法,所述方法包括:
[0007]
获取天气配置信息,所述天气配置信息用于切换所述虚拟环境的天气场景;
[0008]
根据所述天气配置信息获取所述天气场景对应的天气贴图,所述天气贴图不包括所述虚拟环境中的虚拟元素在非关键维度上的贴图,所述天气贴图是用于表现所述天气场景的图像;所述非关键维度上的贴图是在缺失时不影响所述虚拟环境进行渲染的图像;
[0009]
根据所述天气贴图渲染所述虚拟环境中的天气场景。
[0010]
根据本申请的另一方面,提供了一种虚拟环境中的天气渲染装置,所述装置包括:
[0011]
获取模块,用于获取天气配置信息,所述天气配置信息用于切换所述虚拟环境的天气场景;
[0012]
所述获取模块,用于根据所述天气配置信息获取天气场景对应的天气贴图,所述天气贴图不包括所述虚拟环境中的虚拟元素在非关键维度上的贴图在非关键维度上的贴图,所述天气贴图是用于表现所述天气场景的图像;所述非关键维度上的贴图是在缺失时不影响所述虚拟环境进行渲染的贴图;
[0013]
渲染模块,用于根据所述天气贴图渲染所述虚拟环境中的天气场景。
[0014]
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的虚拟环境中的天气渲染方法。
[0015]
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如上方面所述的虚拟环境中的天气渲染方法。
[0016]
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如上方面所述的虚拟环境中的天气渲染方法。
[0017]
本申请实施例提供的技术方案带来的有益效果至少包括:
[0018]
通过天气配置信息获取不包括非关键环境画面对应的贴图,使得用户使用的终端在加载虚拟环境画面时,在保证天气场景的正常显示下,通过减少天气贴图的数量来减少贴图采样的次数,从而避免终端在运行支持虚拟环境的应用程序时,性能大幅度降低。
附图说明
[0019]
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]
图1是本申请一个示例性实施例提供的终端的框图;
[0021]
图2是本申请一个示例性实施例提供的虚拟环境中的天气渲染方法的流程图;
[0022]
图3是本申请一个示例性实施例提供的天气系统的框架图;
[0023]
图4是本申请一个示例性实施例提供的天空对应的散射贴图的示意图;
[0024]
图5是本申请另一个示例性实施例提供的虚拟环境中的天气渲染方法的流程图;
[0025]
图6是本申请一个示例性实施例提供的天气配置参数的设置界面示意图;
[0026]
图7是本申请另一个示例性实施例提供的天气配置参数的设置界面示意图;
[0027]
图8是本申请一个示例性实施例提供的贴图层划分的示意图;
[0028]
图9是本申请一个示例性实施例提供的下雨场景的模拟效果示意图;
[0029]
图10是本申请一个示例性实施例提供的粒子发射器的工作示意图;
[0030]
图11是本申请一个示例性实施例提供的粒子分布盒的示意图;
[0031]
图12是本申请一个示例性实施例提供的虚拟环境画面对应的下雨场景的画面图;
[0032]
图13是本申请一个示例性实施例提供的虚拟环境中的水花生成的画面示意图;
[0033]
图14是本申请另一个示例性实施例提供的虚拟环境画面对应的下雨场景的画面图;
[0034]
图15是本申请另一个示例性实施例提供的虚拟环境画面对应的下雨场景的画面图;
[0035]
图16是本申请另一个示例性实施例提供的虚拟环境中的天气渲染方法的流程图;
[0036]
图17是本申请另一个示例性实施例提供的天空对应的散射贴图的示意图;
[0037]
图18是本申请一个示例性实施例提供的天空渲染的效果示意图;
[0038]
图19是本申请另一个示例性实施例提供的虚拟环境中的天气渲染方法的流程图;
[0039]
图20是本申请一个示例性实施例提供的纹理云贴图的渲染示意图;
[0040]
图21是本申请另一个示例性实施例提供的纹理云贴图的渲染示意图;
[0041]
图22是本申请一个示例性实施例提供的云彩渲染的效果示意图;
[0042]
图23是本申请另一个示例性实施例提供的虚拟环境中的天气渲染方法的流程图;
[0043]
图24是本申请一个示例性实施例提供的天气场景过渡的流程框架图;
[0044]
图25是本申请一个示例性实施例提供的虚拟环境中的天气渲染装置的框图;
[0045]
图26是本申请一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
[0046]
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0047]
首先,对本申请实施例中涉及的名词进行介绍:
[0048]
虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,还可以是纯虚构的环境。虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种,本申请对此不加以限定。下述实施例以虚拟环境是三维虚拟环境来举例说明。
[0049]
虚拟角色:是指虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在三维虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。可选地,虚拟角色是基于动画骨骼技术创建的三维立体模型。每个虚拟角色在三维虚拟场景中具有自身的形状和体积,占据三维虚拟场景中的一部分空间。虚拟角色泛指虚拟场景中的一个或多个虚拟角色。以游戏应用程序为例,虚拟角色是用户参与游戏时控制的可活动对象。
[0050]
大型多人在线角色扮演游戏(mmoprg,massively multiplayer online role-playing game):是指一种支持多人在线的网络游戏,不同客户端可在同一场景中进行游戏,不同客户端可协同完成一项任务,客户端之间可在线交流,客户端还可与游戏中的非玩家角色(npc,non-player character)进行互动。通常情况下,用户通过在客户端登录用户帐号控制虚拟角色,虚拟角色与用户帐号(id,identity)一一对应。用户控制的虚拟角色在虚拟环境中扮演不同的角色,比如,将军角色、法师角色、书生角色、舞女角色等。大型多人在线游戏包括战略类、动作类、冒险类、模拟类、运动类、赛车类、角色扮演类等类型。下述实施例以在客户端是游戏客户端为例说明。
[0051]
本申请中提供的方法可以应用于三维地图程序、军事仿真程序、第一人称射击游戏(first-person shooting game,fps)、多人在线战术竞技游戏(multiplayer online battle arena games,moba)、mmoprg游戏、虚拟现实应用程序(virtual reality,vr)、增强现实应用程序(augmented reality,ar)等,下述实施例是以游戏应用程序来举例说明。
[0052]
基于虚拟场景的游戏由一个或多个游戏世界的地图构成,游戏中的虚拟环境模拟真实世界的环境,用户可以操控游戏中的虚拟角色在虚拟环境中进行行走、跑步、跳跃、射击、格斗、驾驶、受到其他虚拟角色的攻击(其他虚拟角色是其他用户控制的虚拟角色)、受到虚拟环境中的伤害、攻击其他虚拟角色等动作,交互性较强,并且多个用户可以在线组队进行竞技游戏。
[0053]
示意性的,虚拟环境对应有变换的天气,比如,晴天、雨天、雪天、沙尘暴、雷阵雨、
暴雨、暴雪等,与现实世界一样,虚拟环境被划分为各个时间段,每个时间段对应不一样的光影效果,比如,上午6点至7点是日出的时间,虚拟环境对应日出的光线,下午4点至5点是落日的时间,虚拟环境对应黄昏的光线。
[0054]
本申请实施例提供了一种虚拟环境中的天气渲染方法,通过天气配置信息获取用于表示天气效果的天气贴图,该天气贴图是不包括虚拟环境画面在非关键维度上的贴图,在终端运行游戏应用程序时,贴图采样的次数减少,避免了终端的性能降低。
[0055]
图1示出了本申请一个示例性实施例提供的终端的框图,本申请实施例提供的虚拟环境中的天气渲染方法应用于终端100中,该终端100安装有支持虚拟场景运行的应用程序对应的客户端,该应用程序包括三维地图程序、军事仿真程序、fps游戏、moba游戏、mmoprg游戏、vr应用程序、ar应用程序。下述实施例以应用程序为游戏应用程序来举例说明。
[0056]
在一些实施例中,终端包括智能手机、平板电脑、mp3播放器、mp4播放器、膝上便携式计算机、台式计算机、笔记本电脑中的至少一种,以下实施例以终端包括智能手机为例进行说明。
[0057]
以客户端为游戏应用程序的客户端(简称游戏客户端)来举例说明,客户端对应有天气系统110包括天空光影子系统111、雨滴子系统112、云彩子系统113和过渡子系统114。
[0058]
天空光影子系统111用于模拟虚拟环境中的各种光照场景,如虚拟环境中太阳初升时的光照场景,黄昏时的光照场景,夜晚时月亮的光照场景。天空光影子系统111根据天气配置信息计算出虚拟环境的天空对应的散射贴图,将该散射贴图进行离线存储,在游戏客户端运行时,直接通过获取散射贴图加载虚拟环境中的光照场景。该散射贴图不包括虚拟元素在空间维度上的第一散射贴图。贴图采样是指游戏客户端在运行过程中,终端的图形处理器(graphics processing unit,gpu)访问(获取)贴图来加载天气场景的过程。
[0059]
雨滴子系统112用于模拟虚拟环境中的各种下雨场景,如小雨场景、大雨场景、暴雨场景、雷阵雨场景中的至少一种。雨滴子系统112根据天气配置信息计算出雨滴贴图,在虚拟环境处于下雨场景时,通过构建如图9所示的双锥形模型模拟下雨场景,该双锥形模型将与虚拟角色绑定的摄像机模型包围,将雨滴贴图贴附在该双锥形模型的表面,当双锥形模型的角度不断变化时,雨滴贴图与摄像机模型之间的角度也在不断变化,因此摄像机模型拍摄到的含有雨滴的画面也在不断变化。雨滴子系统112对虚拟角色的视角范围沿视线方向进行划分,得到预设层数的贴图层,根据贴图层的位置添加预设层数的雨滴贴图,即在双锥形模型的表面贴附预设层数的雨滴贴图,该雨滴贴图中的b通道存储有雨滴深度信息,b通道为红(red,r)绿(green,g)蓝(blue,b)色彩模式下的b通道。该雨滴深度信息表征虚拟角色(或虚拟角色绑定的摄像机模型)与雨滴贴图之间的距离,具有不同雨滴深度信息的雨滴贴图根据视差运动(parallax)原理模拟下雨场景,即靠近虚拟角色的雨滴的雨滴尺寸较大,远离虚拟角色的雨滴的雨滴尺寸较小。
[0060]
雨滴子系统112还用于更新水花的位置,水花用于表征雨滴溅落在虚拟环境的地面上时产生的水花,通过将水花的位置与虚拟角色对应的摄像机模型关联,当摄像机模型移动时,水花会跟随摄像机模型移动。通过偏移水花在虚拟环境中的位置来模拟下雨时地面上源源不断的水花,无需终端重复生成水花,提高终端在运行游戏客户端时的性能。
[0061]
雨滴子系统112还用于针对虚拟角色生成粒子分布盒,该粒子分布盒将虚拟角色
包围,该粒子分布盒子被划分为m
×
n个子分布盒,m和n均为正整数,m和n可以相等或不等,每个子分布盒对应有粒子发射器。当虚拟角色移动至粒子分布盒对应的包围范围的边缘位置时,距离虚拟角色最远的一层子分布盒会沿着虚拟角色移动的方向移动至最近一层的子分布盒的前方,且与最近一层的子分布盒相邻,最近一层子分布盒位于虚拟角色的视野前方,且与虚拟角色之间的距离最短。由于子分布盒的移动,使得虚拟角色始终位于粒子分布盒中,即虚拟角色始终被雨滴笼罩。示意性的,该粒子分布盒还用于模拟下雪场景、下冰雹场景、沙尘暴场景等需要以粒子表现的天气场景。
[0062]
云彩子系统113用于对二维云彩图像进行预处理,二维云彩图像是具有云彩轮廓,且无光照条件下的灰度图像,预处理是指通过光线步进算法(raymarching)对二维云彩图形进行处理,即将二维云彩图像中的像素点按照预设步长向某一方向移动后得到的图像,将经过预处理后的至少两张纹理云贴图按照理纹云贴图的通道对应的权重进行混合,从而得到用于加载虚拟场景的云彩贴图,无需终端重复进行贴图采样来加载虚拟环境画面。
[0063]
过渡子系统114用于计算虚拟环境的天气场景切换时的画面渲染参数,根据画面渲染参数渲染两种天气场景切换时的过渡画面。
[0064]
图2示出了本申请一个示例性实施例提供的虚拟环境中的天气渲染方法的流程图,该方法可应用于如图1所示的终端100中,该终端100安装有支持虚拟环境运行的应用程序对应的客户端,该客户端基于天气系统110运行。该方法包括如下步骤:
[0065]
步骤201,获取天气配置信息,天气配置信息用于切换虚拟环境中的天气场景。
[0066]
示意性的,用户使用的终端上安装和运行有支持虚拟场景运行的应用程序,当终端运行该应用程序时,终端的显示屏上对应显示在使用该应用程序时的画面。该应用程序是基于天气系统运行的,在终端的显示屏上对应显示天气场景。
[0067]
以游戏应用程序为例,在运行游戏应用程序时,终端的显示屏显示有游戏中的虚拟环境画面。示意性的,该虚拟场景画面是以虚拟角色的第一人称视角对虚拟场景进行观察得到的画面,或,该虚拟场景画面是以虚拟角色的第三人称视角对虚拟场景进行观察得到的画面。
[0068]
示意性的,游戏应用程序对应有服务器,服务器将天气配置信息发送至运行有应用程序的终端中,游戏应用程序根据天气配置信息对虚拟环境对应的天气场景进行画面渲染,如,天气配置信息为当前虚拟环境所在的时刻,服务器向终端发送虚拟环境当前所在的时刻,如上午十点,游戏应用程序根据上午十点对应的天气场景加载虚拟环境画面。
[0069]
示意性的,通过从终端中获取状态参数来获取天气配置参数,比如,终端为智能手机,智能手机显示当前时刻为上午十点,游戏应用程序根据智能手机显示的当前时刻对应的天气场景加载虚拟环境画面。
[0070]
天气配置信息包括虚拟环境所处的时间段、虚拟环境的时间流逝方式(如昼夜变化或固定在一个时间段不变)、光源参数、天空参数、雾气参数、云彩参数、风参数、粒子参数(用于表示天气场景中的粒子,如雨滴、雪花、沙尘暴等)、环境特效参数(如虚拟角色在释放技能时,虚拟环境受到的影响)、水面效果参数、太阳参数、月亮参数、镜头光晕(跟随虚拟角色移动的摄像机模型的镜头)中的至少一种。
[0071]
示意性的,天气系统中预先存储有天气对应关系,该天气对应关系用于表示天气配置信息和天气场景(包括场景效果)之间的对应关系,可以理解的是,技术人员在开发游
戏应用程序时,在天气系统中预先设置有天气对应关系,将天气系统封装在游戏应用程序中。游戏应用程序在运行的过程中,根据天气配置信息和天气对应关系计算在该天气配置信息下的天气效果。天气效果是指在某种天气场景下虚拟环境呈现的场景效果。
[0072]
示意性的,天气对应关系包括函数关系,如,天气配置信息与天气效果符合函数y=kx+b*e
x
,k和b为常数,x表示天气配置信息对应的参数,y表示天气效果。
[0073]
示意性的,天气对应关系包括对照表关系,游戏应用程序根据天气配置信息从对照表中查询对应的天气效果。以表一表示天气配置信息和天气效果之间的对应关系。
[0074]
表一
[0075][0076][0077]
本申请实施例对天气对应关系的表达方式不加以限定。
[0078]
步骤202,根据天气配置信息获取天气场景对应的天气贴图,天气贴图不包括虚拟环境中的虚拟元素在非关键维度上的贴图,天气贴图是用于表现天气效果的图像;非关键维度上的贴图是在缺失时不影响虚拟环境画面进行渲染的贴图。
[0079]
天气系统110用于如下几个方面中的至少一个方面:虚拟环境中的昼夜变化、模拟现实世界的天气表现以及在各种天气场景间的平滑过渡。如图3所示,天气系统110包括昼夜变化子系统101和天气子系统102。其中,昼夜变化子系统101用于根据天气配置信息改变虚拟环境中的场景画面,如,从白天场景变换至黄昏场景,从黄昏场景变换至夜晚场景,从夜晚场景变换至白天场景等。天气子系统102用于根据天气配置信息改变虚拟环境中的天气场景,如,根据雨滴参数改变虚拟环境中的雨滴尺寸和雨滴密度;根据光源参数改变虚拟环境中的光线强度和光线照射方向等。昼夜变化子系统101包括过渡子系统,天气子系统102包括天空光影子系统、雨滴子系统和云彩子系统。可以理解的是,天气子系统102还包括如风子系统、银河子系统等子系统,各个子系统分别独立运行,本申请实施例以天空光影子系统、雨滴子系统和云彩子系统为例进行说明。
[0080]
在天气系统渲染天气的过程中,通常需要大量的、从多个维度表示天气效果的天气贴图,通过从天气贴图中去除虚拟元素非关键维度上的贴图,减少贴图采样的过程,提高终端在运行游戏应用程序时的性能。贴图采样过程是指游戏应用程序从图形处理单元(graphics processing unit,gpu)中获取天气贴图的过程。虚拟元素是虚拟环境中的元素,虚拟元素包括平地、河流、湖泊、海洋、沙漠、天空、云彩、雨滴、雪花、植物、建筑、交通工具中的至少一种元素。
[0081]
非关键维度上的贴图去除后不影响虚拟环境画面的渲染。非关键维度上的贴图包括如下贴图中的至少一种:
[0082]
1、响应于天气效果包括雨滴效果,非关键维度上的贴图包括位于虚拟角色的视野前方,且位于虚拟角色预设距离之外的第一雨滴贴图。
[0083]
以虚拟角色为中心,在虚拟角色的视角范围沿虚拟角色的视线方向划分贴图层,
如图8所示,通过在贴图层中添加雨滴贴图,使得用户通过虚拟角色绑定的摄像机模型看到位于虚拟角色视野前方的雨滴,本申请实施例通过在预设距离范围内添加预设贴图层数的雨滴贴图来减少雨滴贴图的数量,从而减少终端进行贴图采样的次数,提高终端在运行游戏应用程序时的性能。
[0084]
2、响应于天气效果包括天空光影效果,非关键维度上的贴图包括虚拟环境中的虚拟元素在空间维度上的第一散射贴图,第一散射贴图是用于表现天空上的光线散射效果的图像。
[0085]
如图4所示,以矩形表示散射贴图,通常在表示天空光影效果对应的散射贴图中的像素点包括四个维度的数值,四个维度的数值分别以坐标轴a、坐标轴b、坐标轴c和坐标轴d表示,其中,坐标轴a表示虚拟角色的视线和太阳最高点之间的夹角度数,太阳最高点表示太阳在天空中的最高点,天空是虚拟环境中的天空;坐标轴b表示太阳在天空中的任意位置与太阳最高点之间的夹角度数;坐标轴c表示虚拟元素在空间维度上的距离,本申请实施例以坐标轴c表示虚拟角色在太空中观察地球时,虚拟角色与地球上的虚拟环境中的虚拟元素之间的距离,其中,地球和太空形成的虚拟环境是模拟现实世界中的星球环境构建的,地球上的虚拟环境是虚拟角色通常进行活动的区域;坐标轴d表示虚拟角色的视线和太阳在天空中的任意位置时对应的夹角度数。
[0086]
本申请实施例通过去除坐标轴c表示的数值来减少一部分散射贴图,将坐标轴a、坐标轴d和坐标轴b作为像素点的三个维度,减少了散射贴图的数量,从而减少终端进行贴图采样的次数,提高终端在运行游戏应用程序时的性能。
[0087]
3、响应于天气效果包括云彩效果,非关键维度上的贴图包括具有彩色色彩的三维云彩图像。
[0088]
通常游戏应用程序使用体积云来表现虚拟环境的中的云彩效果,体积云是由具有彩色色彩的三维云彩图像构成,因此本申请实施例通过去除带有彩色色彩的三维云彩图像,以具有灰度的二维云彩图像实现云彩效果,使得终端的运算量减少,提高终端在运行游戏应用程序时的性能。
[0089]
步骤203,根据天气贴图渲染虚拟环境中的天气场景。
[0090]
渲染是指将天气贴图添加在目标位置上,使目标位置呈现更丰富的细节。
[0091]
示意性的,在下雨场景中,将不包括第一雨滴贴图的雨滴贴图添加在虚拟角色的视野前方,以虚拟角色的视角观察虚拟环境画面,虚拟环境处于下雨场景。
[0092]
示意性的,在晴天场景中,将不包括第一散射贴图的散射贴图贴附在天空球模型上,以虚拟角色的视角观察虚拟环境画面,虚拟环境的天空呈现晴天场景对应的天空光影效果。天空球模型是用于表征虚拟环境的天空半球形模型。
[0093]
示意性的,在晴天场景中,将具有灰度的二维云彩图像贴附在天空球模型上,以虚拟角色的视角观察虚拟环境画面,虚拟环境的天空呈现晴天场景对应的云彩效果。
[0094]
综上所述,本实施例提供的方法,通过天气配置信息获取不包括非关键环境画面对应的贴图,使得用户使用的终端在加载虚拟环境画面时,在保证天气场景的正常显示下,通过减少天气贴图的数量来减少贴图采样的次数,从而避免终端在运行支持虚拟环境的应用程序时,性能大幅度降低。
[0095]
以天气效果包括雨滴效果、天空光影效果、云彩效果为例,分别对本申请实施例提
供的虚拟环境中的天气渲染方法进行说明。
[0096]
1、雨滴效果。
[0097]
图5示出了本申请另一个示例性实施例提供的虚拟环境中的天气渲染方法的流程图。该方法可应用于如图1所示的终端100中,该终端100安装有支持虚拟环境运行的应用程序对应的客户端,该客户端基于天气系统110运行。该方法包括如下步骤:
[0098]
步骤501,获取天气配置信息,天气配置信息用于切换虚拟环境中的天气场景。
[0099]
示意性的,服务器向客户端发送天气配置信息,该天气配置信息包括虚拟环境当前的时刻为下午三点,雨滴粒子参数为10,客户端在获取到该天气配置信息时,根据天气系统中预先存储的天气对应关系获取与雨天相关的雨滴贴图,根据雨滴贴图渲染下雨场景。
[0100]
天气系统的运行与游戏应用程序在开发过程中设置的天气对应关系有关,天气配置信息中涉及的参数信息是通过设置界面设置的。
[0101]
如图6所示,在设置界面中设置天气配置参数和天气对应关系。示意性的,在设置界面中通过手动输入虚拟环境的当前时间25,或者点击时间调节控件调节虚拟环境的当前时间25。通过设置时间流逝方式26设置虚拟环境中的时间是昼夜变化的,或者虚拟环境以固定的时间段运行,如无论终端何时运行游戏应用程序,虚拟环境显示的场景均为上午八点至九点对应的场景,该场景是固定不变的。示意性的,虚拟环境与现实世界一样,均为24小时制,可通过设置界面将24小时划分为9个时间段,各个时间段对应的时间长度相同或不同。
[0102]
如图7所示。技术人员还可进一步进行更精细地设置,比如,针对虚拟环境所处的时间段为早上,设置在该时间段下天气场景的天气配置参数。如在该时间段下的光源参数、天空光影参数、雾气参数、云彩参数、风参数、色调参数等。
[0103]
步骤502,根据天气配置信息获取下雨场景对应的第二雨滴贴图,第二雨滴贴图不包括第一雨滴贴图。
[0104]
第一雨滴贴图包括位于虚拟角色的视野前方,且位于虚拟角色预设距离之外的第一雨滴贴图。即第二雨滴贴图包括位于虚拟角色的视野前方,且与虚拟角色之间的距离在预设距离之内。通过天气配置信息计算对应的天气效果,根据天气效果获取第二雨滴贴图。
[0105]
步骤503,响应于天气效果包括雨滴效果,获取虚拟角色的视角范围,视角范围包括沿虚拟角色的视线方向划分的贴图层,贴图层的层数小于或等于预设层数。
[0106]
如图8的左图所示,以a点表示虚拟角色所在的位置,示意性的,贴图层的预设层数为两层,在虚拟角色的视角范围内沿虚拟角色的视线方向划分有贴图层1和贴图层2,其中贴图层2与虚拟角色的距离28位于虚拟角色的预设距离内。示意性的,贴图层之间的距离相等,通过预设距离控制贴图层的层数小于或等于预设层数。贴图层用于确定渲染下雨场景时所需的雨滴贴图的数量,每层贴图层对应一张雨滴贴图。在一些实施例中,贴图层之间的距离也可以不相等。
[0107]
步骤504,在贴图层添加第二雨滴贴图,第二雨滴贴图的通道中存储有雨滴深度信息,雨滴深度信息用于表示虚拟角色与第二雨滴贴图之间的距离,雨滴深度信息与雨滴尺寸呈正相关关系。
[0108]
为了模拟现实世界中“近大远小”的现象,在第二雨滴贴图的b通道中预先存储有雨滴深度信息,该雨滴深度信息与雨滴尺寸呈正相关关系,b通道为红(red,r)绿(green,g)
蓝(blue,b)色彩模式下的b通道。由此可知,在同一张第二雨滴贴图上的雨滴尺寸不同。第二雨滴贴图泛指一张或多张雨滴贴图。
[0109]
步骤505,根据雨滴深度信息渲染在下雨场景中符合雨滴尺寸的雨滴。
[0110]
根据第二雨滴贴图中存储的雨滴深度信息渲染下雨场景中的雨滴尺寸,使得距离虚拟角色较近的雨滴呈现较大的雨滴尺寸,距离虚拟角色较远的雨滴呈现较小的雨滴尺寸。如图8的右图所示,雨滴尺寸大小不一,呈现出视差(parallax)效果。
[0111]
虚拟角色绑定有摄像机模型,通过摄像机模型拍摄虚拟环境得到的画面来表现虚拟角色观察到的虚拟环境画面,针对摄像机模型构建双锥形模型,如图9的左图所示,该双锥形模型包围摄像机模型。将第二雨滴贴图贴附在双锥形模型的表面,当双锥形模型摆动时,第二雨滴贴图也跟随双锥形模型进行摆动,摄像机模型与第二雨滴贴图之间存在一定的夹角,在摄像机模型拍摄到的下雨画面中,雨滴呈现一定的倾斜角度;当双锥形模型的两个尖端与水平面垂直时,摄像机模型与第二雨滴贴图垂直,在摄像机模型拍摄到的下雨画面中,雨滴自上而下垂直降落。
[0112]
本申请实施例通过构建双锥形模型,将虚拟角色对应的摄像机模型添加在双锥形模型中,以模拟现实世界中的下雨场景。需要说明的是,在游戏应用程序运行的过程中,摄像机模型和双锥形模型均不显示在虚拟环境画面中,即用户无法看到双锥形模型和摄像机模型,图9仅为示意。
[0113]
综上所述,本实施例提供的方法,通过在雨滴贴图中存储深度信息,使得雨滴贴图根据深度信息显示在虚拟角色的视野范围内,表现出一种“近大远小”的视觉现象,即靠近虚拟角色的雨滴尺寸较大,远离虚拟角色的雨滴尺寸较小,从而真实模拟了现实世界中下雨时的场景。无需在虚拟角色的视野前方添加多层的具有不同雨滴尺寸的雨滴贴图(一张雨滴贴图上的雨滴尺寸相同),从而减少了雨滴贴图的数量,使得终端进行采样贴图的次数减少,提高终端在运行游戏应用程序时的性能。
[0114]
基于图5的可选实施例中,虚拟环境中通常利用粒子发射器来模拟下雨,则虚拟环境中的天气渲染方法还包括如下步骤:
[0115]
步骤506,响应于虚拟角色移动至粒子分布盒对应的包围范围的边缘位置处,获取虚拟角色的移动方向。
[0116]
如图10所示,在模拟下雨场景时,通常在虚拟角色29的上方设置有粒子发射器,以实现虚拟角色29始终位于下雨场景中。
[0117]
虚拟角色对应有粒子分布盒,粒子分布盒是用于发射粒子的盒状模型,粒子分布盒被划分为m
×
n个子分布盒,虚拟角色位于粒子分布盒中,m和n均为正整数,每个子分布盒对应有粒子发射器。
[0118]
示意性的,m和n可以相等或不等。粒子分布盒用于模拟下雨场景、下雪场景、沙尘暴场景、下冰雹等需要以粒子表现的天气场景。
[0119]
如图11的右图所示,通过对虚拟角色设置粒子分布盒30,该粒子分布盒30的每个表面被划分为3
×
3的九宫格,将粒子分布盒划分为子分布盒,每个子分布盒对应有粒子发射器。虚拟角色位于该粒子分布盒30中。
[0120]
边缘位置是指虚拟角色位于粒子分布盒的边缘层子分布盒对应的位置,如图11的左图所示,边缘位置是最近处的一层子分布盒33对应的位置,即虚拟角色29所在的一层子
分布盒对应的位置。最近处的一层子分布盒33是位于虚拟角色的视野前方,且距离虚拟角色最近的一层子分布盒。
[0121]
步骤507,将距离虚拟角色最远处的一层子分布盒沿移动方向移动至最近处的一层子分布盒的前方,且与最近处的一层子分布盒相邻,最近处的一层子分布盒位于虚拟角色的视野前方,且与虚拟角色之间的距离最短。
[0122]
如图11的左图所示,从俯视角度说明粒子分布盒的移动过程,虚拟角色29位于粒子分布盒对应的包围范围的边缘位置处。虚拟角色移动方向为箭头指示的方向,将位于第一位置31的一层子分布盒移动至第二位置32处,第一位置31为距离虚拟角色最远处的一层子分布盒对应的位置,第二位置32是位于最近处的一层子分布盒33的前方,且与最近处的一层子分布盒33相邻的位置,最近处的一层子分布盒33与虚拟角色29之间的距离最短。
[0123]
需要说明的是,在游戏应用程序运行的过程中,粒子分布盒不显示在虚拟环境画面中,即用户无法看到粒子分布盒,图11仅为示意。
[0124]
综上所述,本实施例提供的方法,通过为虚拟角色设置粒子分布盒,当虚拟角色移动至粒子分布盒对应的包围范围的预设位置时,距离虚拟角色最远处的一层分布盒子会沿着虚拟角色的移动方向移动至虚拟角色的视野前方,使得虚拟角色始终被粒子分布盒包围,从而保证虚拟角色在下雨场景下始终被雨滴包围,实现了对现实世界的模拟。通过移动粒子分布盒的方式循环使用粒子发射器,提高终端在加载多个粒子发射器时的性能。
[0125]
基于图5的可选实施例中,利用虚拟环境中的遮蔽物元素的深度信息对雨滴进行遮挡,以实现模拟现实世界中人在建筑物下避雨的场景,则虚拟环境中的天气渲染方法还包括如下步骤:
[0126]
步骤508,响应于虚拟角色位于室内环境,获取遮蔽物元素的深度信息,深度信息是以俯视虚拟环境的视角得到的,遮蔽物元素用于为虚拟角色提供室内环境。
[0127]
游戏应用程序以俯视虚拟环境的视角获取遮蔽物元素的深度信息,即从虚拟环境的天空向虚拟环境的地面的方向观察,获取遮蔽物元素的深度信息。遮蔽物元素包括房屋元素、茅屋元素、亭子元素、桥洞元素、隧道元素、草棚元素中的至少一种。遮蔽物元素的深度信息用于表示虚拟环境的天空最高点(即天空球模型的最高点)与遮蔽物元素之间的距离。遮蔽物元素的深度信息是在离线状态下预先存储在天气系统中的。
[0128]
虚拟角色可以躲在遮蔽物下方躲避虚拟环境中的雨滴。
[0129]
步骤509,根据遮蔽物元素的深度信息和虚拟角色对应的深度信息,删除位于虚拟角色的视野前方的部分第二雨滴贴图。
[0130]
虚拟角色对应的深度信息包括虚拟角色周围的其他虚拟角色对应的深度信息、虚拟角色周围预设范围内的虚拟元素的深度信息(虚拟元素包括遮蔽物元素、植物元素、动物元素中的至少一种)。
[0131]
通过如下三个公式对遮蔽物遮挡雨滴的过程进行说明:
[0132]
利用公式一计算雨滴深度值:
[0133]
公式一:d=b
×
d
range
+(d
base
+i
×
d
range
);
[0134]
其中,d表示雨滴深度值,b表示雨滴贴图中的b通道(blue通道)存储的雨滴深度信息对应的参数,d
range
表示雨滴深度信息对应的深度范围,d
base
表示虚拟环境中的虚拟元素的基础深度值,i表示第i层贴图层中的雨滴贴图。
[0135]
通过上述公式计算雨滴深度值,即从俯视虚拟环境的角度,雨滴降落至地面时,雨滴与虚拟环境的天空的最高点之间的距离。
[0136]
利用公式二计算雨滴所在的高度:
[0137]
公式二:h=k(d);
[0138]
其中,h表示雨滴所在的高度,d表示雨滴深度值,h=k(x)表示雨滴深度值与雨滴高度之间的函数关系。
[0139]
雨滴所在的高度表示雨滴从虚拟环境的天空降落时的高度。
[0140]
利用公式三计算雨滴的遮挡结果:
[0141]
公式三:
[0142]
其中,d表示雨滴深度值,d
scene
表示虚拟环境中的遮蔽物元素的深度值,h表示雨滴所在的高度值,h
scene
表示虚拟环境中的遮蔽物元素在虚拟环境中的高度,1表示遮蔽物元素对雨滴进行遮挡,0表示未对雨滴进行遮挡。
[0143]
当雨滴深度值小于遮蔽物元素的深度值,且雨滴所在的高度大于所述遮蔽物元素在虚拟环境中的高度时,将位于虚拟角色视野前方的部分第二雨滴贴图进行删除,形成雨滴被“遮挡”在遮蔽物元素之外的现象。
[0144]
在现实世界中,当人进入室内环境后,室内的地面处于干燥状态,室外的地面处于湿润状态,本申请实施例通过上述公式在虚拟环境中模拟该情况。
[0145]
如图12的(a)所示,虚拟角色29移动至室内环境,虚拟角色站在建筑物的台阶上,面向室外环境,在虚拟角色29的前方显示有雨滴。
[0146]
如图12的(b)所示,以侧视的角度为例,虚拟角色29站在属于室内环境的台阶35上,台阶35的另一侧显示有雨滴34产生的水花,虚拟角色29站立的位置地面是干燥的,台阶35的另一侧地面是湿润的,以用户的角度观察虚拟环境,雨滴贴图距离用户最远,台阶元素(室内环境)对应的贴图与用户之间的距离小于雨滴贴图与用户之间的距离,利用台阶元素对应的贴图对雨滴贴图进行遮挡以实现如12所示的效果。
[0147]
综上所述,本实施例的方法,当虚拟角色位于室内环境时,通过虚拟角色周围的深度信息和下雨场景的场景深度信息确定雨滴贴图出现在虚拟角色前方的位置,使得当虚拟角色处于室内环境时,将雨滴有效地进行遮挡,从而实现对现实世界的模拟。
[0148]
基于图5的可选实施例中,雨滴掉落在虚拟环境的地面上会产生水花,则虚拟环境中的天气渲染方法还包括如下步骤:
[0149]
步骤511,获取初始位置和拍摄位置,初始位置是水花在虚拟环境的地面上初次出现时的位置,拍摄位置是摄像机模型所在的位置,水花用于表征雨滴降落在虚拟环境的地面上产生的水花。
[0150]
虚拟角色对应有摄像机模型,在虚拟环境的地面上划分有网格(mesh),每个网格中对应有一个水花。水花是当雨滴溅落在虚拟环境的地面上生成的水花,水花的位置是动态变化的,通过更新网格的位置来更新水花的位置,不断更新网格的位置会造成终端的性能消耗,使得终端表面温度升高。而本实施例利用图形处理单元每隔预设时间间隔更新水花的位置,并且让水花的位置跟随摄像机模型移动,从而模拟下雨场景中的水花效果。降低了终端性能消耗,从而避免终端表面温度升高。
[0151]
步骤512,根据初始位置和拍摄位置计算第i次生成水花时的第i循环位置,i为正整数。
[0152]
利用公式四计算第i次生成水花的第i循环位置:
[0153]
公式四:p
i
=p0+p
camera

[0154]
其中,p0表示单个水花的初始位置,p
camera
表示摄像机模型的拍摄位置,p
i
表示第i次循环生成水花。
[0155]
步骤513,获取位置偏移参数,位置偏移参数用于表示水花循环生成时的偏移位置。
[0156]
步骤514,根据位置偏移参数和第i循环位置计算第i+1次生成水花时的第i+1循环位置。
[0157]
利用公式五计算第i+1次生成水花的第i+1循环位置:
[0158]
公式五:
[0159]
其中,p
i
表示第i次循环生成水花,δ表示位置偏移参数,t
total
表示游戏开始时刻至当前时刻,t
cycle
表示水花循环一个生命周期的时间,即水花从生成到消失的时间。
[0160]
步骤515,重复上述生成水花的循环位置的步骤,直到下雨场景被切换。
[0161]
利用上述两个公式重复计算,得到水花的循环位置,直到下雨场景被切换为其他场景时,停止计算生成水花的循环位置。如图13所示,利用本申请实施例提供的方法渲染得到的水花的效果图。
[0162]
综上所述,本实施的方法,通过获取摄像机模型的拍摄位置和水花在虚拟环境画面的初始位置来计算生成第i次水花的第一循环位置,从而通过第i次水花的第一循环位置计算生成第i+1次水花的第二循环位置,通过利用固定数量的水花在虚拟环境中进行位置偏移,无需终端生成新的水花,提高终端在渲染下雨场景中的水花时的性能。
[0163]
如图14所示,利用本申请实施例提供的天气渲染方法所渲染的雨滴,得到虚拟环境画面中下雨场景的效果图,实现了对现实世界较为真实的模拟。
[0164]
此外,在渲染下雨场景时,虚拟环境画面易于出现分层现象,如图15的(a)中的区域47表示雨滴在虚拟环境中出现的雨滴分层现象。
[0165]
通过本申请实施例中提供的天气渲染方法渲染雨滴效果时,利用第二雨滴贴图的通道中存储的雨滴深度信息,使得雨滴连贯,不出现分层现象,当游戏应用程序获取到天气配置信息时,控制虚拟环境画面显示连贯的雨滴效果,该雨滴效果是经过第二雨滴贴图渲染后得到的,第二雨滴贴图是根据天气配置信息和天气对应关系得到的(第二雨滴贴图的获取方式通过上述实施例进行表述,此处不再赘述),在第二雨滴贴图的通道中存储有雨滴深度信息,该雨滴深度信息表示雨滴贴图与虚拟角色之间的距离。
[0166]
利用如下两个公式对雨滴不分层现象进行说明:
[0167]
通过公式六计算每层雨滴贴图上的雨滴的颜色:
[0168]
公式六:f(x)=r
×
g(x);
[0169]
其中,f(x)表示每层雨滴贴图上的雨滴的颜色,r表示雨滴贴图中的r通道(red通道)存储的雨滴形状信息,g(x)表示公式三中的雨滴遮挡结果。
[0170]
通过公式七计算雨滴的渲染颜色:
[0171]
公式七:
[0172]
其中,c表示雨滴的渲染颜色,f(x)表示每层雨滴贴图上的雨滴的颜色,i表示第i层贴图层的雨滴贴图,n表示n层雨滴贴图。
[0173]
通过利用公式三中计算得到的雨滴遮挡结果和雨滴贴图的r通道中存储的雨滴形状信息计算得到每层雨滴贴图上的雨滴的颜色,通过公式七累加每层雨滴贴图上的雨滴的颜色,使得最后虚拟环境画面中雨滴的整体颜色趋于一致,使得雨滴未出现分层现象,如图15的(b)所示。
[0174]
需要说明的是,上述关于雨滴效果的方法实施例可分别单独实施,也可任意组合实施,本申请实施例对此不加以限定。
[0175]
2、天空光影效果。
[0176]
图16示出了本申请另一个示例性实施例提供的虚拟环境中天气渲染方法的流程图。该方法可应用于如图1所示的终端100中,该终端100安装有支持虚拟场景运行的应用程序对应的客户端。该客户端基于天气系统110运行。该方法包括如下步骤:
[0177]
步骤1601,获取天气配置信息,天气配置信息用于切换虚拟环境中的天气场景。
[0178]
步骤1601的实施方式可参见图2所示的实施例中的步骤201的实施方式和图5所示的实施例中的步骤501的实施方式,此处不再赘述。
[0179]
步骤1602,根据天气配置信息获取天空对应的第二散射贴图,第二散射贴图不包括第一散射贴图。
[0180]
第一散射贴图是虚拟环境在海拔维度上的第一散射贴图,第二散射贴图是去除了海拔维度上的贴图,如图4所示。通过天气配置信息和天气对应关系计算对应的天气效果,根据天气效果获取第二散射贴图。
[0181]
步骤1603,响应于天气效果包括天空光影效果,对天空对应的第二散射贴图进行处理,得到处理后的渲染贴图,处理后的渲染贴图的分辨率小于第二散射贴图的分辨率。
[0182]
在虚拟环境中模拟天空的光影效果需要考虑大气散射因素,大气散射是指光线和大气粒子发生相互作用,使入射能量以一定规律在各方向重新分布的现象。本申请实施例将关于光线散射的计算数据离线存储在散射贴图(inscattering map)中,在游戏运行时直接采样散射贴图优化运行时的效率。即游戏应用程序根据天气对应关系和天气配置信息计算出虚拟环境中天空的散射贴图,将该散射贴图离线存储在图形处理单元中,在游戏应用程序运行时,直接获取该散射贴图以加载虚拟环境中的天空。
[0183]
当通过二维散射图像计算大气散射效果时,需要进行至少两次散射贴图采样,同时针对光影效果进行复杂运算。示意性的,如图17所示,本申请实施例在渲染天空时对计算量做了优化,通过将终端的全屏渲染画面40中关于天空部分的散射贴图渲染为分辨率为64
×
64的渲染贴图(rendertexture)36,相比于全屏渲染画面40的分辨率1920
×
1080(该全屏渲染画面的分辨率与终端的分辨率有关),本申请实施例的计算量降低了约500倍。在渲染天空时,将天空对应的渲染贴图36贴附在天空球模型39中,以形成渲染后的天空对应的光照场景。在一些实施例中,还可通过在天空球模型39上贴附云彩贴图38来丰富渲染后的画面,同样将云彩贴图38渲染至较小的分辨率,以减少渲染过程带来的计算量。在另一些实施例中,还可通过在天空球模型39上贴附雾气贴图37来丰富渲染后的画面,同样将雾气贴图
37渲染至较小的分辨率,以减少渲染过程带来的计算量。
[0184]
步骤1604,根据处理后的渲染贴图渲染虚拟环境的天空对应的光照场景。
[0185]
示意性的,通过大气散射模型来渲染虚拟环境的天空对应的光照场景,通过本申请实施例提供的方法得到全屏渲染画面40对应的光照场景。
[0186]
通过如下公式八表示大气散射模型的渲染结果:
[0187]
公式八:l(s,θ)=l0f
ex
(s)+l
in
(s,θ);
[0188]
其中,l(s,θ)表示散射结果,l0表示进入吸收介质前的光强,f
ex
(s)表示透光比,l
in
(s,θ)表示内散射结果,θ表示散射角度。
[0189]
透光比通过如下公式九表示:
[0190]
公式九:
[0191]
其中,β
r
表示瑞丽散射系数,β
m
表示米氏散射系数,s表示目标到光源的距离。
[0192]
内散射结果通过如下公式十:表示:
[0193]
公式十:
[0194]
其中,β
r
表示瑞丽散射系数,β
m
表示米氏散射系数,s表示目标到光源的距离,θ表示散射角度,e
sun
表示太阳光强。
[0195]
示意性的,本申请实施例通过大气散射模型对雾气场景进行渲染,需要说明的是,当调用大气散射模型对雾气进行渲染时,在计算内散射结果时,将瑞丽散射系数、米氏散射系数和光照强度这一部分的计算结果对应的像素点渲染至分辨率为64
×
64的渲染贴图。
[0196]
通过本申请实施例提供的方法得到渲染后的天空光影效果如图18所示,图18表示一天中各个时间段内虚拟环境中的天空,图18的(a)表示太阳刚升起时虚拟环境对应的天空光影效果,图18的(b)表示处于上午至中午时间段的虚拟环境对应的天空光影效果,图18的(c)表示太阳即将落山时的虚拟环境对应的天空光影效果,图18的(d)表示太阳完全落山后,临近夜晚时的虚拟环境对应的天空光影效果。
[0197]
综上所述,本实施例提供的方法,通过将散射贴图处理为分辨率较小的渲染贴图,通过较小分辨率的渲染贴图模拟虚拟环境的天空对应的光照场景,使得终端在运行支持虚拟环境的应用程序时,进行贴图采样时的次数减少,避免终端的性能降低。
[0198]
3、云彩效果。
[0199]
图19示出了本申请另一个示例性实施例提供的虚拟环境中的天气渲染方法的流程图。该方法可应用于如图1所示的终端100中,该终端100安装有支持虚拟场景运行的应用程序对应的客户端,该客户端基于天气系统110运行。该方法包括如下步骤:
[0200]
步骤1901,获取天气配置信息,天气配置信息用于切换虚拟环境中的天气场景。
[0201]
步骤1901的实施方式可参见图2所示的实施例中的步骤201的实施方式和图5所示的实施例中的步骤501的实施方式,此处不再赘述。
[0202]
步骤1902,响应于天气效果包括云彩效果,根据天气配置信息获取至少两张第一纹理云贴图,第一纹理云贴图包括具有灰度的二维云彩图像,至少两张第一纹理云贴图是基准纹理云贴图中的像素点沿不同方向偏移后得到的,基准纹理云贴图包括无光照条件下的二维云彩图像。
[0203]
该第一纹理云贴图不包括具有彩色色彩的三维云彩图像。本申请实施例通过二维纹理云贴图实现对云彩的渲染。该二维纹理云彩图是具有灰度的图像。通过天气系统中预先存储的基准纹理云贴图获得,基准纹理云图是具有云彩轮廓,且在光照条件下的二维云彩图像,即在不受任何光照条件影响下的云彩图像,基准纹理云贴图是具有灰度的图像。
[0204]
示意性的,通过光线步进(raymarching)算法对基准纹理云贴图进行预处理,得到第一纹理云贴图。如图20所示,光线步进算法的过程是:首先,从太阳发射n条射线(n为正整数),射线有一个采样的步长。当射线位于云彩中时,每个步长采一次样,获取云彩中的纹理值,其中白色矩形表示该纹理值为白色值,带有阴影的矩形表示该纹理值为灰度值。
[0205]
示意性的,第一纹理云贴图的获取方式如图21的上图所示,将基准纹理云贴图41中的像素点按照向左、向右、向上三个方向进行偏移,在三个方向上的偏移步长是相等的,分别得到左偏移的第一纹理云贴图42、右偏移的第一纹理云贴图43和上偏移的第一纹理云贴图44。
[0206]
步骤1903,根据第一纹理云贴图的通道对应的权重,混合至少两张第一纹理云贴图,得到第二纹理云贴图。
[0207]
示意性的,左偏移的第一纹理云贴图42的通道对应的权重为0.6,右偏移的第一纹理云贴图43的通道对应的权重为0.3,右偏移的第一纹理云贴图43和上偏移的第一纹理云贴图44的通道对应的权重为0.1。将三张第一纹理云贴图进行渲染,得到如图21的下图所示的渲染后第二纹理云贴图45。
[0208]
步骤1904,根据第二纹理云贴图渲染在光线变化下的云彩。
[0209]
利用上述得到第二纹理云贴图45的方式得到虚拟环境中,在光线变化下的云彩,渲染后的云彩效果图如图22所示。
[0210]
综上所述,本实施例提供的方法,通过对二维纹理云贴图进行预处理,并根据预处理后的第一纹理云贴图的通道对应的权重来混合第一纹理云贴图,从而得到混合后的第二纹理云贴图,使得终端只需要进行一次二维纹理云贴图采样的过程,减少终端的能耗。
[0211]
下面对虚拟环境中时间段与时间段之间的过渡、场景与场景之间的过渡进行说明。
[0212]
图23示出了本申请另一个示例性实施例提供的虚拟环境中的天气渲染方法的流程图。该方法可应用于如图1所示的终端100中,该终端100安装有支持虚拟场景运行的应用程序对应的客户端。该客户端基于天气系统110运行。该方法包括如下步骤:
[0213]
步骤2301,获取第一参数、第二参数、第三参数和第四参数,第一参数用于表示第一天气场景对应的贴图参数,第二参数用于表示第二天气场景对应的贴图参数,第三参数用于表示时间段变换时对应的过渡系数,第四参数用于表示两种天气场景切换时对应的过渡系数。
[0214]
时间段是指虚拟环境的一天中各个时间点内控制虚拟环境表现的所有参数的集合。
[0215]
如图24所示,虚拟环境中天气场景与时间段相关联,即虚拟环境中的时间从时间段a切换至时间段b时,天气场景也从时间段a对应的天气场景切换至时间段b对应的天气场景中。比如虚拟环境的天气场景为晴天时,相邻时段做线性过渡。有天气情况下,相邻时段和天气一起过渡,天气切换首先是环境元素变化,然后再是天气场景的切换,例如下雨场景
是天空先变暗,然后再开始下雨。时间段之间、时间段与天气场景之间、天气场景与天气场景之间都可以平滑过渡。
[0216]
步骤2302,根据第一参数、第二参数、第三参数和第四参数得到天气场景切换时对应的渲染画面参数。
[0217]
步骤2303,根据渲染画面参数渲染第一天气场景切换至第二天气场景时的过渡画面。
[0218]
利用如下公式十一计算画面渲染参数:
[0219]
公式十一:d=(d1×
θ+d2×
(1-θ)
×
β)+d3×
(1-β);
[0220]
其中,d表示画面渲染参数,d1表示第一天气场景(或第一时间段)对应的贴图参数,d2表示第二天气场景(或第二时间段)对应的贴图参数,d3表示第二天气场景对应的贴图参数,β表示两种天气场景切换时对应的过渡系数,β的取值范围为0至1,1表示天气场景没有变化(一个天气场景不变),0表示天气场景发生变化(两个天气场景进行切换),θ表示时间段变换时对应的过渡系数,θ的取值范围为0至1,0表示晚上时间段,1表示白天时间段。
[0221]
以虚拟环境中上午六点至下午六点为白天时间段,下午六点至第二天上午六点为夜晚时间段为例。在一个示例中,白天时间段过渡至晚上时间段,当虚拟环境当前的时刻为上午六点时,θ=1,则d2×
(1-θ)
×
β的值为0,若天气场景没有变化,则β=1,d3×
(1-β)的值为0,画面渲染参数d=d1×
θ,对应白天场景。随着虚拟环境画面的时间变化,θ的值由1变为0,在这期间,若天气场景发生变化,则β值变化;若天气场景不发生变化,则β值不发生变化。当虚拟环境的当前时刻为下午七点时,θ=0,则d1×
θ的值为0,若天气场景没有变化,则β=1,d3×
(1-β)的值为0,画面渲染参数d=d2×
(1-θ),对应夜晚场景。
[0222]
由于θ和β数值的变化,可计算出任意时间段对应的画面渲染参数,因此虚拟环境从白天时间段对应的场景平滑过渡至晚上时间段对应的场景。
[0223]
在另一个示例中,晴天场景(第一天气场景)过渡至雨天场景(第二天气场景),虚拟环境当前的时间段为白天时间段,当前的天气场景为晴天场景,则θ=1,β=1,则画面渲染参数d=d1×
θ,若虚拟环境的时间为中午十二点开始下雨,则θ=1,β=0,则画面渲染参数d=d1×
θ+d3,对应下雨场景。
[0224]
由于θ和β数值的变化,可计算出任意时间段对应的画面渲染参数,也可计算出在某一时间段天气场景变化时对应的画面渲染参数,因此虚拟环境可以在时间段与时间段进行场景切换时画面平滑过渡,也可以在任意两种天气场景切换时画面平滑过渡。
[0225]
步骤2303可替换为如下步骤:
[0226]
步骤s1,每隔预设时间间隔更新计算渲染画面参数。
[0227]
步骤s2,根据渲染画面参数渲染第一天气场景切换至第二天气场景时的过渡画面。
[0228]
在保证自然过渡的前提下,对天气过渡进行隔帧优化,在每秒传输帧数(frames per second,fps)为30的情况下,每秒只需要做15次更新计算,使天气系统消耗较小的终端性能。示意性的,时间段切换过程中需要采样2张场景贴图,通过隔帧优化的方式减小天气系统对终端性能的消耗。从而使得虚拟环境中的天气场景之间的切换能够平滑的过渡。
[0229]
综上所述,本实施例提供的方法,通过第一参数、第二参数、第三参数和第四参数来计算天气场景切时的画面渲染参数,根据该画面渲染参数来渲染画面,使得虚拟环境的
天气场景能够在任意天气或任意时段之间平滑过渡,保证显示画面的顺畅性。
[0230]
通过每隔预设时间间隔的方式更新画面渲染参数,避免频繁更新计算画面渲染参数导致终端在加载虚拟环境画面时的性能降低。
[0231]
需要说明的是,上述关于雨滴效果、天空光影效果、云彩效果、过渡效果的方法实施例可分别单独实施,也可任意组合实施,本申请实施例对此不加以限定。
[0232]
以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。
[0233]
图25示出了本申请的一个示例性实施例提供的虚拟环境中的天气渲染装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分,该装置包括:
[0234]
获取模块2510,用于获取天气配置信息,天气配置信息用于切换虚拟环境的天气场景;
[0235]
所述获取模块2510,用于根据天气配置信息获取天气场景对应的天气贴图,天气贴图不包括虚拟环境中的虚拟元素在非关键维度上的贴图,天气贴图是用于表现天气效果的图像;非关键维度上的贴图是在缺失时不影响虚拟环境进行渲染的图像;
[0236]
渲染模块2520,用于根据天气贴图渲染虚拟环境中的天气场景。
[0237]
在一个可选的实施例中,虚拟环境包括虚拟角色;非关键维度上的贴图包括如下贴图中的至少一种:
[0238]
响应于天气效果包括雨滴效果,非关键维度上的贴图包括位于虚拟角色的视野前方,且位于虚拟角色预设距离之外的第一雨滴贴图;
[0239]
响应于天气效果包括天空光影效果,非关键维度上的贴图包括虚拟元素在空间维度上的第一散射贴图,第一散射贴图是用于表现天空上的光线散射效果的图像;
[0240]
响应于天气效果包括云彩效果,非关键维度上的贴图包括具有彩色色彩的三维云彩图像。
[0241]
在一个可选的实施例中,该装置包括处理模块2530;
[0242]
所述获取模块2510,用于响应于天气效果包括雨滴效果,获取虚拟角色的视角范围,视角范围包括沿虚拟角色的视线方向划分的贴图层,贴图层的层数小于或等于预设层数;
[0243]
所述处理模块2530,用于在贴图层中添加第二雨滴贴图,第二雨滴贴图不包括第一雨滴贴图,第二雨滴贴图的通道中存储有雨滴深度信息,雨滴深度信息用于表示虚拟角色与第二雨滴贴图之间的距离,雨滴深度信息与雨滴尺寸呈正相关关系;
[0244]
所述渲染模块2520,用于根据雨滴深度信息渲染在下雨场景中符合雨滴尺寸的雨滴。
[0245]
在一个可选的实施例中,虚拟角色对应有粒子分布盒,粒子分布盒被划分为m
×
n个子分布盒,虚拟角色位于粒子分布盒中,m和n均为正整数,每个子分布盒对应有粒子发射器;
[0246]
所述获取模块2510,用于响应于虚拟角色移动至粒子分布盒对应的包围范围的边缘位置处,获取虚拟角色的移动方向;
[0247]
所述处理模块2530,用于将距离虚拟角色最远处的一层子分布盒沿移动方向移动
至最近处的一层子分布盒的前方,且与最近处的一层子分布盒相邻,最近处的一层子分布盒位于虚拟角色的视野前方,且与虚拟角色之间的距离最短。
[0248]
在一个可选的实施例中,所述获取模块2510,用于响应于虚拟角色位于室内环境,获取遮蔽物元素的深度信息,深度信息是以俯视虚拟环境的视角得到的,遮蔽物元素用于为虚拟角色提供室内环境;
[0249]
所述处理模块2530,用于根据遮蔽物元素的深度信息和虚拟角色对应的深度信息,删除位于虚拟角色的视野前方的部分第二雨滴贴图。
[0250]
在一个可选的实施例中,虚拟角色对应有摄像机模型;
[0251]
所述获取模块2510,用于获取初始位置和拍摄位置,初始位置是水花在虚拟环境的地面上初次出现时的位置,拍摄位置是摄像机模型所在的位置,水花用于表征雨滴降落在虚拟环境的地面上产生的水花;
[0252]
所述处理模块2530,用于根据初始位置和拍摄位置计算第i次生成水花时的第i循环位置,i为正整数;
[0253]
所述获取模块2510,用于获取位置偏移参数,位置偏移参数用于表示水花循环生成时的偏移位置;
[0254]
所述处理模块2530,用于根据位置偏移参数和第i循环位置计算第i+1次生成水花时的第i+1循环位置;重复上述生成水花的循环位置的步骤,直到下雨场景被切换。
[0255]
在一个可选的实施例中,所述处理模块2530,用于响应于天气效果包括天空光影效果,对天空对应的第二散射贴图进行处理,得到处理后的渲染贴图,处理后的渲染贴图的分辨率小于第二散射贴图的分辨率,第二散射贴图不包括第一散射贴图;
[0256]
所述渲染模块2520,用于根据处理后的渲染贴图渲染虚拟环境的天空对应的光照场景。
[0257]
在一个可选的实施例中,所述获取模块2510,用于响应于天气效果包括云彩效果,获取至少两张第一纹理云贴图,第一纹理云贴图包括具有灰度的二维云彩图像,至少两张第一纹理云贴图是基准纹理云贴图中的像素点沿不同方向偏移后得到的,基准纹理云贴图包括表示无光照条件下的二维云彩图像;
[0258]
所述处理模块2530,用于根据第一纹理云贴图的通道对应的权重,混合至少两张第一纹理云贴图,得到第二纹理云贴图;
[0259]
所述渲染模块2520,用于根据第二纹理云贴图渲染在光线变化下的云彩。
[0260]
在一个可选的实施例中,所述获取模块2510,用于获取第一参数、第二参数、第三参数和第四参数,第一参数用于表示第一天气场景对应的贴图参数,第二参数用于表示第二天气场景对应的贴图参数,第三参数用于表示时间段变换时对应的过渡系数,第四参数用于表示两种天气场景切换时对应的过渡系数;
[0261]
所述处理模块2530,用于根据第一参数、第二参数、第三参数和第四参数得到天气场景切换时对应的渲染画面参数;根据渲染画面参数渲染第一天气场景切换至第二天气场景时的过渡画面。
[0262]
在一个可选的实施例中,所述处理模块2530,用于每隔预设时间间隔更新计算渲染画面参数;
[0263]
所述渲染模块2520,用于根据渲染画面参数渲染第一天气场景切换至第二天气场
景时的过渡画面。
[0264]
综上,本实施例提供的装置,通过天气配置信息获取不包括非关键环境画面对应的贴图,使得用户使用的终端在加载虚拟环境画面时,在保证天气场景的正常显示下,通过减少天气贴图的数量来减少贴图采样的次数,从而避免终端在运行支持虚拟环境的应用程序时,性能大幅度降低。
[0265]
通过在雨滴贴图中存储深度信息,使得雨滴贴图根据深度信息显示在虚拟角色的视野范围内,表现出一种“近大远小”的视觉现象,即靠近虚拟角色的雨滴尺寸较大,远离虚拟角色的雨滴尺寸较小,从而真实模拟了现实世界中下雨时的场景。无需在虚拟角色的视野前方添加多层的具有不同雨滴尺寸的雨滴贴图(一张雨滴贴图上的雨滴尺寸相同),从而减少了雨滴贴图的数量,使得终端进行采样贴图的次数减少,避免终端在运行游戏应用程序时降低性能。
[0266]
通过为虚拟角色设置粒子分布盒,当虚拟角色移动至粒子分布盒对应的包围范围的预设位置时,距离虚拟角色最远处的一层分布盒子会沿着虚拟角色的移动方向移动至虚拟角色的视野前方,使得虚拟角色始终被粒子分布盒包围,从而保证虚拟角色在下雨场景下始终被雨滴包围,实现了对现实世界的模拟。通过移动粒子分布盒的方式循环使用粒子发射器,避免因终端加载多个粒子发射器造成终端的性能下降。
[0267]
当虚拟角色位于室内环境时,通过虚拟角色周围的深度信息和下雨场景的场景深度信息确定雨滴贴图出现在虚拟角色前方的位置,使得当虚拟角色处于室内环境时,将雨滴有效地进行遮挡,从而实现对现实世界的模拟。
[0268]
通过获取摄像机模型的拍摄位置和水花在虚拟环境画面的初始位置来计算生成第i次水花的第一循环位置,从而通过第i次水花的第一循环位置计算生成第i+1次水花的第二循环位置,通过利用有限的水花重复出现,避免不断生成水花造成终端的计算资源浪费,导致终端的性能下降。
[0269]
通过将散射贴图处理为分辨率较小的渲染贴图,通过较小分辨率的渲染贴图模拟虚拟环境的天空对应的光照场景,使得终端在运行支持虚拟环境的应用程序时,进行贴图采样时的次数减少,避免终端的性能降低。
[0270]
通过对二维纹理云贴图进行预处理,并根据预处理后的第一纹理云贴图的通道对应的权重来混合第一纹理云贴图,从而得到混合后的第二纹理云贴图,使得终端只需要进行一次二维纹理云贴图采样的过程,减少终端的能耗。
[0271]
通过第一参数、第二参数、第三参数和第四参数来计算天气场景切时的画面渲染参数,根据该画面渲染参数来渲染画面,使得虚拟环境的天气场景能够在任意天气或任意时段之间平滑过渡,保证显示画面的顺畅性。
[0272]
通过每隔预设时间间隔的方式更新画面渲染参数,避免频繁更新计算画面渲染参数导致终端在加载虚拟环境画面时的性能降低。
[0273]
需要说明的是:上述实施例提供的虚拟环境中的天气渲染装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟环境中的天气渲染装置与虚拟环境中的天气渲染方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0274]
图26示出了本申请一个示例性实施例提供的计算机设备2600的结构框图。该计算机设备2600可以是便携式移动终端,比如:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器。计算机设备2600还可能被称为用户设备、便携式终端等其他名称。
[0275]
通常,计算机设备2600包括有:处理器2601和存储器2602。
[0276]
处理器2601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器2601可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器2601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器2601可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器2601还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0277]
存储器2602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器2602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器2602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器2601所执行以实现本申请实施例中提供的虚拟环境中的天气渲染方法。
[0278]
在一些实施例中,计算机设备2600还可选包括有:外围设备接口2603和至少一个外围设备。具体地,外围设备包括:射频电路2604、触摸显示屏2605、摄像头组件2606、音频电路2607、定位组件2608和电源2609中的至少一种。
[0279]
外围设备接口2603可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器2601和存储器2602。在一些实施例中,处理器2601、存储器2602和外围设备接口2603被集成在同一芯片或电路板上;在一些其他实施例中,处理器2601、存储器2602和外围设备接口2603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0280]
射频电路2604用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路2604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路2604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路2604包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等。射频电路2604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi,无线保真)网络。在一些实施例中,射频电路2604还可以包括nfc(near field communication,近距离无线通信)有关的电路,本申请对此不加以限定。
[0281]
触摸显示屏2605用于显示ui(user interface,用户界面)。该ui可以包括图形、文
本、图标、视频及其它们的任意组合。触摸显示屏2605还具有采集在触摸显示屏2605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器2601进行处理。触摸显示屏2605用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,触摸显示屏2605可以为一个,设置计算机设备2600的前面板;在另一些实施例中,触摸显示屏2605可以为至少两个,分别设置在计算机设备2600的不同表面或呈折叠设计;在另一些实施例中,触摸显示屏2605可以是柔性显示屏,设置在计算机设备2600的弯曲表面上或折叠面上。甚至,触摸显示屏2605还可以设置成非矩形的不规则图形,也即异形屏。触摸显示屏2605可以采用lcd(liquid crystal display,液晶显示器)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0282]
摄像头组件2606用于采集图像或视频。可选地,摄像头组件2606包括前置摄像头和后置摄像头。通常,前置摄像头用于实现视频通话或自拍,后置摄像头用于实现照片或视频的拍摄。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能,主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能。在一些实施例中,摄像头组件2606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0283]
音频电路2607用于提供用户和计算机设备2600之间的音频接口。音频电路2607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器2601进行处理,或者输入至射频电路2604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备2600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器2601或射频电路2604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路2607还可以包括耳机插孔。
[0284]
定位组件2608用于定位计算机设备2600的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件2608可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
[0285]
电源2609用于为计算机设备2600中的各个组件进行供电。电源2609可以是交流电、直流电、一次性电池或可充电电池。当电源2609包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0286]
在一些实施例中,计算机设备2600还包括有一个或多个传感器2610。该一个或多个传感器2610包括但不限于:加速度传感器2611、陀螺仪传感器2612、压力传感器2613、指纹传感器2614、光学传感器2615以及接近传感器2616。
[0287]
加速度传感器2611可以检测以计算机设备2600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器2611可以用于检测重力加速度在三个坐标轴上的分量。处理器2601可以根据加速度传感器2611采集的重力加速度信号,控制触摸显示屏2605以横向视图或纵向视图进行用户界面的显示。加速度传感器2611还可以用于游戏或者用户的运动
数据的采集。
[0288]
陀螺仪传感器2612可以检测计算机设备2600的机体方向及转动角度,陀螺仪传感器2612可以与加速度传感器2611协同采集用户对计算机设备2600的3d动作。处理器2601根据陀螺仪传感器2612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0289]
压力传感器2613可以设置在计算机设备2600的侧边框和/或触摸显示屏2605的下层。当压力传感器2613设置在计算机设备2600的侧边框时,可以检测用户对计算机设备2600的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器2613设置在触摸显示屏2605的下层时,可以根据用户对触摸显示屏2605的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0290]
指纹传感器2614用于采集用户的指纹,以根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器2601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器2614可以被设置计算机设备2600的正面、背面或侧面。当计算机设备2600上设置有物理按键或厂商logo时,指纹传感器2614可以与物理按键或厂商logo集成在一起。
[0291]
光学传感器2615用于采集环境光强度。在一个实施例中,处理器2601可以根据光学传感器2615采集的环境光强度,控制触摸显示屏2605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏2605的显示亮度;当环境光强度较低时,调低触摸显示屏2605的显示亮度。在另一个实施例中,处理器2601还可以根据光学传感器2615采集的环境光强度,动态调整摄像头组件2606的拍摄参数。
[0292]
接近传感器2616,也称距离传感器,通常设置在计算机设备2600的正面。接近传感器2616用于采集用户与计算机设备2600的正面之间的距离。在一个实施例中,当接近传感器2616检测到用户与计算机设备2600的正面之间的距离逐渐变小时,由处理器2601控制触摸显示屏2605从亮屏状态切换为息屏状态;当接近传感器2616检测到用户与计算机设备2600的正面之间的距离逐渐变大时,由处理器2601控制触摸显示屏2605从息屏状态切换为亮屏状态。
[0293]
本领域技术人员可以理解,图26中示出的结构并不构成对计算机设备2600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0294]
本申请实施例还提供一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述各方法实施例提供的虚拟环境中的天气渲染方法。
[0295]
本申请实施例还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的虚拟环境中的天气渲染方法。
[0296]
本申请实施例还提供一种计算机可读存储介质,该存储介质中存储有计算机程序,该计算机程序由处理器加载并执行以实现上述各方法实施例提供的虚拟环境中的天气渲染方法。
[0297]
本申请实施例还提供一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如上方面所述的虚拟环境中的天气渲染方法。
[0298]
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0299]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0300]
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1