CN110585713B - 游戏场景的阴影实现方法、装置、电子设备及可读介质 - Google Patents

游戏场景的阴影实现方法、装置、电子设备及可读介质 Download PDF

Info

Publication number
CN110585713B
CN110585713B CN201910844485.5A CN201910844485A CN110585713B CN 110585713 B CN110585713 B CN 110585713B CN 201910844485 A CN201910844485 A CN 201910844485A CN 110585713 B CN110585713 B CN 110585713B
Authority
CN
China
Prior art keywords
shadow
camera
current scene
pitch angle
orthogonal
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.)
Active
Application number
CN201910844485.5A
Other languages
English (en)
Other versions
CN110585713A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910844485.5A priority Critical patent/CN110585713B/zh
Publication of CN110585713A publication Critical patent/CN110585713A/zh
Application granted granted Critical
Publication of CN110585713B publication Critical patent/CN110585713B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • A63F13/525Changing parameters of virtual cameras
    • 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
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5258Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
    • 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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation

Abstract

本公开的实施例提供了一种游戏场景的阴影实现方法、装置、电子设备及可读介质。该方法包括:确定当前场景的角色阴影显示模式;根据所述角色阴影显示模式,调整所述当前场景的阴影相机的视锥范围;根据调整视锥范围后的阴影相机生成所述当前场景中片元的深度纹理信息;根据所述深度纹理信息与所述片元的转换深度信息绘制所述当前场景中的角色的实时阴影。本公开实施例提供的游戏场景的阴影实现方法、装置、电子设备及可读介质,根据不同的角色阴影显示模式,对阴影相机的视锥范围进行调整,能够优化阴影画面,降低阴影采样内存占用率。

Description

