首页> 中国专利> 光照效果呈现方法、装置、存储介质及计算机设备

光照效果呈现方法、装置、存储介质及计算机设备

摘要

本申请涉及一种光照效果呈现方法、装置、存储介质及计算机设备,该光照效果呈现方法包括:确定移动游戏对象在目标虚拟场景中所处的当前时间点和当前位置;根据当前位置从多个预设光照探针中确定目标光照探针;根据当前时间点和目标光照探针确定目标光照信息;根据目标光照信息对移动游戏对象进行光照效果呈现,从而能在演唱会场景中逼真的模拟出各种特效光在物体上的受光效果,避免造成舞台人物不受光的假象,提高了舞台展示效果。

著录项

  • 公开/公告号CN112587915A

    专利类型发明专利

  • 公开/公告日2021-04-02

    原文格式PDF

  • 申请/专利权人 网易(杭州)网络有限公司;

    申请/专利号CN202110007953.0

  • 发明设计人 谢乃闻;

    申请日2021-01-05

  • 分类号A63F13/28(20140101);A63F13/52(20140101);A63F13/54(20140101);G06T15/50(20110101);

  • 代理机构44570 深圳紫藤知识产权代理有限公司;

  • 代理人远明

  • 地址 310052 浙江省杭州市滨江区长河街道网商路599号4幢7层

  • 入库时间 2023-06-19 10:29:05

说明书

技术领域

本申请涉及计算机技术领域,具体涉及一种光照效果呈现方法、装置、存储介质及计算机设备。

背景技术

随着计算机技术的发展,美术场景制作得到了越来越广泛的应用,例如在游戏开发、动画制作、视频处理等领域,各种美术场景的呈现越来越精细、美观。

为了进一步优化美术场景的制作效果,例如对于游戏中的演唱会场景,通常会设计光柱、霓虹等各种特效光来丰富舞台表现,但是目前演唱会场景中,动态物体(例如游戏人物)的显示,是不受特效光的光照影响的,也即不会在动态物体上呈现特效光的光照效果,造成物体不受光的假象,从而导致舞台展现效果不逼真,无法满足用户对演唱会场景的画面需求。

发明内容

本申请的目的在于提供一种光照效果呈现方法、装置、存储介质及计算机设备,能逼真的展示特效光在物体上的受光效果,提高舞台显示效果。

本申请实施例提供了一种光照效果呈现方法,包括:

确定移动游戏对象在目标虚拟场景中所处的当前时间点和当前位置;

根据所述当前位置从多个预设光照探针中确定目标光照探针;

根据所述当前时间点和所述目标光照探针确定目标光照信息;

根据所述目标光照信息对所述移动游戏对象进行光照效果呈现。

其中,所述根据所述当前位置,从多个预设光照探针中确定目标光照探针,包括:

获取多个预设光照探针中每个所述预设光照探针的排布位置;

确定每个所述排布位置与所述当前位置之间的距离值;

将数值最小的所述距离值对应的所述预设光照探针,作为目标光照探针。

其中,所述目标虚拟场景包括演唱会场景,所述确定移动游戏对象在目标虚拟场景中所处的当前时间点,包括:

确定所述演唱会场景中当前播放音频的当前播放节点;

将所述当前播放节点作为所述移动游戏对象在所述演唱会场景中所处的当前时间点。

其中,在确定所述演唱会场景中当前播放音频的当前播放节点之前,还包括:

显示所述当前播放音频对应的播放操作界面;

通过所述播放操作界面获取针对所述当前播放音频的进度调整操作;

根据所述进度调整操作对所述当前播放音频的播放节点进行调整。

其中,所述根据所述当前时间点和所述目标光照探针确定目标光照信息,包括:

获取所述目标光照探针对应的光照信息序列,得到目标光照信息序列,所述目标光照信息序列包括多帧按照时间顺序排列的光照信息;

从所述目标光照信息序列中获取所述当前时间点对应的所述光照信息,并将获取的所述光照信息作为目标光照信息。

其中,在获取所述目标光照探针对应的光照信息序列之前,还包括:

获取所述目标虚拟场景中至少一个虚拟光源所在的位置、以及每个所述虚拟光源在多个采样时间点发出的特效光信息;

根据所述虚拟光源所在的位置以及所述目标虚拟场景,确定多个预设光照探针、以及每个所述预设光照探针的排布位置;

根据所述特效光信息和所述排布位置,生成每个所述预设光照探针的光照信息序列;

所述获取所述目标光照探针对应的光照信息序列,包括:从生成的所有所述光照信息序列中获取所述目标光照探针对应的光照信息序列。

其中,所述根据所述特效光信息和所述排布位置,生成每个所述预设光照探针的光照信息序列,包括:

根据所述特效光信息和所述排布位置,生成每个所述预设光照探针在每个所述采样时间点的立方盒贴图,每个所述预设光照探针在不同的所述采样时间点对应不同的所述立方盒贴图;

对每个所述立方盒贴图进行球面谐波采样处理,得到对应的球谐光照信息集;

