CN117132702A - 游戏的光影数据处理方法、装置以及游戏设备 - Google Patents

游戏的光影数据处理方法、装置以及游戏设备 Download PDF

Info

Publication number
CN117132702A
CN117132702A CN202310856806.XA CN202310856806A CN117132702A CN 117132702 A CN117132702 A CN 117132702A CN 202310856806 A CN202310856806 A CN 202310856806A CN 117132702 A CN117132702 A CN 117132702A
Authority
CN
China
Prior art keywords
illumination angle
preset
game
intensity data
action intensity
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.)
Pending
Application number
CN202310856806.XA
Other languages
English (en)
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202310856806.XA priority Critical patent/CN117132702A/zh
Publication of CN117132702A publication Critical patent/CN117132702A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • 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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6646Methods for processing data by generating or executing the game program for rendering three dimensional images for the computation and display of the shadow of an object or character
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B20/00Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
    • Y02B20/40Control techniques providing energy savings, e.g. smart controller or presence detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开提供了一种游戏的光影数据处理方法、装置以及游戏设备,涉及游戏技术领域,缓解了房屋内光影效果不友好的技术问题。该方法包括:响应所述虚拟对象进入房屋内的操作,获取当前光照角度以及多个预设光照角度,每个所述预设光照角度对应有预设间接光作用强度数据;根据所述当前光照角度与每个所述预设光照角度的角度差,以及每个所述预设光照角度的间接光作用强度数据,确定所述当前光照角度的间接光作用强度数据;基于所述当前光照角度的间接光作用强度数据,确定所述房屋内的游戏画面,从而基于房屋在太阳不同位置的间接光作用强度数据,提升间接光照效果,增强整体房子的明暗对比,提升了房屋内光影效果的友好度。

Description