游戏场景的阴影实现方法、装置、电子设备及可读介质
技术领域
本公开涉及图像处理技术领域,具体而言,涉及一种游戏场景的阴影实现方法、装置、电子设备及可读介质。
背景技术
在三维动画或三维游戏的创建过程中,需要通过真实、动态的阴影以营造真实的光影效果。为保证动态阴影的阴影质量,通常通过深度纹理图记录场景中各物体的深度值,并根据场景中各物体的深度值与相应点的深度值进行比较,以判断相应点是否处于阴影中。
然而,上述阴影实现方法获得的阴影精度较差。为提高阴影精度,通常使用多张深度纹理图对场景进行采样。但该方法需要对场景进行多重采样,其步骤繁杂且需要较高的内存,无法兼顾运行速率。
因此,需要一种新的游戏场景的阴影实现方法、装置、电子设备及可读介质。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例提供一种游戏场景的阴影实现方法、装置、电子设备及可读介质,进而至少在一定程度上避免现有技术中阴影精度较低或多重采样导致的内存压力大、运行速率低的缺陷。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一个方面,提供了一种游戏场景的阴影实现方法,包括:确定当前场景的角色阴影显示模式;根据所述角色阴影显示模式,调整所述当前场景的阴影相机的视锥范围;根据调整视锥范围后的阴影相机生成所述当前场景中片元的深度纹理信息;根据所述深度纹理信息与所述片元的转换深度信息绘制所述当前场景中的角色的实时阴影。
在本公开的一些示例性实施例中,所述角色阴影显示模式包括所有角色阴影显示模式;其中,根据所述角色阴影显示模式,调整所述当前场景的阴影相机的视锥范围,包括:获取所述当前场景的主相机的俯仰角信息;根据所述俯仰角信息确定所述阴影相机的正交尺寸,以调整所述阴影相机的视锥范围。
在本公开的一些示例性实施例中,根据所述俯仰角信息确定所述阴影相机的正交尺寸,包括:当所述俯仰角为第一俯仰角时,确定所述阴影相机的正交尺寸为第一正交尺寸;当所述俯仰角为第二俯仰角时,确定所述阴影相机的正交尺寸为第二正交尺寸;其中,所述第一俯仰角大于所述第二俯仰角,所述第一正交尺寸大于所述第二正交尺寸。
在本公开的一些示例性实施例中,所述方法还包括:根据所述主相机的视锥范围确定所述阴影相机的视锥中心。
在本公开的一些示例性实施例中,根据所述主相机的视锥范围确定所述阴影相机的视锥中心,包括:根据所述主相机的视锥范围的中心调整所述阴影相机的位置,以使所述阴影相机的视锥中心与所述主相机的视锥中心重合。
在本公开的一些示例性实施例中,所述当前场景中的角色包括主角,所述角色阴影显示模式包括主角阴影显示模式;其中,根据所述角色阴影显示模式,调整所述当前场景的阴影相机的视锥范围,包括:获取所述阴影空间中的主角的包围盒范围;根据所述主角的包围盒范围确定所述阴影相机的正交尺寸。
在本公开的一些示例性实施例中,根据所述主角的包围盒范围确定所述阴影相机的正交尺寸,包括:根据所述主角的包围盒范围与预定富余尺寸确定所述阴影相机的正交尺寸。
在本公开的一些示例性实施例中,根据所述深度纹理信息与所述片元的转换深度信息绘制所述当前场景中的角色的实时阴影,包括:通过投影变换将所述当前场景从世界坐标转化到阴影空间,获得所述当前场景中片元的转换深度信息;根据所述当前场景中片元的转换深度信息及其深度纹理信息生成所述当前场景中所有角色的实时阴影。
根据本公开实施例的一个方面,提供了一种游戏场景的阴影实现装置,包括:阴影模式确定模块,用于确定当前场景的角色阴影显示模式;视锥调整模块,用于根据所述角色阴影显示模式,调整所述当前场景的阴影相机的视锥范围;深度纹理信息生成模块,用于根据调整视锥范围后的阴影相机生成所述当前场景中片元的深度纹理信息;阴影生成模块,用于根据所述深度纹理信息与所述片元的转换深度信息绘制所述当前场景中的角色的实时阴影。
根据本公开实施例的一个方面,提供了一种计算机可读介质,所述存储介质中存储有计算机程序,所述程序被处理器加载并执行时实现如上文中所述的游戏场景的阴影实现方法。
根据本公开实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的游戏场景的阴影实现方法。
在本公开的一些实施例所提供的技术方案中,通过在阴影实现的过程中首先确定当前场景的角色阴影显示模式。并根据不同的角色阴影显示模式,对当前场景的阴影相机的视锥范围进行相应的调整,能够根据角色阴影显示模式以及当前场景中各属性的不同对视锥范围进行调整,以根据调整视锥范围后的阴影相机与转换深度信息绘制当前场景中的角色的实时阴影,从而提高阴影精度,增强显示效果。在同样实现阴影绘制过程的前提下,使得在根据阴影相机获得深度纹理信息阶段不必进行多重采样,从而降低内存压力,提高运行速率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
在附图中:
图1示出了可以应用本公开实施例的游戏场景的阴影实现方法或装置的示例性系统架构100的示意图;
图2示意性示出了根据本公开的一个实施例的游戏场景的阴影实现方法的流程图;
图3是基于图2的步骤S220在一个示例性实施例中的流程图;
图4是基于图3的步骤S222在一个示例性实施例中的流程图;
图5示意性示出了根据本公开的另一个实施例的游戏场景的阴影实现方法的流程图;
图6是基于图5的步骤S410在一个示例性实施例中的流程图;
图7是基于图2的步骤S220在另一个示例性实施例中的流程图;
图8示意性示出了根据图3的实施例的游戏场景的阴影实现前的阴影效果图;
图9示意性示出了根据图3的实施例的阴影实现后的第一俯仰角的阴影效果图;
图10示意性示出了根据图3的实施例的阴影实现后的第二俯仰角的阴影效果图;
图11示意性示出了根据图7的实施例的阴影实现前的阴影效果图;
图12示意性示出了根据图7的实施例的阴影实现后的阴影效果图;
图13是基于图2的步骤S240在一个示例性实施例中的流程图;
图14示意性示出了根据本公开的一实施例的游戏场景的游戏场景的阴影实现装置的框图;
图15示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图;
图16是本发明实施例提供的分布式系统1600应用于区块链系统的一个可选的结构示意图;
图17是本发明实施例提供的区块结构(Block Structure)一个可选的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在对本公开技术方案进行介绍说明之前,首先对本公开实施例中所涉及的应用场景和相关名词进行介绍说明。
本公开的技术方案可应用在游戏制作或动画制作中。示例性地,本公开技术方案可应用在多人在线战术竞技类游戏中。当然,在一些其他的实施例中,本公开技术方案也可应用于生存类游戏、决策类游戏或其他类型的游戏中,本公开的技术方案对此不作特殊限定。
当前场景是在游戏或动画中的环境、建筑、机械、道具等。游戏场景可以是三维(3D)形式的,也可以是二维(2D)形式的;其中,三维游戏场景更为立体、逼真,用户体验感更好。游戏场景通常可以理解为根据企划的要求还原出游戏中的建筑物、树木、地面、天空、道路等可用元素(包含武器道具与非玩家角色(Non-Player Character,NPC)等)。客户端渲染显示的游戏画面中,包含游戏对局所提供的游戏场景,进一步地,还包括位于该虚拟场景中的一个或多个虚拟角色。
虚拟角色也称为游戏角色、游戏人物等,是指玩家在游戏过程中代入和操控的对象。在一个游戏对局中,虚拟角色的数量可以是一个,也可以是多个。多个虚拟角色对应于多个不同的客户端,每一客户端的玩家代入和通过客户端控制一个或多个虚拟角色。在游戏过程中,虚拟角色能够在游戏场景中移动,例如行走、奔跑、跳跃等,且可以根据客户端的控制实现不同动作姿态的变换。
视锥是一个实体形状,其是指从相机位置出发,经过近裁面和远裁面形成的一个集合椎体,近裁面和远裁面之间代表了相机的可视范围。
近裁面是指相机能够看见的最近距离,远裁面是相机能够看见的最优距离,视锥通常为一四棱台,该四棱台的上台面(面积较小的)为相机的近裁面,下台面为相机的远裁面。
包围盒是一种求解离散点集最优包围空间的算法,基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象。常见的包围盒算法有矩形边界框(Axis-aligned bounding box,AABB)包围盒、包围球、方向包围盒(Oriented boundingbox,OBB)以及固定方向凸包(Fixed directions hulls,PFDH)。
Unity引擎:是一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
阴影相机是在当前场景中的光源方向设置的虚拟相机。阴影相机的拍摄方向与灯光照射方向相同,用于获取当前场景中各个物体的身体的深度值。
主相机是用于显示当前场景的相机。客户端通过控制主相机,能够使得当前场景(游戏场景或动画场景)以更加真实和独特的方式显示出来。在本公开的技术方案中,客户端可通过控制主相机的俯仰角大小,实现对当前场景视角的切换。其中,当主相机俯仰角为90度,主相机将通过垂直视线观察当前场景,即俯视当前场景中的虚拟地面;当主相机俯仰角为180度时,主相机将通过水平视角观察当前场景,即平视当前场景中的虚拟地面。
图1示出了可以应用本公开实施例的游戏场景的阴影实现方法或装置的示例性系统架构100的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103中的一种或多种,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器。例如终端设备103(也可以是终端设备101或102)向服务器105上传角色阴影显示模式和当前场景。服务器105可以确定当前场景的角色阴影显示模式;根据所述角色阴影显示模式,调整所述当前场景的阴影相机的视锥范围;根据调整视锥范围后的阴影相机生成所述当前场景中片元的深度纹理信息;根据所述深度纹理信息与所述片元的转换深度信息绘制所述当前场景中的角色的实时阴影。并将实时阴影反馈给终端设备103,进而终端设备103可以展示当前场景的阴影画面。
图2示意性示出了根据本公开的一个实施例的游戏场景的阴影实现方法的流程图。本公开实施例所提供的方法可以由任意具备计算处理能力的电子设备处理,例如上述图1实施例中的服务器105和/或终端设备102、103,在下面的实施例中,以服务器105为执行主体为例进行举例说明,但本公开并不限定于此。
如图2所示,本公开实施例提供的游戏场景的阴影实现方法可以包括以下步骤。
在步骤S210中,确定当前场景的角色阴影显示模式。
本公开实施例中,当前场景可以是指游戏过程所显示的三维游戏场景,也可以是动画所展示的三维动画场景。三维游戏场景或三维动画场景通常是由开发设计人员构建的三维虚拟场景,而非真实世界场景,该场景描述了游戏过程中或动画中的人(也即虚拟角色)和物体所处的环境。例如,当前场景中可以包括虚拟角色、地面、房屋、河道、天空、树、车辆、石头等元素。
本公开实施例中,角色阴影显示模式可包括所有角色阴影显示模式和主角阴影显示模式。其中,所有角色可包括当前客户端控制的目标虚拟角色(主角),以及参与当前游戏对局的其他客户端控制的其他虚拟角色。在所有角色阴影显示模式下,当前场景中的所有角色的阴影均可显示。主角阴影显示模式下,只有当前客户端控制的目标虚拟角色(主角)的阴影能够显示,其他客户端控制的其他虚拟角色的阴影模式可能无法显示。
在示例性实施例中,角色阴影显示模式可根据当前客户端的控制指令进行自动设置,还可获取当前客户端的设备性能参数,并根据当前客户端的性能参数进行逻辑判断或计算,以根据判断结果或计算结果确定角色阴影显示模式。例如,在当前客户端接收到更改角色阴影显示模式的指令时,根据该指令确认角色阴影显示模式,并将当前的角色阴影显示模式发送至服务器,以便服务器确定当前场景的角色阴影显示模式。又例如,在当前客户端没有接收到更改角色阴影显示模式的指令时,当前客户端获取当前客户端的设备性能参数(例如内存、显卡、硬盘参数等),以根据当前客户端的设备性能参数进行逻辑判断或计算,以根据判断结果或计算结果确定角色阴影显示模式,并将当前的角色阴影显示模式发送至服务器,以便服务器确定当前场景的角色阴影显示模式。
在步骤S220中,根据所述角色阴影显示模式,调整所述当前场景的阴影相机的视锥范围。
本公开实施例中,可通过调整阴影相机的视锥范围相关的参数,以实现阴影相机视锥范围的调整变化。其中,阴影相机的视锥范围的相关参数可以包括正交尺寸和/或视锥中心位置。其中,正交尺寸指相机能够拍摄的横向尺寸。视锥中心位置指相机的拍摄范围的中心位置。
在示例性实施例中,当角色阴影显示模式为主角阴影显示模式时,可通过调整阴影相机的视锥范围,以使所述阴影相机的视锥范围能够包括当前客户端控制的虚拟角色,进而能够使得根据阴影相机获得的深度纹理信息中主角的深度纹理信息更加丰富。其中,当前客户端控制的虚拟角色可通过包围盒范围进行表示。根据当前客户端控制的虚拟角色的包围盒尺寸确定阴影相机的最小视锥范围,并根据最小视锥范围调整所述阴影相机的视锥范围。
在示例性实施例中,当角色阴影显示模式为所有角色阴影显示模式时,可通过调整阴影相机的视锥范围,以适应当前场景不同视角下当前场景的显示方式。
在步骤S230中,根据调整视锥范围后的阴影相机生成所述当前场景中片元的深度纹理信息。
本公开实施例中,片元由图元组成,其中,图元由几何顶点组成(例如点、线段或多边形)。深度纹理信息用于记载每一片元的高精度的深度值。深度值表示物体离视点的距离,深度纹理信息通常又称为阴影贴图。本公开实施例的深度纹理信息用于表示当前场景中各片元距离阴影相机的距离。
在示例性实施例中,还可对所述深度纹理信息进行归一化处理。其中,归一化处理可实现对上述距离信息进行范围约束。
在步骤S240中,根据所述深度纹理信息与所述片元的转换深度信息绘制所述当前场景中的角色的实时阴影。
本公开实施例中,在渲染场景时将每一片元的深度纹理信息与当前片元的转换深度信息进行比较,能够判断当前点是否处于阴影中,进而能够获得当前场景中角色的实时阴影。
本公开实施方式提供的游戏场景的阴影实现方法,通过在阴影实现的过程中首先确定当前场景的角色阴影显示模式。并根据不同的角色阴影显示模式,对当前场景的阴影相机的视锥范围进行相应的调整,能够根据角色阴影显示模式以及当前场景中各属性的不同对视锥范围进行调整,以根据调整视锥范围后的阴影相机与转换深度信息绘制当前场景中的角色的实时阴影,从而提高阴影精度,增强显示效果。在同样实现阴影绘制过程的前提下,使得在根据阴影相机获得深度纹理信息阶段不必进行多重采样,从而降低内存压力,提高运行速率。
图3是基于图2的步骤S220在一个示例性实施例中的流程图。
如图3所示,上述图2实施例中的步骤S220可以进一步包括以下步骤。
在步骤S221中,获取所述当前场景的主相机的俯仰角信息。
本公开实施例中,当客户端控制当前场景的主相机时,可通过客户端实时接收并获取当前场景中主相机的角度信息,角度信息可包括俯仰角信息。
在步骤S222中,根据所述俯仰角信息确定所述阴影相机的正交尺寸。
本公开实施例中,可通过俯仰角信息实时计算获得阴影相机的正交尺寸。
本公开实施例中,阴影相机的正交尺寸可根据俯仰角进行实时计算获得。其中,当所述主相机具有趋于垂直的俯仰角时,计算获得的所述阴影相机的正交尺寸逐渐变小。该实施方式的技术效果在于,当所述主相机的俯仰角较小(趋于90度),其视锥范围较小(甚至仅包括主角),通过计算使所述阴影相机的正交尺寸变小有助于阴影相机获取主相机视锥范围内各物体更多细节的深度纹理信息,并去除所述主相机视锥范围内不存在的深度纹理信息,以优化阴影画面,并降低内存占用率,提高运行速率。当所述主相机具有趋于水平的俯仰角时,计算获得的所述阴影相机的正交尺寸逐渐变大。该实施方式的技术效果在于,当所述主相机的俯仰角较大(趋于180度),其视锥范围较大,通过计算使所述阴影相机的正交尺寸变大有助于所述阴影相机获取所述主相机视锥范围内各物体的深度纹理信息,以获取更大的阴影范围,进而能够在一定程度上避免出现部分物体没有阴影的情况。
图4是基于图3的步骤S222在一个示例性实施例中的流程图。
如图4所示,上述图3实施例中的步骤S222可以进一步包括以下步骤。
在步骤S2221中,当所述俯仰角为第一俯仰角时,确定所述阴影相机的正交尺寸为第一正交尺寸。
在步骤S2222中,当所述俯仰角为第二俯仰角时,确定所述阴影相机的正交尺寸为第二正交尺寸。其中,所述第一俯仰角大于所述第二俯仰角,所述第一正交尺寸大于所述第二正交尺寸。
本公开实施例中,当俯仰角较大时(例如180度),计算获得的阴影相机具有较大的正交尺寸。当俯仰角较小时(例如90度),计算获得的阴影相机具有较小的正交尺寸。本公开实施例根据俯仰角的角度变化调整阴影相机的正交尺寸,在俯仰角较大时,主相机能够观察到的当前场景范围大,但此时对阴影的视觉观察反倒不敏感。通过调整阴影相机的正交尺寸使之变大能够增加阴影相机的视锥范围,进而能够在阴影质量可以不过分要求的情况下,获得更大的阴影范围。在俯仰角较小时,主相机能够观察到的当前场景范围小,此时对阴影的细节观察较为敏感。通过调整阴影相机的正交尺寸使之变小能够去除主相机视锥范围内无法观察到的信息,进而能够增加可观察到的阴影信息的精度。
在示例性实施例中,可根据俯仰角信息实时计算获得阴影相机的正交尺寸。其中,阴影相机的正交尺寸y与俯仰角信息x的函数表达式可表示为y=f(x),其中,f可例如为正比例函数,也可为单调增加函数,本公开对此并不作特殊限定。
图8示意性示出了根据图3的实施例的阴影实现前的阴影效果图;图9示意性示出了根据图3的实施例的阴影实现后的第一俯仰角的阴影效果图;图10示意性示出了根据图3的实施例的阴影实现后的第二俯仰角的阴影效果图。
如图8所示,本公开的游戏场景的阴影实现方法实施前,左图为主相机的阴影效果图,右图为阴影相机的视锥范围。本公开的游戏场景的阴影实现方法实施后,左图为俯仰角为第二俯仰角时主相机的阴影效果和阴影相机的视锥范围,右图为俯仰角为第一俯仰角时主相机的阴影效果和阴影相机的视锥范围。在本公开的游戏场景的阴影实现方法实施后,在俯仰角接近垂直时,阴影相机的视锥范围变小,能够生成精度更高的深度纹理信息,提高阴影精度;在俯仰角接近水平时,阴影相机的视锥范围变大,能够获得更大范围的阴影信息,避免出现主相机中部分角色没有阴影的现象。如图9、10中,本公开的游戏场景的阴影实现方法实施后,阴影的锯齿感降低,阴影细节的表现更加柔和。
图5示意性示出了根据本公开的另一个实施例的游戏场景的阴影实现方法的流程图。
如图5所示,本公开实施例的游戏场景的阴影实现方法可以包括以下步骤。
在步骤S510中,根据所述主相机的视锥范围确定所述阴影相机的视锥中心。
本公开实施例中,主相机的视锥范围即通过客户端显示设备能够观察到的当前场景的范围。由于主相机俯仰角的不同,主相机的视锥范围相对于主相机将不断变化。例如,在主相机俯仰角较大时(俯仰角为180度),主相机的视锥范围在视线方向具有较大延伸,相比于主相机俯仰角较小时的视锥范围更大。通过调整阴影相机的视锥范围,以使阴影相机的视锥范围与主相机的视锥范围重叠,能够保证主相机的视锥范围中,各角色均具有深度信息,进而保证在主相机视锥范围内各角色均能够生成阴影。
图6是基于图5的步骤S510在一个示例性实施例中的流程图。
如图6所示,上述图5实施例中的步骤S510可以进一步包括以下步骤。
在步骤S511中,根据所述主相机的视锥范围的中心调整所述阴影相机的位置,以使所述阴影相机的视锥中心与所述主相机的视锥中心重合。
本公开实施例中,在主相机的近裁面中,当前客户端控制的虚拟角色处于其中心位置。在主相机的远裁面中,由于主相机俯仰角的变化,当前客户端控制的虚拟角色仅在俯仰角为90度时才处于远裁面的中心位置,俯仰角为其余情况时,当前客户端控制的虚拟角色将不会处于中心位置。可通过计算远裁面的中心位置,确定主相机视锥范围的中心。
其中,可通过调整阴影相机在平行光方向的位置(或阴影相机在平行光方向看向的中心点),以调整阴影相机的位置。本公开实施例通过调整阴影相机的位置,以使阴影相机的视锥中心和所述主相机的视锥中心重合,能够保证主相机的视锥范围与阴影相机的视锥范围具有更高的重合度,进而保证主相机视锥范围内的各角色均具有阴影。同时,在通过阴影相机获取深度纹理信息时,能够避免计算没有出现在主相机视锥范围内的各角色的深度纹理信息,避免运算无用功,减小内存占用率。
如图8所示,本公开的游戏场景的阴影实现方法实施前,阴影相机的视锥中心为主角,本公开的游戏场景的阴影实现方法实施后,阴影相机的视锥中心有所偏移,并不以主角为中心,而是主相机视锥范围的中心位置,进而能够降低在深度纹理信息中在主相机的视锥范围中不存在区域占用的空间。如图9、10所示,本公开的游戏场景的阴影实现方法实施后,阴影的显示范围增加了,能够显示主相机可见范围内更远距离的角色阴影。
图7是基于图2的步骤S220在另一个示例性实施例中的流程图。
如图7所示,上述图2实施例中的步骤S220可以进一步包括以下步骤。
本公开实施例中,所述当前场景中的角色包括主角,所述角色阴影显示模式包括主角阴影显示模式。其中,主角阴影显示模式可根据接收到的客户端的更改指令进行设置,还可根据当前客户端的设备性能参数进行逻辑判断或计算,例如,根据当前客户端的设备性能参数计算获得当前客户端的性能指数,在所述性能指数小于预定阈值时,确认角色阴影显示模式为主角阴影显示模式,否则为所有角色阴影显示模式。
在步骤S223中,获取所述阴影空间中的主角的包围盒范围。其中,以矩形边界框(AABB)包围盒算法为例,主角的包围盒范围为一立方体,该立方体为包含主角,且边平行于坐标轴的最小六面体。矩形边界框包围盒算法通过六个标量即可描述主角的包围盒范围。但本公开的技术方案对包围盒算法的具体形式并不作特殊限定,还可采用包围球算法、方向包围盒算法等获得所述阴影空间中的主角的包围盒范围。
在步骤S224中,根据所述主角的包围盒范围确定所述阴影相机的正交尺寸。
在示例性实施例中,可根据所述主角的包围盒范围与预定富余尺寸确定所述阴影相机的正交尺寸。预定富余尺寸为根据应用场景设置的具体数值,本公开的技术方案对此并不作特殊限定。其中,可通过将主角的包围盒范围与预定富余尺寸相加,以确定阴影相机的视锥范围,并根据该视锥范围调整阴影相机的正交尺寸,以使该阴影相机达到上述所确定的视锥范围。
图11示意性示出了根据图7的实施例的阴影实现前的阴影效果图;图12示意性示出了根据图7的实施例的阴影实现后的阴影效果图。
如图11所示,本公开的游戏场景的阴影实现方法实施前,左图为主相机的阴影效果图,右图为阴影相机的视锥范围。如图12所示,本公开的游戏场景的阴影实现方法实施后,左图为主相机的阴影效果图,右图为阴影相机的视锥范围。根据图11、12可知,在本公开的游戏场景的阴影实现方法实施后,能够增加主角阴影的精度,降低阴影效果的锯齿感,并增加阴影细节的柔和度。
本公开实施例中,通过调整阴影相机的视锥范围,能够在具有一定富余空间的情况下,通过阴影相机获得更多主角的深度纹理信息,进而能够根据主角丰富的深度纹理信息生成精度较高的实时阴影,既增强了阴影效果,又能够降低内存占用率。
图13是基于图2的步骤S240在一个示例性实施例中的流程图。
如图13所示,上述图2实施例中的步骤S240可以进一步包括以下步骤。
在步骤S241中,通过投影变换将所述当前场景从世界坐标转化到阴影空间,获得所述当前场景中片元的转换深度信息。
在示例性实施例中,可对转换深度信息进行与上述实施中提及的相同尺度的归一化处理,以使转换深度信息和深度纹理信息具有相同的尺度,进而能够进行大小的比较。
本公开实施例中,当前场景中的各片元具有世界坐标的坐标系。通过将当前片元的世界坐标转换为阴影相机所在空间(阴影空间)中的坐标表达式,获得当前场景中各片元的转换深度信息。其中,当前片元的世界坐标可为主相机坐标。
在步骤S242中,根据所述当前场景中片元的转换深度信息及其深度纹理信息生成所述当前场景中所有角色的实时阴影。
本公开实施例中,当一片元的转换深度信息大于其深度纹理信息时,确认该片元处于阴影中,该片元在着色过程中不应该接受光照。进而,能够根据当前场景中片元的转换深度信息及其深度纹理信息确定阴影信息,以生成当前场景中所有角色的实时阴影。其中,可通过阴影渲染生成实时阴影。阴影渲染用于根据上述方式判断各片元是否在阴影中,并据此进行着色,以生成实时阴影。
在示例性实施例中,可通过阴影图(shadowMap)技术实现深度纹理信息的生成。其中,阴影图技术是最早应用在视频游戏中的阴影实现技术,有着非常高效和快速的特点,在实现阴影的同时只需要相对很小的计算负担。阴影图技术主要分为两步。第一步从光源方向(平行光)或光源点(点光源)绘制场景,将场景渲染到一张深度纹理图中。第二步就从主相机渲染,在渲染过程中将每个像素的深度(光照空间)和深度纹理中采样得到的深度进行比较,如果小于,则不处于阴影中,否则处于阴影中。然后根据比较结果进行着色和融合,以生成实时阴影。
以下介绍本公开的装置实施例,可以用于执行本公开上述的游戏场景的阴影实现方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的游戏场景的阴影实现方法的实施例。
图14示意性示出了根据本公开的一实施例的游戏场景的阴影实现装置的框图。
参照图14所示,根据本公开的一个实施例的游戏场景的阴影实现装置1400,可以包括:阴影模式确定模块1410、视锥调整模块1420、深度纹理信息生成模块1330以及阴影生成模块1440。
在游戏场景的阴影实现装置1400中,阴影模式确定模块1410可以配置为确定当前场景的角色阴影显示模式。
视锥调整模块1420可以配置为根据所述角色阴影显示模式,调整所述当前场景的阴影相机的视锥范围。
在示例性实施例中,所述角色阴影显示模式包括所有角色阴影显示模式。所述视锥调整模块1420可以包括俯仰角获取单元和第一正交尺寸确定单元。其中,俯仰角获取单元可以配置为获取所述当前场景的主相机的俯仰角信息;第一正交尺寸确定单元可以配置为根据所述俯仰角信息确定所述阴影相机的正交尺寸,以调整所述阴影相机的视锥范围。
在示例性实施例中,第一正交尺寸确定单元可以配置为当所述俯仰角为第一俯仰角时,确定所述阴影相机的正交尺寸为第一正交尺寸;当所述俯仰角为第二俯仰角时,确定所述阴影相机的正交尺寸为第二正交尺寸;其中,所述第一俯仰角大于所述第二俯仰角,所述第一正交尺寸大于所述第二正交尺寸。
在示例性实施例中,所述当前场景中的角色包括主角,所述角色阴影显示模式包括主角阴影显示模式。所述视锥调整模块1420可以包括包围盒范围获取单元和第二正交尺寸确定单元。其中,包围盒范围获取单元可以配置为获取所述阴影空间中的主角的包围盒范围;第二正交尺寸确定单元可以配置为根据所述主角的包围盒范围确定所述阴影相机的正交尺寸。
在示例性实施例中,第二正交尺寸确定单元可以配置为根据所述主角的包围盒范围与预定富余尺寸确定所述阴影相机的正交尺寸。
深度纹理信息生成模块1430可以配置为根据调整视锥范围后的阴影相机生成所述当前场景中片元的深度纹理信息。
阴影生成模块1440可以配置为根据调整的视锥范围绘制所述当前场景中的角色的实时阴影。
在示例性实施例中,阴影生成模块1430可以包括转换深度信息生成单元以及阴影生成单元。其中,转换深度信息生成单元可以配置为通过投影变换将所述当前场景从世界坐标转化到阴影空间,获得所述当前场景中片元的转换深度信息;阴影生成单元可以配置为根据所述当前场景中片元的转换深度信息及其深度纹理信息生成所述当前场景中所有角色的实时阴影。
在示例性实施例中,游戏场景的阴影实现装置1400还可以包括视锥中心调整模块,可以配置为根据所述主相机的视锥范围确定所述阴影相机的视锥中心。
在示例性实施例中,视锥中心调整模块可以配置为根据所述主相机的视锥范围的中心调整所述阴影相机的位置,以使所述阴影相机的视锥中心与所述主相机的视锥中心重合。
本公开实施方式提供的游戏场景的阴影实现装置,通过在阴影实现的过程中首先确定当前场景的角色阴影显示模式。并根据不同的角色阴影显示模式,对当前场景的阴影相机的视锥范围进行相应的调整,能够根据角色阴影显示模式以及当前场景中各属性的不同对视锥范围进行调整,以根据调整视锥范围后的阴影相机与转换深度信息绘制当前场景中的角色的实时阴影,从而提高阴影精度,增强显示效果。在同样实现阴影绘制过程的前提下,使得在根据阴影相机获得深度纹理信息阶段不必进行多重采样,从而降低内存压力,提高运行速率。
图15示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。需要说明的是,图15示出的电子设备的计算机系统1500仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图15所示,计算机系统1500包括中央处理单元(CPU)1501,其可以根据存储在只读存储器(ROM)1502中的程序或者从储存部分1508加载到随机访问存储器(RAM)1503中的程序而执行各种适当的动作和处理。在RAM 1503中,还存储有系统操作所需的各种程序和数据。CPU 1501、ROM 1502以及RAM 1503通过总线1504彼此相连。输入/输出(I/O)接口1505也连接至总线1504。
以下部件连接至I/O接口1505:包括键盘、鼠标等的输入部分1506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1507;包括硬盘等的储存部分1508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1509。通信部分1509经由诸如因特网的网络执行通信处理。驱动器1510也根据需要连接至I/O接口1505。可拆卸介质1511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1510上,以便于从其上读出的计算机程序根据需要被安装入储存部分1508。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1509从网络上被下载和安装,和/或从可拆卸介质1511被安装。在该计算机程序被中央处理单元(CPU)1501执行时,执行本申请的系统中限定的各种功能。
本发明实施例涉及的游戏场景的阴影实现方法或装置的示例性系统可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。
以分布式系统为区块链系统为例,参见图16,图16是本发明实施例提供的分布式系统1600应用于区块链系统的一个可选的结构示意图,由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(P2P,PeerTo Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission ControlProtocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图16示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图17,图17是本发明实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块和/或单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的模块和/或单元也可以设置在处理器中。其中,这些模块和/或单元的名称在某种情况下并不构成对该模块和/或单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图2或图3或图4或图5或图6或图7或图13所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (9)

1.一种游戏场景的阴影实现方法,其特征在于,包括:
确定当前场景的角色阴影显示模式;
根据所述角色阴影显示模式,调整所述当前场景的阴影相机的视锥范围;
根据调整视锥范围后的阴影相机生成所述当前场景中片元的深度纹理信息;
根据所述深度纹理信息与所述片元的转换深度信息绘制所述当前场景中的角色的实时阴影;
其中,所述角色阴影显示模式包括所有角色阴影显示模式,根据所述角色阴影显示模式,调整所述当前场景的阴影相机的视锥范围,包括:获取所述当前场景的主相机的俯仰角信息;根据所述俯仰角信息确定所述阴影相机的正交尺寸,以调整所述阴影相机的视锥范围;
当所述俯仰角为第一俯仰角时,确定所述阴影相机的正交尺寸为第一正交尺寸;当所述俯仰角为第二俯仰角时,确定所述阴影相机的正交尺寸为第二正交尺寸;其中,所述第一俯仰角大于所述第二俯仰角,所述第一正交尺寸大于所述第二正交尺寸。
2.如权利要求1所述的方法,其特征在于,还包括:
根据所述主相机的视锥范围确定所述阴影相机的视锥中心。
3.如权利要求2所述的方法,其特征在于,根据所述主相机的视锥范围确定所述阴影相机的视锥中心,包括:
根据所述主相机的视锥范围的中心调整所述阴影相机的位置,以使所述阴影相机的视锥中心与所述主相机的视锥中心重合。
4.如权利要求1所述的方法,其特征在于,所述当前场景中的角色包括主角,所述角色阴影显示模式包括主角阴影显示模式;其中,根据所述角色阴影显示模式,调整所述当前场景的阴影相机的视锥范围,包括:
获取阴影空间中的主角的包围盒范围;
根据所述主角的包围盒范围确定所述阴影相机的正交尺寸。
5.如权利要求4所述的方法,其特征在于,根据所述主角的包围盒范围确定所述阴影相机的正交尺寸,包括:
根据所述主角的包围盒范围与预定富余尺寸确定所述阴影相机的正交尺寸。
6.如权利要求1所述的方法,其特征在于,根据所述深度纹理信息与所述片元的转换深度信息绘制所述当前场景中的角色的实时阴影,包括:
通过投影变换将所述当前场景从世界坐标转化到阴影空间,获得所述当前场景中片元的转换深度信息;
根据所述当前场景中片元的转换深度信息及其深度纹理信息生成所述当前场景中所有角色的实时阴影。
7.一种游戏场景的阴影实现装置,其特征在于,包括:
阴影模式确定模块,用于确定当前场景的角色阴影显示模式;
视锥调整模块,用于根据所述角色阴影显示模式,调整所述当前场景的阴影相机的视锥范围;
深度纹理信息生成模块,用于根据调整视锥范围后的阴影相机生成所述当前场景中片元的深度纹理信息;
阴影生成模块,用于根据所述深度纹理信息与所述片元的转换深度信息绘制所述当前场景中的角色的实时阴影;
其中,所述角色阴影显示模式包括所有角色阴影显示模式;所述视锥调整模块包括俯仰角获取单元和第一正交尺寸确定单元;其中,俯仰角获取单元配置为获取所述当前场景的主相机的俯仰角信息;第一正交尺寸确定单元配置为根据所述俯仰角信息确定所述阴影相机的正交尺寸,以调整所述阴影相机的视锥范围;
在示例性实施例中,第一正交尺寸确定单元配置为当所述俯仰角为第一俯仰角时,确定所述阴影相机的正交尺寸为第一正交尺寸;当所述俯仰角为第二俯仰角时,确定所述阴影相机的正交尺寸为第二正交尺寸;其中,所述第一俯仰角大于所述第二俯仰角,所述第一正交尺寸大于所述第二正交尺寸。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
CN201910844485.5A 2019-09-06 2019-09-06 游戏场景的阴影实现方法、装置、电子设备及可读介质 Active CN110585713B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910844485.5A CN110585713B (zh) 2019-09-06 2019-09-06 游戏场景的阴影实现方法、装置、电子设备及可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910844485.5A CN110585713B (zh) 2019-09-06 2019-09-06 游戏场景的阴影实现方法、装置、电子设备及可读介质

Publications (2)

Publication Number Publication Date
CN110585713A CN110585713A (zh) 2019-12-20
CN110585713B true CN110585713B (zh) 2021-10-15

Family

ID=68858190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910844485.5A Active CN110585713B (zh) 2019-09-06 2019-09-06 游戏场景的阴影实现方法、装置、电子设备及可读介质

Country Status (1)

Country Link
CN (1) CN110585713B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111489430B (zh) * 2020-04-08 2024-03-01 网易(杭州)网络有限公司 游戏的光影数据处理方法、装置以及游戏设备
CN111862295A (zh) * 2020-07-17 2020-10-30 完美世界(重庆)互动科技有限公司 一种虚拟对象的展示方法、装置、设备和存储介质
CN112396683A (zh) * 2020-11-30 2021-02-23 腾讯科技(深圳)有限公司 虚拟场景的阴影渲染方法、装置、设备及存储介质
CN112752025B (zh) * 2020-12-29 2022-08-05 珠海金山网络游戏科技有限公司 虚拟场景的镜头切换方法及装置
CN113283543B (zh) * 2021-06-24 2022-04-15 北京优锘科技有限公司 一种基于WebGL的图像投影融合方法、装置、存储介质和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108038897A (zh) * 2017-12-06 2018-05-15 北京像素软件科技股份有限公司 阴影贴图生成方法及装置
CN109993823A (zh) * 2019-04-11 2019-07-09 腾讯科技(深圳)有限公司 阴影渲染方法、装置、终端及存储介质
CN110152291A (zh) * 2018-12-13 2019-08-23 腾讯科技(深圳)有限公司 游戏画面的渲染方法、装置、终端及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100452089B1 (ko) * 2004-06-23 2004-10-13 엔에이치엔(주) 게임 화면을 갱신하기 위한 오브젝트를 로딩하는 이미지리소스 로딩 시스템 및 이미지 리소스 로딩 방법
CN102831634B (zh) * 2012-08-16 2015-04-29 北京航空航天大学 一种高效精确的通用软阴影生成方法
CN104299257B (zh) * 2014-07-18 2018-05-04 无锡梵天信息技术股份有限公司 一种基于室外太阳光实现实时动态阴影的方法
CN106780709B (zh) * 2016-12-02 2018-09-07 腾讯科技(深圳)有限公司 一种确定全局光照信息的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108038897A (zh) * 2017-12-06 2018-05-15 北京像素软件科技股份有限公司 阴影贴图生成方法及装置
CN110152291A (zh) * 2018-12-13 2019-08-23 腾讯科技(深圳)有限公司 游戏画面的渲染方法、装置、终端及存储介质
CN109993823A (zh) * 2019-04-11 2019-07-09 腾讯科技(深圳)有限公司 阴影渲染方法、装置、终端及存储介质

Also Published As

Publication number Publication date
CN110585713A (zh) 2019-12-20

Similar Documents

Publication Publication Date Title
CN110585713B (zh) 游戏场景的阴影实现方法、装置、电子设备及可读介质
US11620800B2 (en) Three dimensional reconstruction of objects based on geolocation and image data
EP3754464A1 (en) Merged reality spatial streaming of virtual spaces
EP3332565B1 (en) Mixed reality social interaction
US9717988B2 (en) Rendering system, rendering server, control method thereof, program, and recording medium
US20190188897A1 (en) Method for Rendering an Augmented Object
US8363051B2 (en) Non-real-time enhanced image snapshot in a virtual world system
JP7425196B2 (ja) ハイブリッドストリーミング
US9483868B1 (en) Three-dimensional visual representations for mobile devices
US11423605B2 (en) Systems and methods for remastering a game space while maintaining the underlying game simulation
US20230290043A1 (en) Picture generation method and apparatus, device, and medium
CN104574496A (zh) 一种计算光照图的静态阴影和动态阴影融合的方法及装置
CN111142967B (zh) 一种增强现实显示的方法、装置、电子设备和存储介质
CN113230659A (zh) 一种游戏的显示控制方法及装置
CN113546410A (zh) 地形模型渲染方法、装置、电子设备和存储介质
CN109859294A (zh) 一种vr动漫人物三维建模优化方法
CN112862968B (zh) 目标植被模型的渲染显示方法、装置、设备及存储介质
JP2020091811A (ja) 多コンテンツ描画システム及び多コンテンツ描画方法
US20230124297A1 (en) Hidden surface removal for layered clothing for an avatar body
WO2023164244A1 (en) Methods and systems for facilitating the cooperation of large numbers of computing devices with particular application to maintaining, presenting and editing a shared 3-dimensional virtual space to multiple users
CN116958365A (zh) 虚拟地形的处理方法、装置、设备、介质和程序产品
CN116977540A (zh) 体积云的渲染方法、装置、电子设备及存储介质
CN117893659A (zh) 一种基于分布式计算的ar渲染方法、装置及电子设备

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
GR01 Patent grant
GR01 Patent grant