根据所述球谐光照信息集生成相应立方盒贴图对应的光照信息;

根据同一所述预设光照探针在不同所述采样时间点对应的所述光照信息,生成光照信息序列。

本申请实施例还提供了一种光照效果呈现装置,包括:

第一确定模块,用于确定移动游戏对象在目标虚拟场景中所处的当前时间点和当前位置;

第二确定模块,用于根据所述当前位置从多个预设光照探针中确定目标光照探针;

第三确定模块,用于根据所述当前时间点和所述目标光照探针确定目标光照信息;

呈现模块,用于根据所述目标光照信息对所述移动游戏对象进行光照效果呈现。

其中,所述目标虚拟场景包括演唱会场景,所述第一确定模块具体用于:

确定所述演唱会场景中当前播放音频的当前播放节点;

将所述当前播放节点作为所述移动游戏对象在所述演唱会场景中所处的当前时间点。

其中,还包括调整模块,用于:

在所述第一确定模块确定所述演唱会场景中当前播放音频的当前播放节点之前,显示所述当前播放音频对应的播放操作界面;

通过所述播放操作界面获取针对所述当前播放音频的进度调整操作;

根据所述进度调整操作对所述当前播放音频的播放节点进行调整。

其中,所述第二确定模块具体用于:

获取多个预设光照探针中每个所述预设光照探针的排布位置;

确定每个所述排布位置与所述当前位置之间的距离值;

将数值最小的所述距离值对应的所述预设光照探针,作为目标光照探针。

其中,所述第三确定模块具体用于:

获取所述目标光照探针对应的光照信息序列,得到目标光照信息序列,所述目标光照信息序列包括多帧按照时间顺序排列的光照信息;

从所述目标光照信息序列中获取所述当前时间点对应的所述光照信息,并将获取的所述光照信息作为目标光照信息。

其中,还包括生成模块,用于:

在获取所述目标光照探针对应的光照信息帧序列之前,获取所述目标虚拟场景中至少一个虚拟光源所在的位置、以及每个所述虚拟光源在多个采样时间点发出的特效光信息;

根据所述虚拟光源所在的位置以及所述目标虚拟场景,确定多个预设光照探针、以及每个所述预设光照探针的排布位置;

根据所述特效光信息和所述排布位置,生成每个所述预设光照探针的光照信息序列;

所述第三确定模块具体用于:从生成的所有所述光照信息序列中获取所述目标光照探针对应的光照信息序列。

其中,所述生成模块具体用于:

根据所述特效光信息和所述排布位置,生成每个所述预设光照探针在每个所述采样时间点的立方盒贴图,每个所述预设光照探针在不同的所述采样时间点对应不同的所述立方盒贴图;

对每个所述立方盒贴图进行球面谐波采样处理,得到对应的球谐光照信息集;

根据所述球谐光照信息集生成相应立方盒贴图对应的单帧光照信息;

根据同一所述预设光照探针在不同所述采样时间点对应的所述光照信息,生成光照信息序列。

本申请实施例还提供了一种计算机可读存储介质,存储介质中存储有多条指令,指令适于由处理器加载以执行上述任一项光照效果呈现方法。

本申请实施例还提供了一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一项光照效果呈现方法中的步骤。

本申请提供的光照效果呈现方法、装置、存储介质及计算机设备,通过确定移动游戏对象在目标虚拟场景中所处的当前时间点和当前位置,并根据该当前位置从多个预设光照探针中确定目标光照探针,之后根据该当前时间点和该目标光照探针确定目标光照信息,并根据该目标光照信息对该移动游戏对象进行光照效果呈现,从而能在演唱会场景中逼真的模拟出各种特效光在物体上的受光效果,避免造成舞台人物不受光的假象,丰富了舞台表现内容,提高了舞台展示效果。

附图说明

下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。

图1是本申请实施例提供的光照效果呈现方法的场景示意图;

图2是本申请实施例提供的光照效果呈现方法的流程示意图;

图3是本申请实施例提供的演唱会场景的界面展示示意图;

图4是本申请实施例提供的立方盒贴图的展示示意图;

图5是本申请实施例提供的另一光照效果呈现方法的流程示意图;

图6是本申请实施例提供的光照信息序列的生成过程示意图;

图7是本申请实施例提供的光照效果呈现装置的结构示意图;

图8是本申请实施例提供的光照效果呈现装置的另一结构示意图;

图9是本申请实施例提供的计算机设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例提供一种光照效果呈现方法、装置、存储介质及计算机设备。

请参阅图1,图1为本申请实施例提供的光照效果呈现方法的场景示意图,该光照效果呈现系统可以应用于计算机设备中,该计算机设备具体为服务器或终端,其中,服务器可以包括涉及演唱会场景呈现的游戏服务器,终端可以包括智能手机、平板电脑、游戏机等设备。

计算机设备可以确定移动游戏对象在目标虚拟场景中所处的当前时间点和当前位置;根据该当前位置从多个预设光照探针中确定目标光照探针;根据该当前时间点和该目标光照探针确定目标光照信息;根据该目标光照信息对该移动游戏对象进行光照效果呈现。