游戏的光影数据处理方法、装置以及游戏设备
相关申请的交叉引用
本公开为于2020年04月08日提交中国国家知识产权局的申请号为202010272017.8、名称为“游戏的光影数据处理方法、装置以及游戏设备”的中国专利申请的分案申请。
技术领域
本公开涉及游戏技术领域,尤其是涉及一种游戏的光影数据处理方法、装置以及游戏设备。
背景技术
对于游戏而言,游戏场景的表现力较为重要。因为最开始展现给玩家的不是游戏玩法本身,而是游戏画面中的游戏场景给予的视觉表现。游戏场景可以包括:虚拟空间、虚拟物体、虚拟人物以及虚拟物体和虚拟人物通过光照产生的阴影等。
现实中,房子可谓是人物一生中非常重要的一个东西,游戏里也不例外,玩家对自己所在的游戏世界的期望之一就是有许多许多好看的房子供选择,例如游戏中玩家自己的家园系统。
对于房屋,由于本身模型细节比较多,玩家处于房屋内后,光影效果一直不是很友好,比如,有时偏暗或偏亮,使得屋内模型显示不清晰。
发明内容
本发明的目的在于提供一种游戏的光影数据处理方法、装置以及游戏设备,以解决房屋内光影效果不友好的技术问题。
第一方面,本公开实施例提供了一种游戏的光影数据处理方法。应用于游戏设备,所述游戏的三维游戏场景中包括虚拟对象,所述方法包括:
响应所述虚拟对象进入房屋内的操作,获取当前光照角度以及多个预设光照角度,每个所述预设光照角度对应有预设间接光作用强度数据;
根据所述当前光照角度与每个所述预设光照角度的角度差,以及每个所述预设光照角度的间接光作用强度数据,确定所述当前光照角度的间接光作用强度数据;
基于所述当前光照角度的间接光作用强度数据,确定所述房屋内的游戏画面。
在一个可选的实现中,上述预设光照角度为三个,三个所述预设光照角度对应一个预设光照贴图,所述预设光照贴图的三个通道分别用于存储一个所述预设光照角度对应有间接光作用强度数据;根据所述当前光照角度与每个所述预设光照角度的角度差,以及每个所述预设光照角度的间接光作用强度数据,确定所述当前光照角度的间接光作用强度数据的步骤,包括:
根据所述当前光照角度与每个所述预设光照角度的角度差,以及所述预设光照贴图,确定所述当前光照角度的光照贴图,所述当前光照角度的光照贴图用于存储当前光照角度的间接光作用强度数据。
在一个可选的实现中,上述间接光作用强度数据包括环境光与太阳光的作用强度的比值。
在一个可选的实现中,上述根据所述当前光照角度与每个所述预设光照角度的角度差,以及所述预设光照贴图,确定所述当前光照角度的光照贴图的步骤,包括:
根据所述当前光照角度与每个所述预设光照角度的角度差,确定与每个所述预设光照角度对应的权重;
基于每个所述预设光照角度对应的权重,对所述预设光照贴图中每个贴图像素点包括的三个所述预设光照角度的间接光作用强度数据进行加权求和,得到当前光照角度的光照贴图中每个贴图像素点的间接光作用强度数据。
在一个可选的实现中,上述基于所述当前光照角度的间接光作用强度数据,确定所述房屋内的游戏画面的步骤,包括:
确定待显示房屋内的游戏画面的每个屏幕像素的初始颜色;
基于每个所述屏幕像素点对应的当前光照角度的光照贴图中目标贴图像素点,获取每个所述屏幕像素的目标间接光作用强度数据;
将每个所述屏幕像素的初始颜色和所述屏幕像素的目标间接光作用强度数据相乘,得到每个所述屏幕像素的目标颜色。
在一个可选的实现中,上述将每个所述屏幕像素的初始颜色和所述屏幕像素的目标间接光作用强度数据相乘,得到每个所述屏幕像素的目标颜色的步骤,包括:
确定增强系数;
将每个所述屏幕像素的初始颜色、所述屏幕像素的目标间接光作用强度数据以及所述增强系数相乘,得到每个所述屏幕像素的目标颜色。
在一个可选的实现中,上述将每个所述屏幕像素的初始颜色和所述屏幕像素的目标间接光作用强度数据相乘,得到每个所述屏幕像素的目标颜色的步骤,包括:
基于所述房屋对应的阴影数据,确定阴影系数;
将每个所述屏幕像素的初始颜色、所述屏幕像素的目标间接光作用强度数据以及所述阴影系数相乘,得到每个所述屏幕像素的目标颜色。
在一个可选的实现中,上述预设光照贴图的一个通道用于存储亮灯系数;基于所述当前光照角度的间接光作用强度数据,确定所述房屋内的游戏画面的步骤,包括:
当所述游戏场景为夜晚时,获取所述亮灯系数以及灯光颜色参数;
基于所述当前光照角度的间接光作用强度数据、所述亮灯系数以及灯光颜色参数,确定所述房屋内的游戏画面。
第二方面,本公开实施例提供了一种游戏的光影数据处理装置。应用于游戏设备,所述游戏的三维游戏场景中包括虚拟对象,所述装置包括:
获取模块,用于响应所述虚拟对象进入房屋内的操作,获取当前光照角度以及多个预设光照角度,每个所述预设光照角度对应有预设间接光作用强度数据;
第一确定模块,用于根据所述当前光照角度与每个所述预设光照角度的角度差,以及每个所述预设光照角度的间接光作用强度数据,确定所述当前光照角度的间接光作用强度数据;
第二确定模块,用于基于所述当前光照角度的间接光作用强度数据,确定所述房屋内的游戏画面。
第三方面,本公开实施例又提供了一种游戏设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的第一方面所述方法。
第四方面,本公开实施例又提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述的第一方面所述方法。
本公开实施例带来了以下有益效果:
本公开实施例提供的一种游戏的光影数据处理方法、装置以及游戏设备,能够响应所述虚拟对象进入房屋内的操作,获取当前光照角度以及多个预设光照角度,每个所述预设光照角度对应有预设间接光作用强度数据;根据所述当前光照角度与每个所述预设光照角度的角度差,以及每个所述预设光照角度的间接光作用强度数据,确定所述当前光照角度的间接光作用强度数据;基于所述当前光照角度的间接光作用强度数据,确定所述房屋内的游戏画面,从而基于房屋在太阳不同位置的间接光作用强度数据,提升间接光照效果,增强整体房子的明暗对比,提升了房屋内光影效果的友好度。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种游戏的光影数据处理方法的流程示意图;
图2为本公开实施例提供的一种游戏的光影数据处理方法中基于偏移量进行偏移的效果示意图;
图3为本公开实施例提供的一种游戏的光影数据处理方法中基于距离进行缩放的效果示意图;
图4为本公开实施例提供的一种游戏的光影数据处理方法中基于视场角进行缩放的效果示意图;
图5为本公开实施例提供的另一种游戏的光影数据处理方法的流程示意图;
图6示出了房屋向光面效果的示意图;
图7示出了房屋背光面效果的示意图;
图8示出了房屋向光面整合到具体房屋中的最终效果的示意图;
图9示出了房屋背光面整合到具体房屋中的最终效果的示意图;
图10提供了一种游戏的光影数据处理装置的结构示意图;
图11提供了另一种游戏的光影数据处理装置的结构示意图;
图12为示出了本公开实施例所提供的一种游戏设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合附图对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
目前的终端游戏一般都是静态场景。其基本流程包括:预先制作一个静态场景,然后通过离线烘焙的方式,预先烘焙出整个场景的光影数据,该光影数据可以指示静态物体在太阳光作用下产生的明暗数据,可以将这些光影数据存储在一系列的光照贴图(LightMap)中。在游戏运行时,通过采样这些光照贴图来展示场景里静态物体的光影效果。同时对于动态物体,会有一张小范围的阴影贴图(Shadow Map)来实时展示直接光和动态物体的交互效果。也就是说,目前一般的场景阴影构成分别由Light Map和Shadow Map提供,静态物体通过离线烘焙Light Map来预计算出高质量的阴影效果,动态物体则通过一张一定范围的Shadow Map来展现阴影效果。
但是,由于Light Map是固定太阳光方向后离线烘焙的,烘焙完后直接存储在贴图上并且不再变化,所以在太阳东升西落的时候不会有光影变化,影子也不会实时变化;同样由于Light Map是离线烘焙的,哪些地方有影子都是固定不变的,因此即使场景里物体移除了,对应那个物体投射在地面上的影子也不会去除;因为角色没有参与到场景烘焙,所以场景跟动态物体(例如角色)的交互丢失,比如树投射到角色身上那种斑驳的效果是无法实现的;由于存储的是一系列Light Map,随着场景越来越大,Light Map直接影响了包体的大小,导致包体大小不可控;虽然动态物体是有专门的阴影贴图来展示直接光和物体本身的效果,但是受限于阴影贴图分辨率,本身范围不是很大,远处动态物体就没有阴影了,降低了游戏体验。
为了解决上述问题,本公开实施例提供了一种游戏的光影数据处理方法、装置以及游戏设备,通过该方法可以解决难以平衡算力和场景中阴影效果的技术问题。
下面结合附图对本发明实施例进行进一步地介绍。
图1为本公开实施例提供的一种游戏的光影数据处理方法的流程示意图。其中,该方法可以应用于游戏设备,该游戏的三维游戏场景中包括虚拟对象。如图1所示,该方法包括:
S110,确定多个目标场景范围。
该多个目标场景范围可以根据实际需要来确定,每个目标场景范围的大小可以不同。例如,该目标场景范围可以为3个,该目标场景范围的横截面可以为10米、50米和150米的正方形。该多个目标场景范围可以为包含与被包含的关系,也可以为交叉关系。例如,150米对应的目标场景范围可以包含10米和50米对应的目标场景范围,50米对应的目标场景范围与10米对应的目标场景范围可以部分重叠。
该目标场景范围的位置可以根据虚拟对象所在的位置确定。例如,该目标场景范围可以以虚拟对象所在的位置为中心。
S120,生成与目标场景范围对应的场景阴影贴图。
其中,该多个目标场景范围可以包括第一目标场景范围和第二目标场景范围,该第一目标场景范围小于第二目标场景范围,该第一目标场景范围对应的第一阴影贴图的精度大于第二目标场景范围对应的第二阴影贴图的精度。
例如,每个目标场景范围对应的场景阴影贴图的分辨率可以是相同的,例如场景阴影贴图的大小可以为1024*1024。由于相同的分辨率分别用于指示不同的目标场景范围,所以指示的精度是不同的,指示的目标场景范围越小,指示的精度越大。
另外,该多个目标场景范围中范围连续的两个可以分别称为第一目标场景范围和第二目标场景范围。
该场景阴影贴图中的像素点可以用于存储像素点对应的目标场景范围中的位置的深度信息,该深度信息可以指模型与虚拟太阳所在位置的距离,换句话说就是在光照下,该场景阴影贴图用于记录物体的遮挡关系。在游戏场景中,光照为平行光;不同的光照范围相当于不同底面不同的多个长方体。
S130,根据多个目标场景范围的场景阴影贴图,按照每个场景阴影贴图的优先级,确定待显示游戏场景的游戏画面的光影数据,其中,场景阴影贴图的精度与优先级正相关。
在确定待显示游戏场景的游戏画面的光影数据时,需要在多个目标场景范围的场景阴影贴图中进行采样,得到阴影数据。由于多个目标场景范围可以包括相同的位置,对于该位置的阴影数据的采样,可以从精度最大的场景阴影贴图中进行采样。该优先级可以与目标场景范围关联,目标场景范围越大,优先级越低。
本发明实施例通过多层级场景阴影贴图来确定光影数据中的阴影数据,每个场景阴影贴图对应游戏场景中不同的空间范围,且范围小的精度高,从而可以在较近的视野范围内显示更精细的光影效果,在较远的视野范围显示较粗糙的光影效果,以此可以更好的平衡光影效果以及性能的关系。
可以按照边缘距离虚拟对象远、中、近设置三个目标场景范围,得到针对三个目标场景范围的三张场景阴影贴图,将距离虚拟对象最远的目标场景范围对应的场景阴影贴图的阴影精度设置为最低,距离虚拟对象较远的目标场景范围对应的场景阴影贴图的阴影精度设置为较低,距离虚拟对象最近的目标场景范围对应的场景阴影贴图的阴影精度设置为最高。
在一些实施例中,目标场景范围的确定方式可以包括多种,例如可以预先定义也可以根据游戏数据进行调整,下面结合具体示例进行详细描述。
作为一个示例,可以按照虚拟摄像机与虚拟对象的位置偏移量来对初始场景范围进行偏移,以便得到目标场景范围。基于此,上述步骤S110具体可以通过如下步骤实现:
步骤a),获取虚拟摄像机在三维游戏场景中的第一位置,以及虚拟对象在三维游戏场景中的第二位置;
步骤b),基于第二位置,获取第一初始场景范围;
步骤c),根据第一位置和第二位置,确定虚拟摄像机与虚拟对象的位置偏移量;
步骤d),按照位置偏移量移动第一初始场景范围得到第一目标场景范围。
对于上述步骤d),如图2所示,点A为虚拟对象在三维游戏场景中所在的第二位置,点B为虚拟摄像机在三维游戏场景中所在的第一位置,该第一初始场景范围211为基于第二位置获取到的,通过将第一初始场景范围211按照点A和点B之间的位置偏移量移动,得到第一目标场景范围212。通过按照虚拟摄像机与虚拟对象的位置偏移量来对初始场景范围进行偏移,能够使得到的目标场景范围更加精确。
作为另一个示例,可以基于虚拟摄像机与虚拟对象的距离来对初始场景范围进行缩放,以便得到目标场景范围。基于此,上述步骤S110具体可以通过如下步骤实现:
步骤e),获取虚拟摄像机在三维游戏场景中的第一位置,以及虚拟对象在三维游戏场景中的第二位置;
步骤f),根据第一位置和第二位置确定虚拟摄像机与虚拟对象的距离;
步骤g),基于第二位置,获取第一初始场景范围;
步骤h),基于距离,对第一初始场景范围进行缩放,得到第一目标场景范围。
对于上述步骤h),可以基于虚拟摄像机与虚拟对象之间的距离,对第一初始场景范围进行缩放。
例如,如图3所示,点C为虚拟对象在三维游戏场景中所在的第二位置,点D为虚拟摄像机在三维游戏场景中所在的第一位置。预设场景范围311为根据点C以及预设的预设场景范围的大小确定的。基于设置距离与缩放比例之间的对应关系确定,虚拟摄像机在位于点E时缩放系数为1,即没有进行缩放,该虚拟摄像机在位于点E时对应预设场景范围311,由于点E与点C的距离大于点D与点C的距离,所以点D对应的缩放系数小于1,即进行了缩小,通过将预设场景范围311按照点D对应的缩放系数,进行缩放,得到第一目标场景范围的初始场景范围312。
通过基于虚拟摄像机与虚拟对象之间的距离来对初始场景范围进行缩放,能够使缩放比例程度更加精确,以达到更加精确的目标场景范围。
作为另一个示例,还可以基于摄像机的当前摄像机视场角度来对初始场景范围进行缩放,以便得到目标场景范围。基于此,上述步骤S110具体可以通过如下步骤实现:
步骤i),获取虚拟摄像机在三维游戏场景中的第一位置,以及虚拟对象在三维游戏场景中的第二位置;
步骤j),获取虚拟摄像机的视场角;
步骤k),基于第二位置,获取第一初始场景范围;
步骤l),基于摄像机的当前摄像机视场角度,对第一初始场景范围进行缩放,得到第一目标场景范围。
对于上述步骤l),可以基于摄像机在当前时刻的摄像机视场角度,对第一初始场景范围进行缩放。
例如,如图4所示,点F为虚拟对象在三维游戏场景中所在的第二位置,点G为虚拟摄像机在三维游戏场景中所在的第一位置,预设场景范围411为根据点F以及预设的预设场景范围的大小确定的。基于视场角与缩放比例之间的对应关系确定虚拟摄像机的视场角为α时缩放系数为1,该视场角为α时对应预设场景范围411,由于视场角α大于视场角β,所以视场角β对应的缩放系数小于1,通过将预设场景范围411按照视场角β对应的缩放系数,进行缩放,得到第一目标场景范围的初始场景范围412。
通过基于摄像机在当前时刻的摄像机视场角度来对第一初始场景范围进行缩放,能够使缩放比例程度更加精确,以达到更加精确的目标场景范围。
另外,上述偏移与缩放还可以进行结合以实现目标场景范围的确定,下面结合具体示例进行详细描述。
作为一个示例,可以根据摄像机的视野方向来对初始场景范围进行偏移以便得到目标场景范围。基于此,上述步骤S110具体可以通过如下步骤实现:
步骤1.1),获取虚拟摄像机在三维游戏场景中的第一位置,以及虚拟对象在三维游戏场景中的第二位置;
步骤1.2),基于第二位置,获取第一目标场景范围的初始场景范围;
步骤1.3),根据第一位置和第二位置,确定虚拟摄像机与虚拟对象的位置偏移量;
步骤1.4),按照位置偏移量移动第一目标场景范围的初始场景范围得到第一目标场景范围。
对于上述步骤1.1),该第一位置以及第二位置可以虚拟摄像机以及虚拟对象在当前时刻所处的位置,该当前时刻可以是指待显示游戏场景的游戏画面所对应的时刻。
对于上述步骤1.2),该初始场景范围可以为预设的场景范围,也可以为基于游戏参数对预设的场景范围进行调整后得到的。
对于上述步骤1.3),该位置偏移量可以为虚拟摄像机与虚拟对象在水平方向上的偏移量。由于虚拟对象在三维游戏场景中是可以移动的,该虚拟摄像机会跟随虚拟对象进行移动。在移动过程中,用户未调整视野的前提下,虚拟摄像机与虚拟对象之间的位置可以是相对不变的。当用户调整视野后,该偏移量也会相应的产生变化。
对于上述步骤1.4),如图2所示,点A为虚拟对象所在的第二位置,点B为虚拟摄像机所在的第一位置,该初始场景范围211为根据点A以及预设的初始场景范围的大小确定的,通过将初始场景范围211按照点A和点B之间的偏移量,按照点B朝向点A的方向移动,得到第一目标场景范围212。该点B朝向点A的方向可以为虚拟摄像机在水平面上朝向虚拟对象的方向。
在本发明实施例中,可以仅对第一目标场景范围进行偏移,也可以是第一目标场景范围和第二目标场景范围均进行偏移。
在一些实施例中,上述步骤1.1)-步骤1.4)可以针对多个目标场景范围中最小的一个或多个。举例来说,该多个目标场景范围可以包括“大”、“中”以及“小”三个,其中,对于“中”和“小”可以通过上述步骤1.1)-步骤1.4)实现偏移,“大”不进行偏移;或者,对于“小”可以通过上述步骤1.1)-步骤1.4)实现偏移,“大”和“中”不进行偏移。
作为另一个示例,可以根据虚拟摄像机与虚拟对象距离的远近来对预设场景进行缩放得到初始场景范围。基于此,上述步骤1.2)具体可以通过如下步骤实现:
步骤2.1),根据第一位置和第二位置确定虚拟摄像机与虚拟对象的距离;
步骤2.2),基于第二位置,获取第一目标场景范围的预设场景范围;
步骤2.3),基于距离,对第一目标场景范围的预设场景范围进行缩放,得到第一目标场景范围的初始场景范围。
对于上述步骤2.1),该虚拟摄像机与虚拟对象的距离可以为第一位置和第二位置在三维游戏场景中的距离。
对于上述步骤2.2),可以预先设置第一目标场景范围的预设场景范围的大小,然后根据第二位置确定该预设场景范围的位置。
对于上述步骤2.3),可以预先设置距离与缩放比例之间的对应关系。可以基于该对应关系,以及第一位置和第二位置的距离确定缩放比例。
例如,如图3所示,点C为虚拟对象所在的第二位置,点D为虚拟摄像机所在的第一位置,该预设场景范围311为根据点C以及预设的预设场景范围的大小确定的。基于设置距离与缩放比例之间的对应关系确定,虚拟摄像机在位于点E时缩放系数为1,该虚拟摄像机在位于点E时对应预设场景范围311,由于点E与点C的距离大于点D与点C的距离,所以点D对应的缩放系数小于1,通过将预设场景范围311按照点D对应的缩放系数,进行缩放,得到第一目标场景范围的初始场景范围312。
作为另一个示例,可以根据虚拟摄像机的视场角来对预设场景进行缩放得到初始场景范围。基于此,上述步骤1.2)具体可以通过如下步骤实现:
步骤3.1),获取三维游戏场景中虚拟摄像机的视场角;
步骤3.2),基于第二位置,获取第一目标场景范围的预设场景范围;
步骤3.3),基于摄像机的当前摄像机视场角度,对第一目标场景范围的预设场景范围进行缩放,得到第一目标场景范围的初始场景范围。
对于上述步骤3.1),该虚拟摄像机的视场角可以为FOV,该视场角可以为默认或用户配置。
对于上述步骤3.2),可以预先设置第一目标场景范围的预设场景范围的大小,然后根据第二位置确定该预设场景范围的位置。
对于上述步骤3.3),可以预先设置视场角与缩放比例之间的对应关系。可以基于该对应关系,以及虚拟摄像机的视场角确定缩放比例。
例如,如图4所示,点F为虚拟对象所在的第二位置,点G为虚拟摄像机所在的第一位置,该预设场景范围411为根据点F以及预设的预设场景范围的大小确定的。基于视场角与缩放比例之间的对应关系确定虚拟摄像机的视场角为α时缩放系数为1,该视场角为α时对应预设场景范围411,由于视场角α大于视场角β,所以视场角β对应的缩放系数小于1,通过将预设场景范围411按照视场角β对应的缩放系数,进行缩放,得到第一目标场景范围的初始场景范围412。
在本发明实施例中,可以仅对第一目标场景范围进行缩放,也可以是第一目标场景范围和第二目标场景范围均进行缩放。
另外,在一些实施例中,缩放动作还可以在偏移之后执行,此时,上述步骤1.4)具体可以包括:
步骤4.1),按照位置偏移量移动第一目标场景范围的初始场景范围得到第一目标场景范围的中间场景范围;
步骤4.2),确定缩放系数,并基于该缩放系数对第一目标场景范围的中间场景范围进行缩放得到第一目标场景范围。
对于上述步骤4.2),该缩放系数可以根据摄像机视场角或虚拟摄像机与虚拟对象的距离确定。
在一些实施例中,上述步骤2.1)-步骤2.3)、步骤3.1)-步骤3.3)或步骤4.1)-步骤4.2)可以针对多个目标场景范围中最小的一个或多个。举例来说,该多个目标场景范围可以包括“大”、“中”以及“小”三个,其中,对于“中”和“小”可以通过上述步骤2.1)-步骤2.3)、步骤3.1)-步骤3.3)或步骤4.1)-步骤4.2)实现缩放,“大”不进行缩放;或者,对于“小”可以通过上述步骤2.1)-步骤2.3)、步骤3.1)-步骤3.3)或步骤4.1)-步骤4.2)实现缩放,“大”和“中”不进行缩放。
其中,偏移和缩放可以针对不同的场景范围。例如,该多个目标场景范围可以包括“大”、“中”以及“小”三个,对于“中”和“小”可以进行偏移,“大”不进行偏移;并且,对于“小”进行缩放,“大”和“中”不进行缩放。
本发明实施例通过偏移或缩放等操作来确定目标场景范围,使得目标场景范围能够适应实际的需求,提升生成的优化画面的阴影效果。
在一些实施例中,对于目标场景范围可以通过不同的更新频率来控制场景阴影贴图生成的频率,以此实现较大的目标场景范围的惰性刷新。基于此,上述步骤S120具体可以通过如下步骤实现:
步骤5.1),基于预设的更新频率以及虚拟对象在三维游戏场景中的第二位置,确定多个目标场景范围的场景阴影贴图;其中,该多个目标场景范围中范围大的所对应的预设的更新频率低。
由于游戏设备在渲染游戏画面时,需要按照一定的帧率来生成各帧图像。例如,该帧率可以为60帧每秒或100帧每秒等等。对于每一帧图像的生成,均可以执行步骤S130,但是,可以根据预设的更新频率等条件来确定是否需要执行上述步骤S110或S120。举例来说,该多个目标场景范围可以包括“大”、“中”以及“小”三个,分别对应“不更新”、“慢”以及“快”三个更新频率,该“大”可以对应全场景范围,在场景不变的情况下,可以不进行更新,如果,该帧率为100帧每秒,“慢”对应10秒,该“快”对应1秒,此时,该“中”对应的场景阴影贴图可以每1000帧生成一次,该“小”对应的场景阴影贴图可以每100帧生成一次。
在一些实施例中,对于目标场景范围可以通过一些特定的条件以及更新频率来控制场景阴影贴图生成。基于此,上述步骤5.1)具体可以通过如下步骤实现:
步骤6.1),当满足第一目标场景范围和/或第二目标场景范围的更新频率时,基于第二位置,确定第一目标场景范围和/或第二目标场景范围的场景阴影贴图;
步骤6.2),当不满足第二目标场景范围的更新频率时,确定已生成的第二目标场景范围的场景阴影贴图;
步骤6.3),当不满足第一目标场景范围的预设的更新频率,且在虚拟对象的移动范围满足预设移动范围或待显示游戏场景中的阳光方向满足预设方向范围时,基于第二位置,确定第一目标场景范围的场景阴影贴图;
步骤6.4),当不满足第一目标场景范围的预设的更新频率,且在虚拟对象的移动范围不满足预设移动范围或待显示游戏场景中的阳光方向不满足预设方向范围时,确定已生成的第一目标场景范围的场景阴影贴图。
对于上述步骤6.2),当不满足第二目标场景范围的更新条件时,可以基于已生成的第二目标场景范围的场景阴影贴图来确定当前帧游戏画面所对应的光影数据。
对于上述步骤6.4),当不满足第一目标场景范围的更新条件时,可以基于已生成的第一目标场景范围的场景阴影贴图来确定当前帧游戏画面所对应的光影数据。
通过采用分层级的场景阴影贴图并针对不同的场景阴影贴图采用不同的更新频率,使得较大的目标场景范围延迟刷新,能够大大减少了制作场景阴影贴图的成本。
在一些实施例中,对于游戏画面的生成具体可以包括多种实现方式。
作为一个示例,上述步骤S130具体可以通过如下步骤实现:
步骤7.1),根据场景阴影贴图,按照每个场景阴影贴图的优先级,生成屏幕阴影贴图;
步骤7.2),基于屏幕阴影贴图确定待显示游戏场景的游戏画面的光影数据,以便基于光影数据在游戏设备的屏幕中显示待显示游戏场景的游戏画面。
对于上述步骤7.1),游戏设备的屏幕对应游戏场景中的屏幕空间,该屏幕空间也对应一个场景范围,在屏幕上要显示这个场景范围对应的游戏画面。这个屏幕空间的场景范围可以是大于或小于最小的目标场景范围的。
其中,为了减少每个物体在像素着色采集场景阴影贴图的消耗,在获得各级的场景阴影贴图后,可以生成一张基于屏幕空间的屏幕阴影贴图(Screen Space Shadow Map),可以直接采样屏幕阴影贴图以便确定光影数据。在生成基于屏幕空间的阴影贴图过程中,由于层级阴影贴图的精度限制,可以做抗锯齿操作。
为了减少锯齿以及尽可能加速计算,在获得本身场景当前像素点在直接光空间的深度后,对其周围四个点进行层级阴影贴图的采样,得到该像素点在多个层级阴影贴图中的阴影值,以判断当前像素点是否是在阴影中,该阴影值可以由In Shadow这个值表示。接下来,通过判断阴影值减去0.5后的绝对值是否小于0.5来确认该像素点是否在阴影边缘,在边缘的像素点用快速近似抗锯齿(Fast Approximate Anti-Aliasing,FXAA)的方式进行抗锯齿处理。
图5为本公开实施例提供的一种游戏的光影数据处理方法的流程示意图。其中,该方法可以应用于游戏设备,该游戏的三维游戏场景中包括虚拟对象。如图5所示,该方法包括:
S510,响应虚拟对象进入房屋内的操作,获取当前光照角度以及多个预设光照角度,每个预设光照角度对应有预设间接光作用强度数据;
该间接光作用强度数据包括环境光与太阳光的作用强度的比值。
S520,根据当前光照角度与每个预设光照角度的角度差,以及每个预设光照角度的间接光作用强度数据,确定当前光照角度的间接光作用强度数据;
S530,基于当前光照角度的间接光作用强度数据,确定房屋内的游戏画面。
通过本公开实施例,每当玩家进入房间后,可以基于房屋在太阳不同的多个位置的间接光作用强度数据,提升间接光照效果,增强整体房子的明暗对比,提升了房屋内光影效果的友好度。
在一些实施例中,该预设光照角度可以为三个,该三个预设光照角度对应一个预设光照贴图,该预设光照贴图的三个通道分别用于存储一个预设光照角度对应有间接光作用强度数据;上述步骤S520具体可以通过如下步骤实现:
步骤8.1),根据当前光照角度与每个预设光照角度的角度差,以及预设光照贴图,确定当前光照角度的光照贴图。
该当前光照角度的光照贴图用于存储当前光照角度的间接光作用强度数据。
在一些实施例中,上述步骤8.1)具体包括:
步骤9.1),根据当前光照角度与每个预设光照角度的角度差,确定与每个预设光照角度对应的权重;
步骤9.2),基于每个预设光照角度对应的权重,对预设光照贴图中每个贴图像素点包括的三个预设光照角度的间接光作用强度数据进行加权求和,得到当前光照角度的光照贴图中每个贴图像素点的间接光作用强度数据。
例如,对于房屋这类大型物体,可以额外单独的离线烘焙出三个预设光照角度的光照贴图(Light Map),可以将三个预设光照角度的光照贴图作为屋间贴图(Home Map),明暗信息存储于该Home Map的三个通道中,通过分别将这三个方向的太阳光方向和当前光照角度进行差值,确定出当前光照角度与每个预设光照角度对应的权重,进而得到当前光照角度的光照贴图,以此通过Home Map提升屋间的间接光效果。
例如,专门对房屋烘焙一个三个预设光照角度的光照贴图,其具体烘焙过程包括:在烘焙器中以烘焙房屋为中心,分别布置三个太阳,如太阳方向分别是(0.7071068,0.5773503,0.4082483)、(0,0.5773503,-0.8164966)、(-0.7071068,0.5773503,0.4082483)。通过烘焙得到房屋在太阳不同位置的间接光作用强度数据。
接下来,在房屋渲染的顶点着色阶段,将烘焙所用的三个预设光照角度变换到游戏场景中。具体的,计算对应预设光照角度下的RGB三通道的权重数据,并应用于环境光和太阳光的计算过程,最终得到房屋在当前光照角度下的间接光照效果。例如,图6示出了房屋向光面效果的示意图;
图7示出了房屋背光面效果的示意图;图8示出了房屋向光面整合到具体房屋中的最终效果的示意图;图9示出了房屋背光面整合到具体房屋中的最终效果的示意图。
该Home Map可以为按房屋大小划分的512到2048尺寸贴图,该贴图对应的性能消耗在可接受范围内。
在一些实施例中,步骤S530具体可以通过如下步骤实现:
步骤10.1),确定待显示房屋内的游戏画面的每个屏幕像素的初始颜色;
步骤10.2),基于每个屏幕像素对应的当前光照角度的光照贴图中目标贴图像素点,获取每个屏幕像素的目标间接光作用强度数据;
步骤10.3),将每个屏幕像素的初始颜色和屏幕像素的目标间接光作用强度数据相乘,得到每个屏幕像素的目标颜色。
在一些实施例中,当房屋具备间接光照效果后,对于玩家从房屋外进入房屋室内后,整体效果还是偏昏暗,主要是因为房屋本身除了窗户外是个封闭的物体。在没直接光作用到的地方,靠间接光照并不能完全满足室内效果。因为在现实中我们会通过点亮室内的灯光来达到亮度的提升,但是对于移动平台,面光源的性能消耗比较大。因此为了提升室内效果,提升室内的光照效果,在玩家进入室内后,整体提升室内场景的亮度,并且调整环境光和太阳光对房间产生的间接光照。其具体的过程包括:提升整体画面亮度即对最终输出的颜色乘上一个强度系数Color Scale;提升环境光和太阳光的间接光照即在Home Map求解环境光间接光照和太阳光间接光照中分别乘上间接光照强度系数。作为一个示例,上述步骤10.3)具体可以包括:
步骤11.1),确定增强系数;
步骤11.2),将每个屏幕像素的初始颜色、屏幕像素的目标间接光作用强度数据以及增强系数相乘,得到每个屏幕像素的目标颜色。
在一些实施例中,对于处于阴影中的房屋,该天气变化导致的明暗变化,可以影响阴影系数,可以基于房屋对应的阴影数据判断该房屋是否位于阴影中,如果是,则基于当前的天气确定阴影系数。基于该阴影系数可以调整目标颜色。其中,该阴影系数可以用于调整亮度。例如,阴天情况下的阴影系数大于晴天情况下的阴影系数。作为一个示例,上述步骤11.2)具体可以包括:
步骤12.1),基于房屋对应的阴影数据,确定阴影系数;
步骤12.2),将每个屏幕像素的初始颜色、屏幕像素的目标间接光作用强度数据以及阴影系数相乘,得到每个屏幕像素的目标颜色。
其中,像晴天多云阴影的变化会导致的阴影形状变化,因为本身天气的变化包括不同时段,不同天气的效果变化,在不同的天气例如晴天,雨天等,本身环境参数也会相应变化,所以阴影作用上去后会有细小的明暗变化,该明暗变化可以导致房屋内的明暗变化。
在一些实施例中,在预设光照贴图中,红绿蓝通道之外的alpha通道可以用于存储房屋亮灯系数,通过将其叠加到房屋的自发光贴图上,从而展现夜晚房屋亮灯的效果。对于发光物体,可以对应有自发光贴图,该自发光贴图的alpha通道用于标记亮光部位。具体的,对于场景中一些会亮灯的物体,例如灯具等,将亮灯系数参数存储于自发光贴图的alpha通道,从而控制亮灯的效果。对于夜晚房屋的亮灯效果,为了模拟真实世界中夜晚房屋灯火通明的视觉效果,可以合理利用HomeMap剩余的alpha通道,来存储房屋的亮灯系数。作为一个示例,该预设光照贴图的一个通道用于存储亮灯系数;上述步骤S530具体可以包括:
步骤13.1),当游戏场景为夜晚时,获取亮灯系数以及灯光颜色参数;
步骤13.2),基于当前光照角度的间接光作用强度数据、亮灯系数以及灯光颜色参数,确定房屋内的游戏画面。
当处于天黑的环境下,可以将采样得到的物体对应的亮灯系数与灯光颜色参数相乘,作用于对应物体像素上即可。另外,对于场景中一些会亮灯的物体,比如灯具等,则是将亮灯系数参数存储于自光照贴图的alpha通道,从而控制亮灯的效果。这边的亮灯系数指的是描述了物体哪些部位可以亮灯,比如一盏台灯,灯管会发光,灯管周围发光系数会渐渐减弱。另外,亮灯的时候还有一个参数是灯光颜色参数,该颜色参数可以通过脚本动态设置,可以根据场景情况设置不同的值,例如,希望显示成绮丽或偏粉等,亮度强度也可以动态调高颜色参数亮度值。
在实际应用中,本公开实施例中的游戏设备可以为运行游戏的任意设备,例如,运行游戏的服务器、玩家操作的终端等。在游戏设备为运行游戏的服务器时,服务器在处理完成画面得到展示画面后,可以将该展示画面发送至终端,使终端能够通过显示器将展示画面展示给玩家;在游戏设备为玩家操作的终端时,玩家操作的终端可以直接对画面进行处理进而得到并通过显示器显示出该展示画面。
图10提供了一种游戏的光影数据处理装置的结构示意图。应用于游戏设备,所述游戏的三维游戏场景中包括虚拟对象,所述装置包括:
第一确定模块1001,用于确定多个目标场景范围;
生成模块1002,用于生成与所述目标场景范围对应的场景阴影贴图,其中,第一目标场景范围小于第二目标场景范围,所述第一目标场景范围对应的第一阴影贴图的精度大于所述第二目标场景范围对应的第二阴影贴图的精度;
第二确定模块1003,用于根据所述多个目标场景范围的所述场景阴影贴图,按照每个场景阴影贴图的优先级,确定待显示游戏场景的游戏画面的光影数据,其中,所述场景阴影贴图的精度与优先级正相关。
在一些实施例中,第一确定模块1001具体用于:
获取虚拟摄像机在所述三维游戏场景中的第一位置,以及所述虚拟对象在所述三维游戏场景中的第二位置;
基于所述第二位置,获取第一初始场景范围;
根据所述第一位置和第二位置,确定所述虚拟摄像机与所述虚拟对象的位置偏移量;
按照所述位置偏移量移动所述第一初始场景范围得到所述第一目标场景范围。
在一些实施例中,第一确定模块1001具体用于:
获取虚拟摄像机在所述三维游戏场景中的第一位置,以及所述虚拟对象在所述三维游戏场景中的第二位置;
根据所述第一位置和第二位置确定所述虚拟摄像机与所述虚拟对象的距离;
基于所述第二位置,获取第一初始场景范围;
基于所述距离,对所述第一初始场景范围进行缩放,得到所述第一目标场景范围。
在一些实施例中,第一确定模块1001具体用于:
获取虚拟摄像机在所述三维游戏场景中的第一位置,以及所述虚拟对象在所述三维游戏场景中的第二位置;
获取虚拟摄像机的视场角;
基于所述第二位置,获取第一初始场景范围;
基于所述摄像机的当前摄像机视场角度,对所述第一初始场景范围进行缩放,得到所述第一目标场景范围。
在一些实施例中,生成模块1002具体用于:
基于预设的更新频率以及所述虚拟对象在所述三维游戏场景中的第二位置,确定多个目标场景范围的场景阴影贴图;其中,所述多个目标场景范围中范围大的所对应的所述预设的更新频率低。
在一些实施例中,生成模块1002具体用于:
当满足第一目标场景范围和/或第二目标场景范围的更新频率时,基于所述第二位置,确定所述第一目标场景范围和/或第二目标场景范围的场景阴影贴图;
当不满足第二目标场景范围的更新频率时,确定已生成的第二目标场景范围的场景阴影贴图;
当不满足第一目标场景范围的预设的更新频率,且在所述虚拟对象的移动范围满足预设移动范围或所述待显示游戏场景中的阳光方向满足预设方向范围时,基于所述第二位置,确定第一目标场景范围的场景阴影贴图;
当不满足第一目标场景范围的预设的更新频率,且在所述虚拟对象的移动范围不满足预设移动范围或所述待显示游戏场景中的阳光方向不满足预设方向范围时,确定已生成的第一目标场景范围的场景阴影贴图。
在一些实施例中,第二确定模块1003具体用于:
根据所述场景阴影贴图,按照每个场景阴影贴图的优先级,生成屏幕阴影贴图;
基于所述屏幕阴影贴图确定待显示游戏场景的游戏画面的光影数据,以便基于所述光影数据在所述游戏设备的屏幕中显示所述待显示游戏场景的游戏画面。
本公开实施例提供的游戏的光影数据处理装置,与上述实施例提供的游戏的光影数据处理方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
图11提供了一种游戏的光影数据处理装置的结构示意图。应用于游戏设备,所述游戏的三维游戏场景中包括虚拟对象,所述装置包括:
获取模块1101,用于响应所述虚拟对象进入房屋内的操作,获取当前光照角度以及多个预设光照角度,每个所述预设光照角度对应有预设间接光作用强度数据;
第一确定模块1102,用于根据所述当前光照角度与每个所述预设光照角度的角度差,以及每个所述预设光照角度的间接光作用强度数据,确定所述当前光照角度的间接光作用强度数据;
第二确定模块1103,用于基于所述当前光照角度的间接光作用强度数据,确定所述房屋内的游戏画面。
在一些实施例中,所述预设光照角度为三个,该三个预设光照角度对应一个预设光照贴图,所述预设光照贴图的三个通道分别用于存储一个所述预设光照角度对应有间接光作用强度数据;第一确定模块1102具体用于:
根据所述当前光照角度与每个所述预设光照角度的角度差,以及所述预设光照贴图,确定所述当前光照角度的光照贴图,所述当前光照角度的光照贴图用于存储当前光照角度的间接光作用强度数据。
在一些实施例中,所述间接光作用强度数据包括环境光与太阳光的作用强度的比值。
在一些实施例中,第一确定模块1102具体用于:
根据所述当前光照角度与每个所述预设光照角度的角度差,确定与每个所述预设光照角度对应的权重;
基于每个所述预设光照角度对应的权重,对所述预设光照贴图中每个贴图像素点包括的三个所述预设光照角度的间接光作用强度数据进行加权求和,得到当前光照角度的光照贴图中每个贴图像素点的间接光作用强度数据。
在一些实施例中,第二确定模块1103具体用于:
确定待显示房屋内的游戏画面的每个屏幕像素的初始颜色;
基于每个所述屏幕像素点对应的当前光照角度的光照贴图中目标贴图像素点,获取每个所述屏幕像素的目标间接光作用强度数据;
将每个所述屏幕像素的初始颜色和所述屏幕像素的目标间接光作用强度数据相乘,得到每个所述屏幕像素的目标颜色。
在一些实施例中,第二确定模块1103具体用于:
确定增强系数;
将每个所述屏幕像素的初始颜色、所述屏幕像素的目标间接光作用强度数据以及所述增强系数相乘,得到每个所述屏幕像素的目标颜色。
在一些实施例中,第二确定模块1103具体用于:
基于所述房屋对应的阴影数据,确定阴影系数;
将每个所述屏幕像素的初始颜色、所述屏幕像素的目标间接光作用强度数据以及所述阴影系数相乘,得到每个所述屏幕像素的目标颜色。
在一些实施例中,所述预设光照贴图的一个通道用于存储亮灯系数;第二确定模块1103具体用于:
当所述游戏场景为夜晚时,获取所述亮灯系数以及灯光颜色参数;
基于所述当前光照角度的间接光作用强度数据、所述亮灯系数以及灯光颜色参数,确定所述房屋内的游戏画面。
本公开实施例提供的游戏的光影数据处理装置,与上述实施例提供的游戏的光影数据处理方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
如图12所示,本公开实施例提供的一种游戏设备1200,包括:处理器1201、存储器1202和总线,所述存储器1202存储有所述处理器1201可执行的机器可读指令,当游戏设备运行时,所述处理器1201与所述存储器1202之间通过总线通信,所述处理器1201执行所述机器可读指令,以执行如上述游戏中虚拟角色的移动控制方法的步骤。
具体地,上述存储器1202和处理器1201能够为通用的存储器和处理器,这里不做具体限定,当处理器1201运行存储器1202存储的计算机程序时,能够执行上述游戏的光影数据处理方法。
在实际应用中,处理器1201可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1201中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1201可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1202,处理器1201读取存储器1202中的信息,结合其硬件完成上述方法的步骤。
对应于上述游戏的光影数据处理方法,本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述图1或图5所示的游戏的光影数据处理方法的步骤。
本公开实施例所提供的游戏的光影数据处理装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本公开实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本公开所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述移动控制方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的范围。都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (11)