其中,目标虚拟场景主要包括一些涉及特效光光照的虚拟舞台场景,比如游戏中的演唱会场景。移动游戏对象可以包括动态对象和短时间的静态对象,其可以是人物、动物等。光照探针(预设光照探针和目标光照探针)是基于光照探测技术来实现,其提供了一种捕捉并使用光照穿过真空区域时相关信息的方式,存储的是灯光穿过真空区域时的信息。预设光照探针的排布位置和数量通常是提前设定好的。目标光照信息帧是指目标光照探针中存储的当前时间点的所有特效光的灯光信息。

比如请参见图1,计算机设备可以是移动终端,当用户进入终端游戏中的演唱会界面,进入演唱会场景时,假设演唱会场景中出现了玩家A,则可以将玩家A作为移动游戏对象,在玩家A不断移动的过程中,特效光(比如光柱)可以在玩家A身上实时呈现,比如,实时根据玩家A在演唱会场景中的移动位置从提前设定好的多个预设光照探针中确定距离当前移动位置最近的那个光照探针,作为目标光照探针,并获取提前设定好的目标光照探针在当前移动时间点的特效光信息(也即目标光照信息),之后模拟该特效光照射到玩家A身上的画面呈现效果,比如使玩家A的部分身体表面(比如上半身)由自然肤色变为红色。

如图2所示,图2是本申请实施例提供的光照效果呈现方法的流程示意图,该光照效果呈现方法应用于计算机设备,具体流程可以如下:

S101.确定移动游戏对象在目标虚拟场景中所处的当前时间点和当前位置。

其中,目标虚拟场景主要包括一些涉及特效光光照的虚拟舞台场景,比如游戏中的演唱会场景。移动游戏对象可以包括动态对象和短时间的静态对象,其可以是人物、动物等,移动游戏对象可以是游戏中提前设定好的出场对象,也可以是用户玩家控制的游戏对象。

具体的,当目标虚拟场景为演唱会场景时,上述步骤“确定移动游戏对象在目标虚拟场景中所处的当前时间点”,包括:

确定该演唱会场景中当前播放音频的当前播放节点;

将该当前播放节点作为该移动游戏对象在该演唱会场景中所处的当前时间点。

其中,当前播放音频可以是本地库或用户自制的歌曲和乐曲,也可以是在线音频资源,播放节点主要指音频播放时的播放进度,其可以是已播放时长和总播放时长的比值。播放进度通常可由用户根据自身需求随意调整,也即,在确定该演唱会场景中当前播放音频的当前播放节点之前,该光照效果呈现方法还可以包括:

显示该当前播放音频对应的播放操作界面;

通过该播放操作界面获取针对该当前播放音频的进度调整操作;

根据该进度调整操作对该当前播放音频的播放节点进行调整。

其中,播放操作界面上可以显示与当前播放音频有关的内容,比如名称、演唱者、作曲者等基本信息,以及进度控制条、播放按钮或者暂停按钮等等。进度调整操作可以是用户可通过手动、语音或者手势等方式拖动进度控制条上的滑块移动,比如前进或者后退或者暂停等,从而改变音频的播放进度。

S102.根据该当前位置从多个预设光照探针中确定目标光照探针。

其中,光照探针(预设光照探针和目标光照探针)是基于光照探测技术来实现,主要用途是为场景中的运动物体提供高质量的光照,其提供了一种捕捉并使用光照穿过真空区域时相关信息的方式,存储的是灯光穿过真空区域时的信息。由于距离移动游戏对象越近的光照探针,对物体造成的受光效果越明显,故目标光照探针通常为距离移动游戏对象最近的那个光照探针,当然,为尽可能体现出物体受光真实性,目标光照探针还可以是多个光照探针,比如可以是与移动游戏对象之间的相隔距离在阈值范围内的所有光照探针。

在一实施方式中,上述步骤S102具体可以包括:

获取多个预设光照探针中每个该预设光照探针的排布位置;

确定每个该排布位置与该当前位置之间的距离值;

将数值最小的该距离值对应的该预设光照探针,作为目标光照探针。

其中,预设光照探针的排布位置和数量通常是提前设定好的,用户可以提前根据场景中虚拟光源(比如虚拟舞台灯)的位置和移动对象的主要出现区域设置预设光照探针的数量和排布位置。

S103.根据该当前时间点和该目标光照探针确定目标光照信息。

其中,目标光照信息是指目标光照探针中存储的当前时间点的所有特效光的灯光信息,其可以帧的形式存储。

在一实施方式中,上述步骤S103具体可以包括:

获取该目标光照探针对应的光照信息序列,得到目标光照信息序列,该目标光照信息序列包括多帧按照时间顺序排列的光照信息;

从该光照信息序列中获取该当前时间点对应的该光照信息,并将获取的该光照信息作为目标光照信息。

其中,光照信息序列主要包括跟随采样时间点变化的多帧光照信息,每一采样时间点对应一帧光照信息,相当于目标光照探针的特效光时序变化资产。当前时间点和采样时间点可以认为是游戏开始后系统计时器记录的时间,对于演唱会场景来说,可以是歌曲播放节点,比如歌曲的三分之一或者十分之三等。当存在与当前时间点一样的采样时间点时,可以将该采样时间点的光照信息作为目标光照信息,当不存在与当前时间点一样的采样时间点时,可以将当前时间点之前的最近一个采样时间点处的光照信息作为目标光照信息。实际应用时,需要提前设置好每个预设光照探针的光照信息序列,也即,在上述步骤“获取该目标光照探针对应的光照信息序列”之前,该光照效果呈现方法还可以包括:

1-1.获取该目标虚拟场景中至少一个虚拟光源所在的位置、以及每个该虚拟光源在多个采样时间点发出的特效光信息。

其中,采样时间点和特效光信息一般是提前设定好的,采样时间点可以包括固定时间间隔的多个时间点,和/或特效光发生变化的变化节点。特效光信息可以包括特效光的颜色值、发光强度、光束大小、照射角度(主要针对可转动的虚拟光源)等参数。

需要说明的是,对于演唱会场景,不同的音频可以设置不同的采样时间点和特效光信息,通常情况下,采样时间点的间隔时长和采样频率是密切相关的,采样频率越高,则相邻采样时间点的间隔时长越短,特效光的变化频率越快,同一音频在不同采样时间点处也可以对应不同特效光信息。采样频率(或特效光的变化频率)和特效颜色可以跟随音乐的节奏和曲风来设置,比如对于摇滚等重金属风格,特效光的总体变化频率可以较快,颜色可以较亮,对于民谣等轻快风格,特效光的总体变化频率可以较慢,颜色可以较柔和,而在同一首音乐中,可以进一步根据节奏来调整特效光的变化频率,比如对于节奏紧凑的部分,变化频率可以较快,对于节奏缓慢的部分,变化频率可以较慢,等等。

1-2.根据该虚拟光源所在的位置以及该目标虚拟场景,确定多个预设光照探针、以及每个该预设光照探针的排布位置。

其中,虚拟光源可以是多个,主要包括用于模拟真实舞台场景中特效光照射的虚拟灯,比如模拟演唱会场景中光柱、霓虹等特效的虚拟舞台灯。预设光照探针的数量和排布位置可以是人为设计,通常情况下,可以在虚拟光源比较密集,或者移动对象的主要活动区域设置比较多的预设光照探针,在虚拟光源比较稀疏,或者移动对象不怎么去的区域设置比较少的预设光照探针,比如,请参见图3,对于某个演唱会模拟游戏,对于舞台灯布置比较密集的区域或者主要活动区域M,可以设置多一点预设光照探针,对于没有布置舞台灯的区域,或者剩下的活动区域N,可以少设置甚至不设置预设光照探针。

预设光照探针的数量和排布位置也可以是通过深度学习模型来自动设计,比如针对一些涉及特效光的不同场景类型,用户可以提前基于大量样本场景中的虚拟光源和活动区域情况,训练相应的光照探针学习模型,之后,通过具体场景对应的学习模型和场景布置情况,来确定实际光照探针的数量和排布位置。

1-3.根据该特效光信息和该排布位置,生成每个该预设光照探针的光照信息序列。

其中,对于演唱会场景来说,特效光通常是不断变化的,不同时间工作的虚拟舞台灯可能不同,同一虚拟舞台灯在不同时间的工作情况(比如发射的特效光、灯旋转角度)可能也不同,从而我们可以根据设计好的虚拟舞台灯的布置位置和特效光变化情况,制作每个光照探针的特效光时序变化资产(光照信息序列),也即每个光照探针所发射出的特效光随时间变化的信息。

此时,上述步骤“获取该目标光照探针对应的光照信息序列”具体包括:从生成的所有该光照信息序列中获取该目标光照探针对应的光照信息序列。

当然,由于不同的音频对应不同的特效信息,因此,在制作好每个光照探针的特效光时序变化资产(也即建立了光照探针与特效光时序变化资产)后,还需将该变化资产与音频之间建立关联,后续可以基于目标音频和目标光照探针获取对应的特效光时序变化资产,也即,进一步地,上述步骤“从生成的所有该光照信息序列中获取该目标光照探针对应的光照信息序列”包括:从生成的所有该光照信息序列中获取该目标光照探针和目标音频对应的光照信息序列。实际操作过程中,用户可以从本地库或者线上选取自己想要演唱的音频作为目标音频。在一实施方式中,上述步骤1-3可以包括:

1-3-1.根据该特效光信息和该排布位置,确定每个该预设光照探针在每个该采样时间点的立方盒贴图,每个该预设光照探针在不同的该采样时间点对应不同的该立方盒贴图。