1.一种游戏的光影数据处理方法,其特征在于,应用于游戏设备,所述游戏的三维游戏场景中包括虚拟对象,所述方法包括:
响应所述虚拟对象进入房屋内的操作,获取当前光照角度以及多个预设光照角度,每个所述预设光照角度对应有预设间接光作用强度数据;
根据所述当前光照角度与每个所述预设光照角度的角度差,以及每个所述预设光照角度的间接光作用强度数据,确定所述当前光照角度的间接光作用强度数据;
基于所述当前光照角度的间接光作用强度数据,确定所述房屋内的游戏画面。
2.根据权利要求1所述的方法,其特征在于,所述预设光照角度为三个,三个所述预设光照角度对应一个预设光照贴图,所述预设光照贴图的三个通道分别用于存储一个所述预设光照角度对应有间接光作用强度数据;根据所述当前光照角度与每个所述预设光照角度的角度差,以及每个所述预设光照角度的间接光作用强度数据,确定所述当前光照角度的间接光作用强度数据的步骤,包括:
根据所述当前光照角度与每个所述预设光照角度的角度差,以及所述预设光照贴图,确定所述当前光照角度的光照贴图,所述当前光照角度的光照贴图用于存储当前光照角度的间接光作用强度数据。
3.根据权利要求2所述的方法,其特征在于,所述间接光作用强度数据包括环境光与太阳光的作用强度的比值。
4.根据权利要求2所述的方法,其特征在于,根据所述当前光照角度与每个所述预设光照角度的角度差,以及所述预设光照贴图,确定所述当前光照角度的光照贴图的步骤,包括:
根据所述当前光照角度与每个所述预设光照角度的角度差,确定与每个所述预设光照角度对应的权重;
基于每个所述预设光照角度对应的权重,对所述预设光照贴图中每个贴图像素点包括的三个所述预设光照角度的间接光作用强度数据进行加权求和,得到当前光照角度的光照贴图中每个贴图像素点的间接光作用强度数据。
5.根据权利要求2所述的方法,其特征在于,基于所述当前光照角度的间接光作用强度数据,确定所述房屋内的游戏画面的步骤,包括:
确定待显示房屋内的游戏画面的每个屏幕像素的初始颜色;
基于每个所述屏幕像素对应的当前光照角度的光照贴图中目标贴图像素点,获取每个所述屏幕像素的目标间接光作用强度数据;
将每个所述屏幕像素的初始颜色和所述屏幕像素的目标间接光作用强度数据相乘,得到每个所述屏幕像素的目标颜色。
6.根据权利要求5所述的方法,其特征在于,将每个所述屏幕像素的初始颜色和所述屏幕像素的目标间接光作用强度数据相乘,得到每个所述屏幕像素的目标颜色的步骤,包括:
确定增强系数;
将每个所述屏幕像素的初始颜色、所述屏幕像素的目标间接光作用强度数据以及所述增强系数相乘,得到每个所述屏幕像素的目标颜色。
7.根据权利要求5所述的方法,其特征在于,将每个所述屏幕像素的初始颜色和所述屏幕像素的目标间接光作用强度数据相乘,得到每个所述屏幕像素的目标颜色的步骤,包括:
基于所述房屋对应的阴影数据,确定阴影系数;
将每个所述屏幕像素的初始颜色、所述屏幕像素的目标间接光作用强度数据以及所述阴影系数相乘,得到每个所述屏幕像素的目标颜色。
8.根据权利要求2所述的方法,其特征在于,所述预设光照贴图的一个通道用于存储亮灯系数;基于所述当前光照角度的间接光作用强度数据,确定所述房屋内的游戏画面的步骤,包括:
当所述游戏场景为夜晚时,获取所述亮灯系数以及灯光颜色参数;
基于所述当前光照角度的间接光作用强度数据、所述亮灯系数以及灯光颜色参数,确定所述房屋内的游戏画面。
9.一种游戏的光影数据处理装置,其特征在于,应用于游戏设备,所述游戏的三维游戏场景中包括虚拟对象,所述装置包括:
获取模块,用于响应所述虚拟对象进入房屋内的操作,获取当前光照角度以及多个预设光照角度,每个所述预设光照角度对应有预设间接光作用强度数据;
第一确定模块,用于根据所述当前光照角度与每个所述预设光照角度的角度差,以及每个所述预设光照角度的间接光作用强度数据,确定所述当前光照角度的间接光作用强度数据;
第二确定模块,用于基于所述当前光照角度的间接光作用强度数据,确定所述房屋内的游戏画面。
10.一种游戏设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至8任一项所述的方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述权利要求1至8任一项所述的方法。
CN202310856806.XA 2020-04-08 2020-04-08 游戏的光影数据处理方法、装置以及游戏设备 Pending CN117132702A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310856806.XA CN117132702A (zh) 2020-04-08 2020-04-08 游戏的光影数据处理方法、装置以及游戏设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202310856806.XA CN117132702A (zh) 2020-04-08 2020-04-08 游戏的光影数据处理方法、装置以及游戏设备
CN202010272017.8A CN111489430B (zh) 2020-04-08 2020-04-08 游戏的光影数据处理方法、装置以及游戏设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202010272017.8A Division CN111489430B (zh) 2020-04-08 2020-04-08 游戏的光影数据处理方法、装置以及游戏设备