其中,立方盒(Cubemap)贴图实质上是一种3D纹理映射,它是由6个单独的二维纹理组成,每个二维纹理是立方盒的一个面,立方盒的中心点位置是预设光照探针的排布位置,立方盒贴图描述了以预设光照探针为中心的一个立方体所受的光照情况,比如,请参见图4,图4展示了某个预设光照探针的立方盒贴图,总共包括6个面A1-A6,每个面上都有相应的纹理像素,6个面可以拼接成一个正方体。立方盒贴图的采样通过一个3D向量(比如(s,t,r))作为纹理坐标,这个3D向量只作为方向向量使用,OpenGL(Open Graphics Library,开放图形库)获取方向向量触碰到立方盒表面上的相应的纹理像素作为采样结果,得到立方盒贴图。

1-3-2.对每个该立方盒贴图进行球面谐波采样处理,得到对应的球谐光照信息集。

1-3-3.根据该球谐光照信息集生成相应立方盒贴图对应的光照信息。

其中,球面谐波采样是基于球谐光照技术实现,通常,球谐光照需要使用新的光照方程来替代常用的光照方程,并将该方程中的相关信息使用球谐基函数来投影到频度空间,并用系数进行表示,也即球面谐波采样相当于用新的光照方程对常规光照方程得到的立方盒贴图上的每个纹理像素进行转换,得到球谐光照信息,并基于各个纹理像素的位置将同一立方盒贴图对应的所有球谐光照信息整合成一帧光照信息。

1-3-4.根据同一该预设光照探针在不同该采样时间点对应的该光照信息,生成光照信息序列。

其中,光照信息序列是按照采样时间点的先后顺序对同一预设光照探针的所有光照信息整合得到,每一个预设光照探针对应一个光照信息序列。

S104.根据该目标光照信息对该移动游戏对象进行光照效果呈现。

在一实施方式中,上述步骤S104具体可以包括:

确定该移动游戏对象对应的虚拟物体模型;

根据该目标光照信息确定该虚拟物体模型接受特效光照射后的受光反馈信息;

根据该受光反馈信息和该虚拟物体模型,在该目标虚拟场景中显示该移动游戏对象。

其中,虚拟物体模型通常是三维模型,受光反馈信息主要包括呈现在物体表面上的特效光的颜色、亮度和覆盖范围等内容。可以根据受光反馈信息和虚拟物体模型本身的显示信息来确定移动游戏对象最终呈现在游戏画面中的显示图像。

由上述可知,本实施例提供的光照效果呈现方法,通过确定移动游戏对象在目标虚拟场景中所处的当前时间点和当前位置,并根据该当前位置从多个预设光照探针中确定目标光照探针,之后根据该当前时间点和该目标光照探针确定目标光照信息,并根据该目标光照信息对该移动游戏对象进行光照效果呈现,从而能在演唱会场景中逼真的模拟出各种特效光在物体上的受光效果,避免造成舞台人物不受光的假象,丰富了舞台表现内容,提高了舞台展示效果。

在上述实施例的基础上,本实施例将以目标虚拟场景为演唱会场景为例,对光照效果呈现方法进行进一步介绍。请参见图5,一种光照效果呈现方法,包括以下步骤:

S201.获取演唱会场景中至少一个虚拟光源所在的位置、以及每个该虚拟光源在多个采样时间点发出的特效光信息。

S202.根据该虚拟光源所在的位置以及该演唱会场景,确定多个预设光照探针、以及每个该预设光照探针的排布位置。

比如,在图6中,某个虚拟演唱会场景上共需要布置7个舞台灯,这些舞台灯可以包括顶排灯、脚灯和泛光灯等类型,主要活动区域为麦克风周边区域M,针对这种场景,可以布置n个预设光照探针Q1~Q n,并且大部分预设光照探针都集中在M区。

S203.根据该特效光信息和该排布位置,确定每个该预设光照探针在每个该采样时间点的立方盒贴图,每个该预设光照探针在不同的该采样时间点对应不同的该立方盒贴图。

S204.对每个该立方盒贴图进行球面谐波采样处理,得到对应的球谐光照信息集,并根据该球谐光照信息集生成相应立方盒贴图对应的光照信息,之后根据同一该预设光照探针在不同该采样时间点对应的该光照信息,生成光照信息序列。

比如,对于预设光照探针Q5,可以生成其在每个采样时间点(比如t1~tm)的立方盒贴图,也即对于每个预设光照探针,均需要生成m个立方盒贴图,则总共要生成n*m个立方盒贴图,生成n个光照信息序列。

S205.确定该演唱会场景中当前播放音频的当前播放节点,将其作为当前时间点,并确定移动游戏对象在演唱会场景中所处的当前位置。

S206.确定每个该排布位置与该当前位置之间的距离值,并将数值最小的该距离值对应的该预设光照探针,作为目标光照探针。

比如,假设演唱会场景中出现了移动游戏对象A,则移动游戏对象用户可以通过显示界面上的功能按键,操控移动游戏对象A在演唱会场景中移动,且在移动游戏对象A不断移动的过程中,特效光(比如光柱)可以在移动游戏对象A上实时呈现,相应的目标光照探针也会发生变化,比如对于t3时刻,移动游戏对象A移动到位置a,得到与该位置距离最近的目标光照探针Q9;t4时刻,移动到位置b,得到目标光照探针Q3。

S207.获取该目标光照探针对应的该光照信息序列,得到目标光照信息序列,并从该光照信息序列中获取该当前时间点对应的该光照信息,作为目标光照信息。

S208.根据该目标光照信息对该移动游戏对象进行光照效果呈现。

比如,根据目标光照探针Q9和时间t3得到的目标光照信息帧为h3,则可以综合h3和移动游戏对象A本身的显示信息来确定演唱会场景中移动游戏对象A的显示画面,比如经Q9照射后,移动游戏对象A的部分身体表面由自然肤色变为红色。

在上述实施例的基础上,本实施例将从光照效果呈现装置的角度进一步进行描述,请参阅图7,图7具体描述了本申请实施例提供的光照效果呈现装置,其可以包括:第一确定模块10、第二确定模块20、第三确定模块30和呈现模块40,其中:

(1)第一确定模块10

第一确定模块10,用于确定移动游戏对象在目标虚拟场景中所处的当前时间点和当前位置。

其中,目标虚拟场景主要包括一些涉及特效光光照的虚拟舞台场景,比如游戏中的演唱会场景。移动游戏对象可以包括动态对象和短时间的静态对象,其可以是人物、动物等,移动游戏对象可以是游戏中提前设定好的出场对象,也可以是用户玩家控制的游戏对象。

在一些实施例中,当目标虚拟场景为演唱会场景时,上述第一确定模块10具体用于:

确定该演唱会场景中当前播放音频的当前播放节点;

将该当前播放节点作为该移动游戏对象在该演唱会场景中所处的当前时间点。

其中,当前播放音频可以是本地库或用户自制的歌曲和乐曲,也可以是在线音频资源,播放节点主要指音频播放时的播放进度,其可以是已播放时长和总播放时长的比值。播放进度通常可由用户根据自身需求随意调整,也即,请参见图8,该光照效果呈现装置还可以包括在调整模块50,用于:

在该第一确定模块10确定该演唱会场景中当前播放音频的当前播放节点之前,显示该当前播放音频对应的播放操作界面;

通过该播放操作界面获取针对该当前播放音频的进度调整操作;

根据该进度调整操作对该当前播放音频的播放节点进行调整。

其中,播放操作界面上可以显示与当前播放音频有关的内容,比如名称、演唱者、作曲者等基本信息,以及进度控制条、播放按钮或者暂停按钮等等。进度调整操作可以是用户可通过手动、语音或者手势等方式拖动进度控制条上的滑块移动,比如前进或者后退或者暂停等,从而改变音频的播放进度。

(2)第二确定模块20

第二确定模块20,用于根据该当前位置从多个预设光照探针中确定目标光照探针。

其中,光照探针(预设光照探针和目标光照探针)是基于光照探测技术来实现,主要用途是为场景中的运动物体提供高质量的光照,其提供了一种捕捉并使用光照穿过真空区域时相关信息的方式,存储的是灯光穿过真空区域时的信息。由于距离移动游戏对象越近的光照探针,对物体造成的受光效果越明显,故目标光照探针通常为距离移动游戏对象最近的那个光照探针,当然,为尽可能体现出物体受光真实性,目标光照探针还可以是多个光照探针,比如可以是与移动游戏对象之间的相隔距离在阈值范围内的所有光照探针。

在一实施方式中,该第二确定模块20具体用于:

获取多个预设光照探针中每个该预设光照探针的排布位置;

确定每个该排布位置与该当前位置之间的距离值;

将数值最小的该距离值对应的该预设光照探针,作为目标光照探针。

其中,预设光照探针的排布位置和数量通常是提前设定好的,用户可以提前根据场景中虚拟光源(比如虚拟舞台灯)的位置和移动对象的主要出现区域设置预设光照探针的数量和排布位置。

(3)第三确定模块30

第三确定模块30,用于根据该当前时间点和该目标光照探针确定目标光照信息。

其中,目标光照信息是指目标光照探针中存储的当前时间点的所有特效光的灯光信息,其可以帧的形式存储。

在一实施方式中,该第三确定模块30具体用于:

获取该目标光照探针对应的光照信息序列,得到目标光照信息序列,该目标光照信息序列包括多个按照时间顺序排列的光照信息;

从该目标光照信息序列中获取该当前时间点对应的该光照信息,并将获取的该光照信息作为目标光照信息。

其中,光照信息序列主要包括跟随采样时间点变化的多帧光照信息,每一采样时间点对应一帧光照信息,相当于目标光照探针的特效光时序变化资产。当前时间点和采样时间点可以认为是游戏开始后系统计时器记录的时间,对于演唱会场景来说,可以是歌曲播放节点,比如歌曲的三分之一或者十分之三等。当存在与当前时间点一样的采样时间点时,可以将该采样时间点的光照信息作为目标光照信息,当不存在与当前时间点一样的采样时间点时,可以将当前时间点之前的最近一个采样时间点处的光照信息作为目标光照信息。