Publications (1)

Publication Number Publication Date
CN117132702A true CN117132702A (zh) 2023-11-28

Family

ID=71811727

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310856806.XA Pending CN117132702A (zh) 2020-04-08 2020-04-08 游戏的光影数据处理方法、装置以及游戏设备
CN202010272017.8A Active CN111489430B (zh) 2020-04-08 2020-04-08 游戏的光影数据处理方法、装置以及游戏设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202010272017.8A Active CN111489430B (zh) 2020-04-08 2020-04-08 游戏的光影数据处理方法、装置以及游戏设备

Country Status (1)

Country Link
CN (2) CN117132702A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112587921A (zh) * 2020-12-16 2021-04-02 成都完美时空网络技术有限公司 模型处理方法和装置、电子设备和存储介质
CN112370784B (zh) * 2021-01-15 2021-04-09 腾讯科技(深圳)有限公司 虚拟场景显示方法、装置、设备以及存储介质
CN113313811B (zh) * 2021-06-29 2024-06-28 完美世界(北京)软件科技发展有限公司 一种光照处理方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4833674B2 (ja) * 2006-01-26 2011-12-07 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
US9773343B2 (en) * 2010-12-24 2017-09-26 Institute Of Automation, Chinese Academy Of Sciences Method for real-time and realistic rendering of complex scenes on internet
CN108579082A (zh) * 2018-04-27 2018-09-28 网易(杭州)网络有限公司 游戏中显示光影的方法、装置和终端
CN110585713B (zh) * 2019-09-06 2021-10-15 腾讯科技(深圳)有限公司 游戏场景的阴影实现方法、装置、电子设备及可读介质