实际应用时,需要提前设置好每个预设光照探针的光照信息序列,也即,请继续参见图8,该光照效果呈现装置还包括生成模块60,用于:

1-1.在第三确定模块30获取该目标光照探针对应的光照信息序列之前,获取该目标虚拟场景中至少一个虚拟光源所在的位置、以及每个该虚拟光源在多个采样时间点发出的特效光信息。

其中,采样时间点和特效光信息一般是提前设定好的,其可以包括固定时间间隔的多个时间点,和/或特效光发生变化的变化节点。特效光信息可以包括特效光的颜色值、发光强度、光束大小、照射角度(主要针对可转动的虚拟光源)等参数。

需要说明的是,对于演唱会场景,不同的音频可以设置不同的采样时间点和特效光信息,通常情况下,采样时间点的间隔时长和采样频率是密切相关的,采样频率越高,则相邻采样时间点的间隔时长越短,特效光的变化频率越快,同一音频在不同采样时间点处也可以对应不同特效光信息。采样频率(或特效光的变化频率)和特效颜色可以跟随音乐的节奏和曲风来设置,比如对于摇滚等重金属风格,特效光的总体变化频率可以较快,颜色可以较亮,对于民谣等轻快风格,特效光的总体变化频率可以较慢,颜色可以较柔和,而在同一首音乐中,可以进一步根据节奏来调整特效光的变化频率,比如对于节奏紧凑的部分,变化频率可以较快,对于节奏缓慢的部分,变化频率可以较慢,等等。

1-2.根据该虚拟光源所在的位置以及该目标虚拟场景,确定多个预设光照探针、以及每个该预设光照探针的排布位置。

其中,虚拟光源可以是多个,主要包括用于模拟真实场景中特效光照射的虚拟灯,比如模拟演唱会场景中光柱、霓虹等特效的虚拟舞台灯。预设光照探针的数量和排布位置可以是人为设计,通常情况下,可以在虚拟光源比较密集,或者移动对象的主要活动区域设置比较多的预设光照探针,在虚拟光源比较稀疏,或者移动对象不怎么去的区域设置比较少的预设光照探针,比如,请参见图3,对于某个演唱会模拟游戏,对于舞台灯布置比较密集的区域或者主要活动区域M,可以设置多一点预设光照探针,对于没有布置舞台灯的区域,或者剩下的活动区域N,可以少设置甚至不设置预设光照探针。

预设光照探针的数量和排布位置也可以是通过深度学习模型来自动设计,比如针对一些涉及特效光的不同场景类型,用户可以提前基于大量样本场景中的虚拟光源和活动区域情况,训练相应的光照探针学习模型,之后,通过具体场景对应的学习模型和场景布置情况,来确定实际光照探针的数量和排布位置。

1-3.根据该特效光信息和该排布位置,生成每个该预设光照探针的光照信息序列。

其中,对于演唱会场景来说,特效光通常是不断变化的,不同时间工作的虚拟舞台灯可能不同,同一虚拟舞台灯在不同时间的工作情况(比如发射的特效光、灯旋转角度)可能也不同,从而我们可以根据设计好的虚拟舞台灯的布置位置和特效光变化情况,制作每个光照探针的特效光时序变化资产(光照信息序列),也即每个光照探针所发射出的特效光随时间变化的信息。

此时,第三确定模块30具体用于:从生成的所有该光照信息序列中获取该目标光照探针对应的光照信息序列。

当然,由于不同的音频对应不同的特效信息,因此,在制作好每个光照探针的特效光时序变化资产(也即建立了光照探针与特效光时序变化资产)后,还需将该变化资产与音频之间建立关联,后续可以基于目标音频和目标光照探针获取对应的特效光时序变化资产,也即,进一步地,上述步骤“从生成的所有该光照信息序列中获取该目标光照探针对应的光照信息序列”包括:从生成的所有该光照信息序列中获取该目标光照探针和目标音频对应的光照信息序列。实际操作过程中,用户可以从本地库或者线上选取自己想要演唱的音频作为目标音频。

在一实施方式中,在执行上述步骤1-3时,生成模块60具体可以用于:

1-3-1.根据该特效光信息和该排布位置,确定每个该预设光照探针在每个该采样时间点的立方盒贴图,每个该预设光照探针在不同的该采样时间点对应不同的该立方盒贴图。

其中,立方盒(Cubemap)贴图实质上是一种3D纹理映射,它是由6个单独的二维纹理组成,每个二维纹理是立方盒的一个面,立方盒的中心点位置是预设光照探针的排布位置,立方盒贴图描述了以预设光照探针为中心的一个立方体所受的光照情况,比如,请参见图4,图4展示了某个预设光照探针的立方盒贴图,总共包括6个面A1-A6,每个面上都有相应的纹理像素,6个面可以拼接成一个正方体。立方盒贴图的采样通过一个3D向量(比如(s,t,r))作为纹理坐标,这个3D向量只作为方向向量使用,OpenGL(Open Graphics Library,开放图形库)获取方向向量触碰到立方盒表面上的相应的纹理像素作为采样结果,得到立方盒贴图。

1-3-2.对每个该立方盒贴图进行球面谐波采样处理,得到对应的球谐光照信息集。

1-3-3.根据该球谐光照信息集生成相应立方盒贴图对应的光照信息。

其中,球面谐波采样是基于球谐光照技术实现,通常,球谐光照需要使用新的光照方程来替代常用的光照方程,并将该方程中的相关信息使用球谐基函数来投影到频度空间,并用系数进行表示,也即球面谐波采样相当于用新的光照方程对常规光照方程得到的立方盒贴图上的每个纹理像素进行转换,得到球谐光照信息,并基于各个纹理像素的位置将同一立方盒贴图对应的所有球谐光照信息整合成一帧光照信息。

1-3-4.根据同一该预设光照探针在不同该采样时间点对应的该光照信息,生成光照信息序列。

其中,光照信息序列是按照采样时间点的先后顺序对同一预设光照探针的所有光照信息整合得到,每一个预设光照探针对应一个光照信息序列。

(4)呈现模块40

呈现模块40,用于根据该目标光照信息对该移动游戏对象进行光照效果呈现。

在一实施方式中,该呈现模块40具体用于:

确定该移动游戏对象对应的虚拟物体模型;

根据该目标光照信息确定该虚拟物体模型接受特效光照射后的受光反馈信息;

根据该受光反馈信息和该虚拟物体模型,在该目标虚拟场景中显示该移动游戏对象。

其中,虚拟物体模型通常是三维模型,受光反馈信息主要包括呈现在物体表面上的特效光的颜色、亮度和覆盖范围等内容。可以根据受光反馈信息和虚拟物体模型本身的显示信息来确定移动游戏对象最终呈现在游戏画面中的显示图像。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

由上可知,本实施例提供的光照效果呈现装置,通过第一确定模块10确定移动游戏对象在目标虚拟场景中所处的当前时间点和当前位置,第二确定模块20根据该当前位置从多个预设光照探针中确定目标光照探针,之后第三确定模块30根据该当前时间点和该目标光照探针确定目标光照信息,呈现模块40根据该目标光照信息对该移动游戏对象进行光照效果呈现,从而能在演唱会场景中逼真的模拟出各种特效光在物体上的受光效果,避免造成舞台人物不受光的假象,丰富了舞台表现内容,提高了舞台展示效果。

相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机、个人数字助理(Personal Digital Assistant,PDA)等设备。如图9所示,图9为本申请实施例提供的计算机设备的结构示意图。该计算机设备400包括有一个或者一个以上处理核心的处理器401、有一个或一个以上计算机可读存储介质的存储器402及存储在存储器402上并可在处理器上运行的计算机程序。其中,处理器401与存储器402电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

处理器401是计算机设备400的控制中心,利用各种接口和线路连接整个计算机设备400的各个部分,通过运行或加载存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备400的各种功能和处理数据,从而对计算机设备400进行整体监控。

在本申请实施例中,计算机设备400中的处理器401会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能:

确定移动游戏对象在目标虚拟场景中所处的当前时间点和当前位置;

根据该当前位置从多个预设光照探针中确定目标光照探针;

根据该当前时间点和该目标光照探针确定目标光照信息;

根据该目标光照信息对该移动游戏对象进行光照效果呈现。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

可选的,如图9所示,计算机设备400还包括:触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407。其中,处理器401分别与触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407电性连接。本领域技术人员可以理解,图9中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

触控显示屏403可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏403可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器401,并能接收处理器401发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器401以确定触摸事件的类型,随后处理器401根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏403而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏403也可以作为输入单元406的一部分实现输入功能。

在本申请实施例中,通过处理器401执行游戏应用程序在触控显示屏403上生成虚拟三维场景的画面,该画面中包括图形用户界面(UI界面),该图形用户界面中包括第二空间方位指示器,该第二空间方位指示器上显示了目标对象所对应的空间方位标识,该空间方位标识用于标示目标对象所在的方位。

该触控显示屏403可以用于呈现虚拟三维场景的画面,以及图形用户界面并接收用户作用于图形用户界面产生的操作指令。

射频电路404可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。

音频电路405可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路405可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路405接收后转换为音频数据,再将音频数据输出处理器401处理后,经射频电路404以发送给比如另一计算机设备,或者将音频数据输出至存储器402以便进一步处理。音频电路405还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。

输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

电源407用于给计算机设备400的各个部件供电。可选的,电源407可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源407还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管图9中未示出,计算机设备400还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种光照效果呈现方法中的步骤。例如,该计算机程序可以执行如下步骤:

确定移动游戏对象在目标虚拟场景中所处的当前时间点和当前位置;

根据该当前位置从多个预设光照探针中确定目标光照探针;

根据该当前时间点和该目标光照探针确定目标光照信息;

根据该目标光照信息对该移动游戏对象进行光照效果呈现。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种光照效果呈现方法中的步骤,因此,可以实现本申请实施例所提供的任一种光照效果呈现方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种光照效果呈现方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上该,本说明书内容不应理解为对本申请的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号