Also Published As

Publication number Publication date
CN111489430A (zh) 2020-08-04
CN111489430B (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
CN111489430B (zh) 游戏的光影数据处理方法、装置以及游戏设备
US6983082B2 (en) Reality-based light environment for digital imaging in motion pictures
CN112116692B (zh) 模型渲染方法、装置、设备
CN112419472B (zh) 一种基于虚拟阴影图的增强现实实时阴影生成方法
CN110650368A (zh) 视频处理方法、装置和电子设备
CN111260769B (zh) 一种基于动态光照变化的实时渲染方法及装置
CN106060491A (zh) 一种投影图像颜色校正方法及装置
TW201909161A (zh) 基於環境光水平來調整用於在顯示裝置上顯示圖像的調色板
CN114093323B (zh) 屏幕控制方法、装置、电子设备及存储介质
CN112233214B (zh) 一种大场景的雪景渲染方法、装置、设备及存储介质
CN111784817B (zh) 阴影的展示方法和装置、存储介质、电子装置
CN117218273A (zh) 图像渲染方法以及装置
US20230134130A1 (en) Method and apparatus for adapting a scene rendering
CN117542307A (zh) 一种图像显示效果的处理方法、处理装置、介质和设备
CN110364104B (zh) 显示设备的画面色彩溢出方法、装置、设备和计算机可读存储介质
CN112037292B (zh) 天气系统的生成方法及装置、设备
CN113368496B (zh) 游戏场景的天气渲染方法、装置及电子设备
CN116208754A (zh) 屏幕及其控制方法、装置及存储介质
CN117994407B (zh) 一种基于图形学的自然现象构建及渲染优化的方法及系统
Muñoz‐Pandiella et al. Real‐Time Solar Exposure Simulation in Complex Cities
KR100569124B1 (ko) 차량용 네비게이션의 실시간 배경 표현방법
CN111768480B (zh) 火焰动画生成方法及装置、计算机存储介质、电子设备
CN106847149B (zh) 一种高动态对比度图像的色调映射与显示方法
Olajos et al. Sparse Spatial Shading in Augmented Reality.
TW201720142A (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