CN117274475A - 光晕效果的渲染方法、装置、电子设备和可读存储介质 - Google Patents
光晕效果的渲染方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN117274475A CN117274475A CN202311317090.2A CN202311317090A CN117274475A CN 117274475 A CN117274475 A CN 117274475A CN 202311317090 A CN202311317090 A CN 202311317090A CN 117274475 A CN117274475 A CN 117274475A
- Authority
- CN
- China
- Prior art keywords
- halation
- model
- target
- halo
- models
- 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
Links
- 125000001475 halogen functional group Chemical group 0.000 title claims abstract description 275
- 230000000694 effects Effects 0.000 title claims abstract description 107
- 238000009877 rendering Methods 0.000 title claims abstract description 90
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000000007 visual effect Effects 0.000 claims abstract description 43
- 238000006073 displacement reaction Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 238000005070 sampling Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000001795 light effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种光晕效果的渲染方法、装置、电子设备和计算机可读存储介质,本申请实施例通过设置依次排列的至少两个光晕模型;确定拍摄光晕模型的虚拟相机的目标视角;基于各个光晕模型之间的相对位置关系,分别获取目标视角下的各个光晕模型在屏幕空间中的位姿调整参数;基于各个光晕模型对应的位姿调整参数,确定目标视角下的各个光晕模型在屏幕空间中的目标位姿信息;基于各个光晕模型的目标位姿信息,对目标视角下的至少两个光晕模型进行光晕效果的渲染。本申请实施例可以提高光晕效果的真实性。
Description
技术领域
本申请涉及渲染技术领域,具体涉及一种光晕效果的渲染方法、装置、电子设备和计算机可读存储介质。
背景技术
在互联网的浪潮下,硬件和软件技术的不断发展和演进,促进了智能设备和软件的出现。与此同时,涌现出大量的、不同题材的游戏,以满足用户的需求。目前,为了游戏中的画面呈现出更为真实的显示效果,可在画面中设置多个光晕图案,以生成的光晕效果。
在现有技术中,一般可以通过提取画面中的场景颜色,然后通过过滤的方式获取画面中的高亮区域,再将高亮区域进行多次模糊处理,并以屏幕中心点为轴心,进行多次对称缩放处理,以在画面中生成光晕效果。
但现有技术生成光晕效果所用到的图案,是经过画面过滤出来的图案,所以无法针对每个图案作针对性的调整,导致自由度较差,从而致使生成的光晕效果的真实性较差。
发明内容
本申请实施例提供一种光晕效果的渲染方法、装置、电子设备和计算机可读存储介质,可以提高光晕效果的真实性。
第一方面,本申请实施例提供一种光晕效果的渲染方法,上述方法包括:
设置依次排列的至少两个光晕模型;
确定拍摄上述光晕模型的虚拟相机的目标视角;
基于各个上述光晕模型之间的相对位置关系,分别获取上述目标视角下的各个上述光晕模型在屏幕空间中的位姿调整参数;
基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息;
基于各个上述光晕模型的目标位姿信息,对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染。
第二方面,本申请实施例还提供一种光晕效果的渲染装置,上述装置包括:
模型设置模块,用于设置依次排列的至少两个光晕模型;
视角确定模块,用于确定拍摄上述光晕模型的虚拟相机的目标视角;
参数获取模块,用于基于各个上述光晕模型之间的相对位置关系,分别获取上述目标视角下的各个上述光晕模型在屏幕空间中的位姿调整参数;
信息确定模块,用于基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息;
渲染模块,用于基于各个上述光晕模型的目标位姿信息,对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染。
第三方面,本申请实施例还提供一种电子设备,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本申请实施例所提供的任一种光晕效果的渲染方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种光晕效果的渲染方法。
本申请实施例中,通过设置依次排列的至少两个光晕模型;确定拍摄上述光晕模型的虚拟相机的目标视角;基于各个上述光晕模型之间的相对位置关系,分别获取上述目标视角下的各个上述光晕模型在屏幕空间中的位姿调整参数;基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息;基于各个上述光晕模型的目标位姿信息,对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染,从而通过分别对不同的光晕模型作针对性的调整,以提高光晕效果的真实性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的光晕效果的渲染方法的场景示意图;
图2是本申请实施例提供的光晕效果的渲染方法的一种实施例流程示意图;
图3a是本申请实施例中提供的光晕模型示意图;
图3b是本申请实施例中提供的目标贴图示意图;
图3c是本申请实施例中提供的纹理采样后的光晕模型示意图;
图4是本申请实施例中提供的光晕模型的摆放示意图;
图5a是本申请实施例中提供的光晕模型的一种位姿示意图;
图5b是本申请实施例中提供的光晕模型的另一种位姿示意图;
图6a是本申请实施例中提供的光晕模型的一种偏移示意图;
图6b是本申请实施例中提供的光晕模型的另一种偏移示意图;
图6c是本申请实施例中提供的光晕模型的再一种偏移示意图;
图7a是本申请实施例提供的光晕模型在屏幕空间中进行位姿调整之前的位置示意图;
图7b是本申请实施例提供的屏幕空间中心点示意图;
图7c是本申请实施例提供的光晕模型在目标视角下的偏移结果示意图;
图8a是本申请实施例中提供的光晕模型朝向示意图;
图8b是本申请实施例中提供的光晕模型的旋转指示参数示意图;
图9是本申请实施例中提供的光晕模型的缩放示意图;
图10是本申请实施例中提供的光晕模型缩放至原点的场景示意图;
图11a是本申请实施例中提供的光晕模型的一种顶点方向示意图;
图11b是本申请实施例中提供的光晕模型的另一种顶点方向示意图;
图12a是本申请实施例中提供的光晕模型的一种深度对比示意图;
图12b是本申请实施例中提供的光晕模型的另一种深度对比示意图;
图12c是本申请实施例中提供的光晕模型的再一种深度对比示意图;
图12d是本申请实施例中提供的光晕模型的又一种深度对比示意图;
图13是本申请实施例中提供的应用场景示意图;
图14是本申请实施例提供的光晕效果的渲染装置的结构示意图;
图15是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在对本申请实施例进行详细地解释说明之前,先对本申请实施例涉及到的一些名词进行解释说明。
其中,在本申请实施例的描述中,术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例提供一种光晕效果的渲染方法、装置、电子设备和计算机可读存储介质。具体地,本申请实施例的光晕效果的渲染方法可以由电子设备执行,其中,该电子设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal DigitalAssistant,PDA)等终端设备,终端还可以包括客户端,该客户端可以是游戏应用客户端、携带有游戏程序的浏览器客户端或即时通信客户端等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
例如,如图1所示,该电子设备以终端10为例进行说明,该终端可以设置依次排列的至少两个光晕模型;确定拍摄上述光晕模型的虚拟相机的目标视角;基于各个上述光晕模型之间的相对位置关系,分别获取上述目标视角下的各个上述光晕模型在屏幕空间中的位姿调整参数;基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息;基于各个上述光晕模型的目标位姿信息,对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染。
基于上述问题,本申请实施例提供一种光晕效果的渲染方法、装置、电子设备和计算机可读存储介质,可以提高光晕效果的真实性。
以下结合附图分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于附图所示的顺序执行所示出或描述的步骤。
在本实施例中,以终端为例进行说明,本实施例提供了一种光晕效果的渲染方法,如图2所示,该光晕效果的渲染方法的具体流程可以如下:
201、设置依次排列的至少两个光晕模型。
可以理解的是,由于现有技术是对整张画面进行处理,来过滤到多个图案,而无法针对单个图像进行针对性调整,所以,在本实施例中,终端可以直接设置光晕效果所需的至少两个光晕模型,每一个光晕模型对应光晕效果每层所需的一个光晕图案,即组成光晕效果需要多少层图案,就设置对应数量的光晕模型,从而仅需对光晕模型进行针对性调整,即可实现对相应光晕图案的调整,提高了生成光晕效果时的精度,以及显示光晕效果时的显示效果。
并且,由于光晕效果所需的光晕模型有两个及两个以上,所以,为了明确在不同视角下每一个光晕模型对应的调整方式,以及该调整方式所需的调整参数,在本实施例中,终端可以通过将两个及两个以上的光晕模型依次排列设置,以基于光晕模型之间的相对位置关系,即可明确在某一视角下不同的光晕模型所对应的调整方式。
其中,上述光晕模型可以是四边形、圆形或与光晕图案对应的不规则形等。
其中,上述光晕效果可以是镜头光晕(记为Lensflare)效果,该Lensflare是指在镜头摄影或3D渲染中出现的一种光效,该效果通过添加模拟光线的光源,以由光线穿过镜头时所发生反射、散射和漏光等现象所形成的。通常Lensflare表现为一些亮点、光晕和光柱等光晕效果,通过渲染镜头光晕效果可以在照片或渲染图像中增加一种艺术感,从而营造出一种真实、浪漫、神秘或未来感的氛围。一般上述光晕效果通常用于电影、广告、游戏等领域中,以增强视觉效果和表现力。
在一些实施例中,为了能够统一控制上述至少两个光晕模型的不同视角下对应的调整方式,终端可以将上述至少两个光晕模型重叠放置在第一套UV空间(记为Channel0)中,并且通过将模型铺满整个象限,来最大化贴图精度,而且可以在有需求时,直接调用第一套UV,以便于同时对至少两个光晕模型分别进行控制调整。
在一些实施例中,终端可以将上述至少两个光晕模型进行合并,还可将至少两个光晕模型分别对应的光晕纹理贴图也进行合并,以便于在为渲染进行采样时,可以减少采样次数,避免了通过多个材质和多张贴图进行采样,减少资源消耗,提高性能。
示例性地,如图3a所示,终端可以设定光晕效果所需9个光晕模型,并且将光晕模型均设置为四边形,也即当前有9个四边形模型,可以将9个四边形模型合并为一个模型。
具体地,终端可以采用Atlas技术将至少两个光晕模型分别对应的光晕纹理贴图进行合并,得到目标贴图,从而极大的减少采样次数。可以理解的是,在得到的目标贴图中,每个光晕模型对应的纹理信息均被分配了一个独立的矩形区域,从而终端可以通过目标贴图中的不同矩形区域对应的坐标来访问某一光晕模型对应的纹理信息,以通过访问到的该光晕模型对应的纹理信息进行渲染。
其中,上述Atlas技术是一种将多张小图片合成为一张大图片的技术,合并后的大图片可以称为目标贴图(记为Atlas Texture),通过使用目标贴图来减少纹理切换次数,从而提高渲染性能。例如,一个游戏场景中可能需要使用多张地图纹理贴图,来绘制多种类型的地形、建筑、植物等元素,而通过Atlas技术可以将这些不同元素的地图纹理贴图来合并成一张目标贴图,减少了纹理切换的次数,提高了渲染效率。
示例性地,如图3b所示,从图3b中可以看出,终端将至少两个光晕模型所需的纹理贴图合并在一张图中,而终端可以将图3b中的各个光晕模型对应的纹理信息采样到图3a合并后的由各个光晕模型组成的模型上,如图3c所示。
在一些实施例中,由于上述光晕模型存在多个,而为了在对上述光晕模型相关的纹理贴图进行采样时能够准确且快速的从众多纹理贴图中确定某一光晕模型所对应的纹理贴图,又或者从上述目标贴图中确定某一光晕模型所对应的纹理信息,还为了后期在获取位姿调整参数时能够准确且快速的从众多位姿调整参数中确定某一光晕模型所对应的位姿调整参数。
在本实施例中,终端可以通过索引的方式来索引各光晕模型所对应的纹理贴图或纹理信息,以及位姿调整参数。如终端可以预先为与光晕模型关联的纹理贴图、纹理信息或位姿调整参数设置对应的索引值,例如每一光晕模型对应一索引值,从而通过索引函数以基于该索引值来索引与光晕模型关联的纹理贴图、纹理信息或位姿调整参数。
具体地,终端可以配置一对应的参数数组,在该参数数组中包括至少两个参数索引值,以及上述参数索引值对应的位姿调整参数和纹理指示信息。其中,每一参数索引值对应一光晕模型。
其中,上述纹理指示信息根据光晕模型所对应的纹理信息获取方式的不同而不同,例如,若每一光晕模型对应一光晕纹理贴图,从光晕模型对应的光晕纹理贴图中获取纹理信息,则上述纹理指示信息为光晕纹理贴图的存储位置,以基于该存储位置获取光晕模型对应的光晕纹理贴图,再从该光晕纹理贴图中获取纹理信息;而倘若多个光晕模型对应一目标贴图,从目标贴图的某一区域获取光晕模型对应的纹理信息,则上述纹理指示信息为目标贴图上的坐标,以基于该坐标从目标贴图中确定存储光晕模型对应的纹理信息的区域。
其中,上述位姿调整参数可以包括光晕模型的位置偏移参数和姿态调整参数,如姿态调整参数可以包括缩放参数、旋转参数等,具体根据需求进行设定,在此不做限定。
可以理解的是,上述数组是一种数据结构,用于存储一组相同类型的数据元素,其可以由一组连续的内存单元组成,每个内存单元存储一个数据元素。数组中的每个元素都可以通过一个整数下标来访问,下标可以从0开始,以表示数组中第一个元素的位置。数组可以存储基本数据类型、对象或其他数组等数据结构。通过数组是可以快速访问任何一个元素,具有高效的随机访问速度。它也可以通过循环遍历的方式来处理所有元素。在许多编程语言中,数组是一个重要的数据结构,被广泛用于程序设计中。在本实施例中,上述正数下标用于指示光晕模型对应的参数索引值,而元素对应各光晕模型的位姿调整参数和纹理指示信息。
在一些实施例中,上述参数索引值的确定方式可以是随机为每一光晕模型赋予一参数索引值,也可以是按照预设规则为每一光晕模型赋予一参数索引值,其中,上述预设规则可以根据需求进行设定,在此不做限定,例如终端可基于至少两个光晕模型之间的相对位置关系,来确定各个光晕模型对应的参数索引值,如上述排列在第一个的光晕模型所对应的参数索引值为1,排列在第二个的光晕模型所对应的参数索引值为2,并以此类推。
具体地,终端可以将至少两个上述光晕模型以方向从左到右依次排列在预设的第二套UV空间(记为Channel1)中,其中无论上述光晕模型的数量是多少,上述光晕模型均排列的Channel1中的一层,如倘若有25个光晕模型,那么每个光晕模型占据Channel1的一层中的1/25。
在需确定光晕模型对应的参数索引值时,终端可以获取第二套UV空间中的各个光晕模型的横轴信息或纵轴信息,对该横轴信息或纵轴信息进行处理得到对应的参数索引值,如倘若UV空间的横轴或纵轴的长度都是0至1,那么通过对光晕模型的横轴信息或纵轴信息乘以10再进行向下取整,就可以得到各光晕模型对应的参数索引值。
示例性地,如图4所示,设定当前有9个光晕模型,那么可以以10%为单位对光晕模型依次在UV空间的横轴上摆放,得到各个光晕模型对应的横轴信息从而通过multiply函数将每个光晕模型的横轴信息乘以10,得到各个光晕模型对应的处理后坐标信息,再通过Floor函数对每个光晕模型对应的处理后坐标信息向下取整,即可为9个光晕模型从左到右分别赋以0-9的值。
202、确定拍摄上述光晕模型的虚拟相机的目标视角。
可以理解的是,由于光晕模型在不同的视角下所呈现的位姿是不同的,如图5a和5b所示,所以,为了能够明确所述光晕模型在某一视角下的位姿,以便于进行渲染,在本实施例中,终端需明确用于拍摄上述光晕模型的虚拟相机的目标视角,该目标视角可以为虚拟相机的当前视角,也可以为虚拟相机的预设的视角。
203、基于各个上述光晕模型之间的相对位置关系,分别获取上述目标视角下的各个上述光晕模型在屏幕空间中的位姿调整参数。
可以理解的是,由于至少两个光晕模型是依次排列的,所以在不同视角下不同位置的光晕模型所需进行位姿调整的参数是不同的,如排在第一个位置的光晕模型相对于排在第二个位置的光晕模型的在位置上偏移的参数是不同的,所以,在本实施例中,终端需基于各个光晕模型之间的相对位置关系,来获取相应的位姿调整参数,即若光晕模型处于模型排列后的第一个位置,那么就需获取第一个位置在目标视角下所对应的位姿调整参数。
在一些实施例中,为了提高位姿调整参数的获取速度,上述基于各个上述光晕模型之间的相对位置关系,分别获取上述目标视角下的各个上述光晕模型在屏幕空间中的位姿调整参数,可以包括:基于各个上述光晕模型之间的相对位置关系,确定各个上述光晕模型对应的参数索引值;基于各个上述光晕模型对应的参数索引值,从预设的参数数组中获取各个上述光晕模型对应的位姿调整参数,其中,上述参数数组中包括至少两个参数索引值,以及上述参数索引值对应的位姿调整参数。
在一些实施例中,终端可获取相应的调整请求,以根据调整请求中携带的对目标位姿调整参数的调整信息,来对数组中的目标位姿调整参数进行修改,从而实现对光晕效果的改变。
204、基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息。
在本实施例中,终端基于各个光晕模型对应的位姿调整参数,可以实现在屏幕空间中将光晕模型的位姿进行调整,以得到在屏幕空间中的位姿调整后的光晕模型,而位姿调整后的光晕模型的当前位姿信息,即上述目标位姿信息,也即目标视角下光晕模型需呈现的位姿信息。
其中,上述位姿信息可以包括光晕模型的位置和姿态信息,而由于光晕模型是由多个顶点组成,所以上述位姿信息还可以包括光晕模型的各个顶点的顶点位置,基于各个顶点的顶点位置即可明确光晕模型的位置和姿态信息,具体根据需求进行设定,在此不做限定。
在一些实施例中,由于光晕模型是在屏幕上进行显示的,即光晕模型的位姿变化效果的呈现是二维的,如光晕模型的位置偏移仅仅只能往一个朝向偏移,倘若直接在三维的世界空间中进行位姿调整,多个光晕模型是无法直接紧随着视角移动而变换的,如图6a所示,在不同视角下光晕模型所组成的光晕特效均如图6a所示,只是看到的区域不同,如仅看到部分的光晕模型。所以,为了能够正确且快速的调整光晕模型的位姿变化,在本实施例中,需将在上述屏幕空间中对光晕模型进行位姿调整,例如,在进行光晕模型的位置偏移时,设置相对于屏幕空间的中心点的不同位置偏移参数,即各个光晕模型以屏幕空间的中心点为基准进行偏移,实现距离屏幕中心点越近,光晕模型的聚集越紧密,如图6b所示,而越偏离屏幕中心点,光晕模型的聚集越松散,如图6c所示。
其中,倘若光晕模型是处于世界坐标系中,那么在对光晕模型进行位姿调整时,需将光晕模型由世界坐标系转换到屏幕空间中,然后基于上述位姿调整参数,在屏幕空间中对光晕模型进行位姿调整。
具体地,终端可以通过TransformToClipSpace节点将光晕模型由世界坐标系转换到屏幕空间中,即得到了光晕模型在屏幕空间中的位置,也即光晕模型在屏幕空间中进行位姿调整之前的位置。其中,通过TransformToClipSpace节点中的Clip Space XY的输出可以将光晕模型映射在-1到1的区间中。
在一些实施例中,上述位姿调整参数包括位置偏移参数,即位置偏移量,上述目标位姿信息包括目标位置,上述基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息,可以包括:获取上述光晕模型在上述屏幕空间中的初始位置信息;基于上述光晕模型的位置偏移参数和上述初始位置信息,确定上述目标视角下的上述光晕模型在上述屏幕空间中偏移后的目标位置。
其中,上述光晕模型在上述屏幕空间中的初始位置信息可以是光晕模型在屏幕空间中进行位姿调整之前的位置,也可以是屏幕空间中心点位置,可以理解的是,初始位置信息的不同所对应的位置偏移参数也存在不同,倘若初始位置信息是光晕模型在屏幕空间中进行位姿调整之前的位置,那么位置偏移参数是基于光晕模型在屏幕空间中进行位姿调整之前的位置进行偏移的位置偏移量,而倘若初始位置信息是屏幕空间中心点位置,那么位置偏移参数是基于屏幕空间中心点位置进行偏移的位置偏移量。
可以理解的是,光晕模型在进行位置偏移时是需要依据位置偏移方向进行偏移,终端可以基于光晕模型在屏幕空间中进行位姿调整之前的位置和屏幕空间中心点位置确定光晕模型的位置偏移方向。
具体地,可以通过multiply函数来对上述光晕模型的位置偏移参数和上述初始位置信息进行处理,再基于屏幕空间的中心点位置,即可得到光晕模型在上述屏幕空间中偏移后的目标位置。其中,可以通过模型在第一套UV空间的坐标,即中心点坐标,来减去目标位置,就可以明确光晕模型以屏幕中心点为中点进行偏移的方向和该方向下的偏移量。
示例性地,如图7a所示,图7a中的(x,y)为光晕模型在屏幕空间中进行位姿调整之前的位置,由于光晕模型是以屏幕空间中心点(0,0)为基准进行偏移的,所以,如图7b所示,终端可以基于屏幕空间中心点确定光晕模型的偏移方向,最后再结合位置偏移参数,得到光晕模型在目标视角下的偏移结果,即上述目标位置,如图7c中的(x’,y’)。
在一些实施例中,由于在目标视角下不同位置的光晕模型所呈现的位姿是不同的,如不同位置旋转的角度是不同的,所以,可基于光晕模型偏移后的位置来确定光晕模型在该位置上如何进行旋转。
具体地,上述目标位姿信息可以包括目标姿态信息,上述基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息,可以包括:基于上述光晕模型的目标位置,确定位置偏移后的上述光晕模型与上述屏幕空间的中心点之间的相对位置;基于上述相对位置,确定位置偏移后的上述光晕模型的旋转指示参数;获取上述光晕模型在上述屏幕空间中的初始姿态信息;基于上述旋转指示参数和上述初始姿态信息,确定上述目标视角下的位置偏移后的上述光晕模型在上述屏幕空间中的旋转后的目标姿态信息。
其中,上述相对位置可以是位置偏移后的上述光晕模型在屏幕空间的中心点的具体方位、位置偏移后的上述光晕模型与屏幕空间的中心点之间的相对角度等。
其中,上述旋转指示参数用于指示光晕模型在目标位置上的旋转量,例如该旋转指示参数可以是旋转角度。
其中,上述初始姿态信息可以是光晕模型在屏幕空间中进行位姿调整之前的姿态,也可以是光晕模型从未进行调整的姿态。可以理解的是,初始姿态信息的不同所对应的旋转指示参数也存在不同,倘若初始姿态信息是光晕模型在屏幕空间中进行位姿调整之前的姿态,那么旋转指示参数是基于光晕模型在屏幕空间中进行位姿调整之前的姿态进行旋转的旋转量,而倘若初始姿态信息是光晕模型从未进行调整的姿态,那么旋转指示参数是基于光晕模型从未进行调整的姿态进行旋转的旋转量。
可以理解的是,由于每个光晕模型都是朝向屏幕空间的中心点,即原点,所以,可以以屏幕空间的中心点为基准,确定位置偏移后的上述光晕模型与其的相对位置,以基于该相对位置确定光晕模型对应的偏移情况。
具体地,上述确定位置偏移后的上述光晕模型与上述屏幕空间的中心点之间的相对位置,可以包括:确定上述屏幕空间的中心点在预设基准方向上的基准向量,以及确定上述屏幕空间的中心点和上述目标位置之间的目标向量;确定上述基准向量和上述目标向量之间的相对角度;相应的,上述基于上述相对位置,确定位置偏移后的上述光晕模型的旋转指示参数,可以包括:基于上述相对角度,将上述相对角度对应的旋转指示参数作为位置偏移后的上述光晕模型的旋转指示参数。
其中,上述基准方向可以是上述屏幕空间的中心点的一坐标轴方向,通过确定目标位置和屏幕空间的中心点之间的向量与该基准方向对应的向量之间的夹角,来确定位置偏移后的上述光晕模型与上述屏幕空间的中心点之间的相对位置,进而确定对应的旋转指示参数。
其中,上述相对角度可以是以顺时针方向计算,也可以是以逆时针方向进行计算,计算方式的不同,将导致相对角度对应的旋转指示参数不同。终端可以为不同计算方式下的多个相对角度配置不同的旋转指示参数,以基于该相对角度,确定对应的旋转指示参数。
其中,在计算出上述相对角度之后,可以将上述相对角度进行映射到一预设区间中,如0至1,以便于终端基于映射后的数值进行旋转指示参数的确定。
示例性地,如图8a所示,图8a中的屏幕空间的中心点在图片中的右上角,可以看出图8a中的光晕模型均在屏幕空间的中心点的左下方,那么若将相对角度映射在0至1区间,则可得到如图8b所示的顺时针渐变数值,基于图8b的顺时针渐变数值可见,图8a中的光晕模型均在0.5至0.75范围内,所以可基于各光晕模型对应的数值,确定各光晕模型对应的旋转指示参数,如图8b中的一光晕模型对应的0.625,从而对各光晕模型进行旋转,得到旋转后的各光晕模型,即旋转后的各光晕模型的姿态信息为上述旋转后的目标姿态信息。
具体地,终端可以通过Arctangent函数对各光晕模型的目标位置进行换算,得到在以屏幕空间的中心点为原点的顺时针渐进变化的数值区间中,各光晕模型对应的相对角度,然后将其映射到预设区间中,得到映射后的数值,如终端可以通过Add节点将相对角度和π相加,得到相加结果,并通过multiply函数将相加结果和1/4π相乘,得到相乘结果,该相乘结果即为上述映射后的数值。然后,终端再通过CustomRotator函数基于映射后的数值进行旋转操作。
在一些实施例中,上述位姿调整参数包括姿态调整参数,上述目标位姿信息包括目标姿态信息,上述基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息,可以包括:获取上述光晕模型在上述屏幕空间中的初始姿态信息;基于上述光晕模型的姿态调整参数和上述初始姿态信息,确定上述目标视角下的上述光晕模型在上述屏幕空间中姿态调整后的目标姿态信息。
其中,由于光晕模型的位置偏移会导致光晕模型的姿态存在调整,如上述旋转后的目标姿态信息,所以,本实施例中的基于姿态调整参数进行的姿态调整,可以和上述旋转后的目标姿态信息相结合。
例如,终端可以基于基于上述旋转指示参数、上述姿态调整参数和上述初始姿态信息,确定上述目标视角下的位置偏移后的上述光晕模型在上述屏幕空间中的姿态调整后的目标姿态信息。
具体地,上述姿态调整参数可以包括缩放参数,上述基于上述光晕模型的姿态调整参数和上述初始姿态信息,确定上述目标视角下的上述光晕模型在上述屏幕空间中姿态调整后的目标姿态信息,可以包括:基于缩放参数和上述初始姿态信息,确定上述目标视角下的上述光晕模型在上述屏幕空间中缩放后的目标姿态信息。
其中,通过multiply函数来对上述光晕模型的缩放参数和上述初始姿态信息。在进行缩放时的初始姿态信息可以是光晕模型的尺寸,也可以是光晕模型的各个顶点的顶点位置,以基于各个顶点的顶点位置进行缩放,如图9所示,图9所示为缩放后的各个光晕模型。
在一些实施例中,为了便于进行位姿调整操作,若光晕模型在第一套UV空间中的坐标轴的原点为左下角,那么可以将坐标轴的原点转换为光晕模型的中心点,以便于进行位姿调整操作。
具体地,若光晕模型所处的区间为0至1,那么可通过减0.5的方式,将坐标轴的原点转换为光晕模型的中心点,即将原点由(0,0)转换为(0.5,0.5)。
205、基于各个上述光晕模型的目标位姿信息,对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染。
在本实施例中,终端基于得到的位姿调整后的各个光晕模型对应的目标位姿信息,进行目标视角下的光晕效果的渲染,得到真实性较高的光晕效果,如图5a和图5b所示,而通过较为真实的光晕效果,实现了让画面呈现更加真实显示效果,以提升整体的画面质感和表现力。
在一些实施例中,由于上述光晕模型的调整是在屏幕空间中进行的,所以在渲染时需先将其转换在世界空间中。
具体地,上述基于各个上述光晕模型的目标位姿信息,对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染,可以包括:终端可以基于各个上述光晕模型的目标位姿信息,进行坐标系转换,将目标位姿信息转换到预设的世界空间中,从而在预设的世界空间中展示位姿调整后的各个上述光晕模型。然后,终端可以基于在上述世界空间中展示的各个上述光晕模型,对上述目标视角下的各个上述光晕模型进行光晕效果的渲染。
在本实施例中,终端可以基于在上述世界空间中展示的各个上述光晕模型,通过上述虚拟相机对世界空间中的光晕模型进行拍摄采集,以基于拍摄采集结果,对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染。
其中,终端可以通过ActorPostion将目标位姿信息转换到世界空间中。
在一些实施例中,由于光晕模型显示时是朝向虚拟相机的,所以需实现让光晕模型均朝向于虚拟相机,即可以通过调整模型的各个顶点的顶点位置实现朝向问题。
具体地,上述目标位姿信息还包括上述光晕模型的各个顶点的目标顶点位置,当光晕模型的中心点为原点时,上述基于各个上述光晕模型的目标位姿信息,在预设的世界空间中展示位姿调整后的各个上述光晕模型,可以包括:终端可以将上述光晕模型的各个顶点缩在上述世界空间中的原点位置。然后,终端基于上述光晕模型的各个顶点的目标顶点位置,然后将各个顶点以对应的偏移方向进行拉伸,即在上述世界空间中分别将上述光晕模型的各个顶点由原点位置调至上述目标顶点位置。
示例性地,如图10所示,若光晕模型的各个顶点A、B、C、D的目标顶点位置分别为(-1,0,1)、(1,0,1)、(-1,0,-1)和(1,0,-1),那么可通过将各个顶点减去其自身的坐标,实现将上述光晕模型的各个顶点缩在上述世界空间中的原点位置。
在一些实施例中,由于顶点在进行偏移时,是以切线方向和/或副切线方向进行偏移的,而光晕模型在未进行坐标转换时,其在屏幕空间中的原点为左下角,所以光晕模型上的每个顶点的切线方向是一致的,副切线方向也是一致的,而倘若每个顶点的切线方向和副切线方向一致是无法在世界空间中将光晕模型由原点位置伸展至目标位姿信息对应的位置,所以需将光晕模型的部分顶点的切线方向和/或副切线方向进行调整。
具体地,在基于上述光晕模型的各个顶点的目标顶点位置,在上述世界空间中分别将上述光晕模型的各个顶点由原点位置调至上述目标顶点位置之前,还可以包括:以上述光晕模型的中心点为中心构建目标坐标系,并将上述目标坐标系中上述光晕模型的目标顶点的切线方向和/或副切线方向进行调整,其中,上述目标顶点为顶点位置符合预设调整条件的顶点;相应地,上述基于上述光晕模型的各个顶点的目标顶点位置,在上述世界空间中分别将上述光晕模型的各个顶点由原点位置调至上述目标顶点位置,包括:基于上述顶点的目标顶点位置,在上述世界空间中以上述切线方向和/或上述副切线方向将上述顶点由原点位置调至上述目标顶点位置。
其中,上述调整条件为切线方向和/或副切线方向与上述目标坐标系不匹配的。
示例性地,由于第一套UV中的光晕模型铺满整个UV象限,所以本实施例中,在利用第一套UV中的光晕模型进行位姿调整时,可以将第一套UV中的UV空间映射成-1至1,即重新构建目标坐标系,然后将其X轴和Y轴对应乘到切线和副切线,来矫正方向。如图11a和11b所示,图11a和11b的左侧区域的为重新构建坐标系之前的光晕模型的各个顶点的顶点位置,右侧区域的为重新构建坐标系之后的光晕模型的各个顶点的顶点位置,从图11a和11b中可以看出箭头指向的方向为切线方向和副切线方向。
具体地,终端可以采用Billboard技术实现让光晕模型均朝向于虚拟相机,即将光晕模型对应的纹理贴图配置为由多个面对虚拟相机的平面组成的,该平面可以是正方形、矩形、圆形或其他形状,具体形状可根据渲染效果需求进行设定。在进行渲染时,终端可以通过将虚拟相机的位置和朝向作为参数传入,即将上述目标视角作为参数传入,以计算出物体在屏幕上的位置和大小,并将相应的纹理贴图渲染到屏幕上,从而极大的减少了渲染和计算的复杂度,提高了渲染效率和碰撞检测的速度。其中,上述Billboard技术是指在3D渲染中将一个对象的可见面转换为2D平面上的纹理贴图的技术。它通常用于渲染大量的粒子、草地、树木、天空等复杂的场景元素,可以大大提高渲染效率和碰撞检测的速度。
在一些实施例中,一些特殊类型的光晕特效,如镜头光晕特效是一种模拟镜头内出现的现象,所以该特效是否需要出现在当前场景内的所有对象之前,所以终端在将渲染后的光晕特效在场景中显示时,需进行深度测试,以明确是否显示渲染后的光晕特效。
具体地,在对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染之后,还可以包括:确定需显示渲染后的上述光晕模型的目标场景的场景深度,以及渲染后的上述光晕模型在上述目标场景中的模型深度;若上述场景深度大于上述模型深度,则在上述目标场景中显示渲染后的上述光晕模型。
其中,终端可以为光晕模型设置一个与光晕模型的尺寸匹配的边框,将其放入场景中,此时,就为光晕模型对应的边框赋予了深度,从而将边框深度和场景的场景深度进行深度测试,即深度对比,若深度测试通过,即场景深度大于上述模型深度,则在上述目标场景中显示渲染后的上述光晕模型,否则,则进行剔除。
示例性地,如图12a所示,若光晕模型没有完全被场景所遮挡则保持渲染,渲染后的结果如图12b所示,而倘若如图12c所示,光晕模型被场景所遮挡,则不进行渲染;而倘若不进行深度测试,则光晕模型的显示效果,如图12d所示。
在一些实施例中,在得到渲染后的光晕模型之后,可以将渲染后的光晕模型以及对应的材质封装在预设的蓝图中,以便于在有需求时进行调用,例如,终端可以将封装后的蓝图设置于场景中的位于天空的太阳处,如图13所示,图13中的框选区域为封装后的蓝图。
由以上内容可以看出,通过设置依次排列的至少两个光晕模型;确定拍摄上述光晕模型的虚拟相机的目标视角;基于各个上述光晕模型之间的相对位置关系,分别获取上述目标视角下的各个上述光晕模型在屏幕空间中的位姿调整参数;基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息;基于各个上述光晕模型的目标位姿信息,对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染,从而通过分别对不同的光晕模型作针对性的调整,以提高光晕效果的真实性。
为了更好地实施以上方法,本申请实施例还提供一种光晕效果的渲染装置,该光晕效果的渲染装置具体可以集成在电子设备中,比如,计算机设备,该计算机设备可以为终端、服务器等设备。
其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
比如,在本实施例中,将以光晕效果的渲染装置具体集成在终端为例,对本申请实施例的方法进行详细说明,本实施例提供了一种光晕效果的渲染装置,如图14所示,该光晕效果的渲染装置可以包括:
模型设置模块141,用于设置依次排列的至少两个光晕模型;
视角确定模块142,用于确定拍摄上述光晕模型的虚拟相机的目标视角;
参数获取模块143,用于基于各个上述光晕模型之间的相对位置关系,分别获取上述目标视角下的各个上述光晕模型在屏幕空间中的位姿调整参数;
信息确定模块144,用于基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息;
渲染模块145,用于基于各个上述光晕模型的目标位姿信息,对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染。
在一些实施例中,上述位姿调整参数包括位置偏移参数,上述信息确定模块144具体用于:
获取上述光晕模型在上述屏幕空间中的初始位置信息;
基于上述光晕模型的位置偏移参数和上述初始位置信息,确定上述目标视角下的上述光晕模型在上述屏幕空间中偏移后的目标位置。
在一些实施例中,上述目标位姿信息包括目标姿态信息,上述信息确定模块144具体用于:
基于上述光晕模型的目标位置,确定位置偏移后的上述光晕模型与上述屏幕空间的中心点之间的相对位置;
基于上述相对位置,确定位置偏移后的上述光晕模型的旋转指示参数;
获取上述光晕模型在上述屏幕空间中的初始姿态信息;
基于上述旋转指示参数和上述初始姿态信息,确定上述目标视角下的位置偏移后的上述光晕模型在上述屏幕空间中的旋转后的目标姿态信息。
在一些实施例中,上述信息确定模块144具体用于:
确定上述屏幕空间的中心点在预设基准方向上的基准向量,以及确定上述屏幕空间的中心点和上述目标位置之间的目标向量;
确定上述基准向量和上述目标向量之间的相对角度;
上述信息确定模块144具体用于:
基于上述相对角度,将上述相对角度对应的旋转指示参数作为位置偏移后的上述光晕模型的旋转指示参数。
在一些实施例中,上述渲染模块145具体用于:
基于各个上述光晕模型的目标位姿信息,在预设的世界空间中展示位姿调整后的各个上述光晕模型;
基于在上述世界空间中展示的各个上述光晕模型,对上述目标视角下的各个上述光晕模型进行光晕效果的渲染。
在一些实施例中,上述目标位姿信息还包括上述光晕模型的各个顶点的目标顶点位置,上述渲染模块145具体用于:
将上述光晕模型的各个顶点缩在上述世界空间中的原点位置;
基于上述光晕模型的各个顶点的目标顶点位置,在上述世界空间中分别将上述光晕模型的各个顶点由原点位置调至上述目标顶点位置。
在一些实施例中,上述光晕效果的渲染装置还包括构建模块,上述构建模块具体用于:
以上述光晕模型的中心点为中心构建目标坐标系,并将上述目标坐标系中上述光晕模型的目标顶点的切线方向和/或副切线方向进行调整,其中,上述目标顶点为顶点位置符合预设调整条件的顶点;
上述渲染模块145具体用于:
基于上述顶点的目标顶点位置,在上述世界空间中以上述切线方向和/或上述副切线方向将上述顶点由原点位置调至上述目标顶点位置。
在一些实施例中,上述参数获取模块143具体用于:
基于各个上述光晕模型之间的相对位置关系,确定各个上述光晕模型对应的参数索引值;
基于各个上述光晕模型对应的参数索引值,从预设的参数数组中获取各个上述光晕模型对应的位姿调整参数,其中,上述参数数组中包括至少两个参数索引值,以及上述参数索引值对应的位姿调整参数。
在一些实施例中,上述光晕效果的渲染装置还包括显示模块,上述显示模块具体用于:
确定需显示渲染后的上述光晕模型的目标场景的场景深度,以及渲染后的上述光晕模型在上述目标场景中的模型深度;
若上述场景深度大于上述模型深度,则在上述目标场景中显示渲染后的上述光晕模型。
由上可知,本实施例的光晕效果的渲染装置通过设置依次排列的至少两个光晕模型;确定拍摄上述光晕模型的虚拟相机的目标视角;基于各个上述光晕模型之间的相对位置关系,分别获取上述目标视角下的各个上述光晕模型在屏幕空间中的位姿调整参数;基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息;基于各个上述光晕模型的目标位姿信息,对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染,从而通过分别对不同的光晕模型作针对性的调整,以提高光晕效果的真实性。
相应的,本申请实施例还提供一种电子设备,该电子设备可以为终端,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,PersonalComputer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。如图15所示,图15为本申请实施例提供的电子设备的结构示意图。该电子设备150包括有一个或者一个以上处理核心的处理器151、有一个或一个以上计算机可读存储介质的存储器152及存储在存储器152上并可在处理器上运行的计算机程序。其中,处理器151与存储器152电性连接。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器151是电子设备150的控制中心,利用各种接口和线路连接整个电子设备150的各个部分,通过运行或加载存储在存储器152内的软件程序和/或模块,以及调用存储在存储器152内的数据,执行电子设备150的各种功能和处理数据,从而对电子设备150进行整体监控。
在本申请实施例中,电子设备150中的处理器151会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器152中,并由处理器151来运行存储在存储器152中的应用程序,从而实现各种功能:
设置依次排列的至少两个光晕模型;
确定拍摄上述光晕模型的虚拟相机的目标视角;
基于各个上述光晕模型之间的相对位置关系,分别获取上述目标视角下的各个上述光晕模型在屏幕空间中的位姿调整参数;
基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息;
基于各个上述光晕模型的目标位姿信息,对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染。
在一些实施例中,上述位姿调整参数包括位置偏移参数,上述目标位姿信息包括目标位置,上述基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息,包括:
获取上述光晕模型在上述屏幕空间中的初始位置信息;
基于上述光晕模型的位置偏移参数和上述初始位置信息,确定上述目标视角下的上述光晕模型在上述屏幕空间中偏移后的目标位置。
在一些实施例中,上述目标位姿信息包括目标姿态信息,上述基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息,包括:
基于上述光晕模型的目标位置,确定位置偏移后的上述光晕模型与上述屏幕空间的中心点之间的相对位置;
基于上述相对位置,确定位置偏移后的上述光晕模型的旋转指示参数;
获取上述光晕模型在上述屏幕空间中的初始姿态信息;
基于上述旋转指示参数和上述初始姿态信息,确定上述目标视角下的位置偏移后的上述光晕模型在上述屏幕空间中的旋转后的目标姿态信息。
在一些实施例中,上述确定位置偏移后的上述光晕模型与上述屏幕空间的中心点之间的相对位置,包括:
确定上述屏幕空间的中心点在预设基准方向上的基准向量,以及确定上述屏幕空间的中心点和上述目标位置之间的目标向量;
确定上述基准向量和上述目标向量之间的相对角度;
上述基于上述相对位置,确定位置偏移后的上述光晕模型的旋转指示参数,包括:
基于上述相对角度,将上述相对角度对应的旋转指示参数作为位置偏移后的上述光晕模型的旋转指示参数。
在一些实施例中,上述基于各个上述光晕模型的目标位姿信息,对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染,包括:
基于各个上述光晕模型的目标位姿信息,在预设的世界空间中展示位姿调整后的各个上述光晕模型;
基于在上述世界空间中展示的各个上述光晕模型,对上述目标视角下的各个上述光晕模型进行光晕效果的渲染。
在一些实施例中,上述目标位姿信息还包括上述光晕模型的各个顶点的目标顶点位置,上述基于各个上述光晕模型的目标位姿信息,在预设的世界空间中展示位姿调整后的各个上述光晕模型,包括:
将上述光晕模型的各个顶点缩在上述世界空间中的原点位置;
基于上述光晕模型的各个顶点的目标顶点位置,在上述世界空间中分别将上述光晕模型的各个顶点由原点位置调至上述目标顶点位置。
在一些实施例中,在基于上述光晕模型的各个顶点的目标顶点位置,在上述世界空间中分别将上述光晕模型的各个顶点由原点位置调至上述目标顶点位置之前,还包括:
以上述光晕模型的中心点为中心构建目标坐标系,并将上述目标坐标系中上述光晕模型的目标顶点的切线方向和/或副切线方向进行调整,其中,上述目标顶点为顶点位置符合预设调整条件的顶点;
上述基于上述光晕模型的各个顶点的目标顶点位置,在上述世界空间中分别将上述光晕模型的各个顶点由原点位置调至上述目标顶点位置,包括:
基于上述顶点的目标顶点位置,在上述世界空间中以上述切线方向和/或上述副切线方向将上述顶点由原点位置调至上述目标顶点位置。
在一些实施例中,上述基于各个上述光晕模型之间的相对位置关系,分别获取上述目标视角下的各个上述光晕模型在屏幕空间中的位姿调整参数,包括:
基于各个上述光晕模型之间的相对位置关系,确定各个上述光晕模型对应的参数索引值;
基于各个上述光晕模型对应的参数索引值,从预设的参数数组中获取各个上述光晕模型对应的位姿调整参数,其中,上述参数数组中包括至少两个参数索引值,以及上述参数索引值对应的位姿调整参数。
在一些实施例中,在对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染之后,还包括:
确定需显示渲染后的上述光晕模型的目标场景的场景深度,以及渲染后的上述光晕模型在上述目标场景中的模型深度;
若上述场景深度大于上述模型深度,则在上述目标场景中显示渲染后的上述光晕模型。
由此,本实施例提供的电子设备150可以带来如下技术效果:提高光晕效果的真实性。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图15所示,电子设备150还包括:触控显示屏153、射频电路154、音频电路155、输入单元156以及电源157。其中,处理器151分别与触控显示屏153、射频电路154、音频电路155、输入单元156以及电源157电性连接。本领域技术人员可以理解,图15中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏153可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏153可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器151,并能接收处理器151发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器151以确定触摸事件的类型,随后处理器151根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏153而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏153也可以作为输入单元156的一部分实现输入功能。
射频电路154可用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。
音频电路155可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。音频电路155可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路155接收后转换为音频数据,再将音频数据输出处理器151处理后,经射频电路154以发送给比如另一电子设备,或者将音频数据输出至存储器152以便进一步处理。音频电路155还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。
输入单元156可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源157用于给电子设备150的各个部件供电。可选的,电源157可以通过电源管理系统与处理器151逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源157还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图15中未示出,电子设备150还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种光晕效果的渲染方法。例如,该计算机程序可以执行如下步骤:
设置依次排列的至少两个光晕模型;
确定拍摄上述光晕模型的虚拟相机的目标视角;
基于各个上述光晕模型之间的相对位置关系,分别获取上述目标视角下的各个上述光晕模型在屏幕空间中的位姿调整参数;
基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息;
基于各个上述光晕模型的目标位姿信息,对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染。
在一些实施例中,上述位姿调整参数包括位置偏移参数,上述目标位姿信息包括目标位置,上述基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息,包括:
获取上述光晕模型在上述屏幕空间中的初始位置信息;
基于上述光晕模型的位置偏移参数和上述初始位置信息,确定上述目标视角下的上述光晕模型在上述屏幕空间中偏移后的目标位置。
在一些实施例中,上述目标位姿信息包括目标姿态信息,上述基于各个上述光晕模型对应的位姿调整参数,确定上述目标视角下的各个上述光晕模型在上述屏幕空间中的目标位姿信息,包括:
基于上述光晕模型的目标位置,确定位置偏移后的上述光晕模型与上述屏幕空间的中心点之间的相对位置;
基于上述相对位置,确定位置偏移后的上述光晕模型的旋转指示参数;
获取上述光晕模型在上述屏幕空间中的初始姿态信息;
基于上述旋转指示参数和上述初始姿态信息,确定上述目标视角下的位置偏移后的上述光晕模型在上述屏幕空间中的旋转后的目标姿态信息。
在一些实施例中,上述确定位置偏移后的上述光晕模型与上述屏幕空间的中心点之间的相对位置,包括:
确定上述屏幕空间的中心点在预设基准方向上的基准向量,以及确定上述屏幕空间的中心点和上述目标位置之间的目标向量;
确定上述基准向量和上述目标向量之间的相对角度;
上述基于上述相对位置,确定位置偏移后的上述光晕模型的旋转指示参数,包括:
基于上述相对角度,将上述相对角度对应的旋转指示参数作为位置偏移后的上述光晕模型的旋转指示参数。
在一些实施例中,上述基于各个上述光晕模型的目标位姿信息,对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染,包括:
基于各个上述光晕模型的目标位姿信息,在预设的世界空间中展示位姿调整后的各个上述光晕模型;
基于在上述世界空间中展示的各个上述光晕模型,对上述目标视角下的各个上述光晕模型进行光晕效果的渲染。
在一些实施例中,上述目标位姿信息还包括上述光晕模型的各个顶点的目标顶点位置,上述基于各个上述光晕模型的目标位姿信息,在预设的世界空间中展示位姿调整后的各个上述光晕模型,包括:
将上述光晕模型的各个顶点缩在上述世界空间中的原点位置;
基于上述光晕模型的各个顶点的目标顶点位置,在上述世界空间中分别将上述光晕模型的各个顶点由原点位置调至上述目标顶点位置。
在一些实施例中,在基于上述光晕模型的各个顶点的目标顶点位置,在上述世界空间中分别将上述光晕模型的各个顶点由原点位置调至上述目标顶点位置之前,还包括:
以上述光晕模型的中心点为中心构建目标坐标系,并将上述目标坐标系中上述光晕模型的目标顶点的切线方向和/或副切线方向进行调整,其中,上述目标顶点为顶点位置符合预设调整条件的顶点;
上述基于上述光晕模型的各个顶点的目标顶点位置,在上述世界空间中分别将上述光晕模型的各个顶点由原点位置调至上述目标顶点位置,包括:
基于上述顶点的目标顶点位置,在上述世界空间中以上述切线方向和/或上述副切线方向将上述顶点由原点位置调至上述目标顶点位置。
在一些实施例中,上述基于各个上述光晕模型之间的相对位置关系,分别获取上述目标视角下的各个上述光晕模型在屏幕空间中的位姿调整参数,包括:
基于各个上述光晕模型之间的相对位置关系,确定各个上述光晕模型对应的参数索引值;
基于各个上述光晕模型对应的参数索引值,从预设的参数数组中获取各个上述光晕模型对应的位姿调整参数,其中,上述参数数组中包括至少两个参数索引值,以及上述参数索引值对应的位姿调整参数。
在一些实施例中,在对上述目标视角下的至少两个上述光晕模型进行光晕效果的渲染之后,还包括:
确定需显示渲染后的上述光晕模型的目标场景的场景深度,以及渲染后的上述光晕模型在上述目标场景中的模型深度;
若上述场景深度大于上述模型深度,则在上述目标场景中显示渲染后的上述光晕模型。
可见,计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种光晕效果的渲染方法,从而带来如下技术效果:提高光晕效果的真实性。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种光晕效果的渲染方法,因此,可以实现本申请实施例所提供的任一种光晕效果的渲染方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种光晕效果的渲染方法、装置、电子设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种光晕效果的渲染方法,其特征在于,所述方法包括:
设置依次排列的至少两个光晕模型;
确定拍摄所述光晕模型的虚拟相机的目标视角;
基于各个所述光晕模型之间的相对位置关系,分别获取所述目标视角下的各个所述光晕模型在屏幕空间中的位姿调整参数;
基于各个所述光晕模型对应的位姿调整参数,确定所述目标视角下的各个所述光晕模型在所述屏幕空间中的目标位姿信息;
基于各个所述光晕模型的目标位姿信息,对所述目标视角下的至少两个所述光晕模型进行光晕效果的渲染。
2.如权利要求1所述的光晕效果的渲染方法,其特征在于,所述位姿调整参数包括位置偏移参数,所述目标位姿信息包括目标位置,所述基于各个所述光晕模型对应的位姿调整参数,确定所述目标视角下的各个所述光晕模型在所述屏幕空间中的目标位姿信息,包括:
获取所述光晕模型在所述屏幕空间中的初始位置信息;
基于所述光晕模型的位置偏移参数和所述初始位置信息,确定所述目标视角下的所述光晕模型在所述屏幕空间中偏移后的目标位置。
3.如权利要求2所述的光晕效果的渲染方法,其特征在于,所述目标位姿信息包括目标姿态信息,所述基于各个所述光晕模型对应的位姿调整参数,确定所述目标视角下的各个所述光晕模型在所述屏幕空间中的目标位姿信息,包括:
基于所述光晕模型的目标位置,确定位置偏移后的所述光晕模型与所述屏幕空间的中心点之间的相对位置;
基于所述相对位置,确定位置偏移后的所述光晕模型的旋转指示参数;
获取所述光晕模型在所述屏幕空间中的初始姿态信息;
基于所述旋转指示参数和所述初始姿态信息,确定所述目标视角下的位置偏移后的所述光晕模型在所述屏幕空间中的旋转后的目标姿态信息。
4.如权利要求3所述的光晕效果的渲染方法,其特征在于,所述确定位置偏移后的所述光晕模型与所述屏幕空间的中心点之间的相对位置,包括:
确定所述屏幕空间的中心点在预设基准方向上的基准向量,以及确定所述屏幕空间的中心点和所述目标位置之间的目标向量;
确定所述基准向量和所述目标向量之间的相对角度;
所述基于所述相对位置,确定位置偏移后的所述光晕模型的旋转指示参数,包括:
基于所述相对角度,将所述相对角度对应的旋转指示参数作为位置偏移后的所述光晕模型的旋转指示参数。
5.如权利要求1所述的光晕效果的渲染方法,其特征在于,所述基于各个所述光晕模型的目标位姿信息,对所述目标视角下的至少两个所述光晕模型进行光晕效果的渲染,包括:
基于各个所述光晕模型的目标位姿信息,在预设的世界空间中展示位姿调整后的各个所述光晕模型;
基于在所述世界空间中展示的各个所述光晕模型,对所述目标视角下的各个所述光晕模型进行光晕效果的渲染。
6.如权利要求5所述的光晕效果的渲染方法,其特征在于,所述目标位姿信息还包括所述光晕模型的各个顶点的目标顶点位置,所述基于各个所述光晕模型的目标位姿信息,在预设的世界空间中展示位姿调整后的各个所述光晕模型,包括:
将所述光晕模型的各个顶点缩在所述世界空间中的原点位置;
基于所述光晕模型的各个顶点的目标顶点位置,在所述世界空间中分别将所述光晕模型的各个顶点由原点位置调至所述目标顶点位置。
7.如权利要求6所述的光晕效果的渲染方法,其特征在于,在基于所述光晕模型的各个顶点的目标顶点位置,在所述世界空间中分别将所述光晕模型的各个顶点由原点位置调至所述目标顶点位置之前,还包括:
以所述光晕模型的中心点为中心构建目标坐标系,并将所述目标坐标系中所述光晕模型的目标顶点的切线方向和/或副切线方向进行调整,其中,所述目标顶点为顶点位置符合预设调整条件的顶点;
所述基于所述光晕模型的各个顶点的目标顶点位置,在所述世界空间中分别将所述光晕模型的各个顶点由原点位置调至所述目标顶点位置,包括:
基于所述顶点的目标顶点位置,在所述世界空间中以所述切线方向和/或所述副切线方向将所述顶点由原点位置调至所述目标顶点位置。
8.如权利要求1所述的光晕效果的渲染方法,其特征在于,所述基于各个所述光晕模型之间的相对位置关系,分别获取所述目标视角下的各个所述光晕模型在屏幕空间中的位姿调整参数,包括:
基于各个所述光晕模型之间的相对位置关系,确定各个所述光晕模型对应的参数索引值;
基于各个所述光晕模型对应的参数索引值,从预设的参数数组中获取各个所述光晕模型对应的位姿调整参数,其中,所述参数数组中包括至少两个参数索引值,以及所述参数索引值对应的位姿调整参数。
9.如权利要求1至8任一项所述的光晕效果的渲染方法,其特征在于,在对所述目标视角下的至少两个所述光晕模型进行光晕效果的渲染之后,还包括:
确定需显示渲染后的所述光晕模型的目标场景的场景深度,以及渲染后的所述光晕模型在所述目标场景中的模型深度;
若所述场景深度大于所述模型深度,则在所述目标场景中显示渲染后的所述光晕模型。
10.一种光晕效果的渲染装置,其特征在于,所述装置包括:
模型设置模块,用于设置依次排列的至少两个光晕模型;
视角确定模块,用于确定拍摄所述光晕模型的虚拟相机的目标视角;
参数获取模块,用于基于各个所述光晕模型之间的相对位置关系,分别获取所述目标视角下的各个所述光晕模型在屏幕空间中的位姿调整参数;
信息确定模块,用于基于各个所述光晕模型对应的位姿调整参数,确定所述目标视角下的各个所述光晕模型在所述屏幕空间中的目标位姿信息;
渲染模块,用于基于各个所述光晕模型的目标位姿信息,对所述目标视角下的至少两个所述光晕模型进行光晕效果的渲染。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1至9任一项所述的光晕效果的渲染方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至9任一项所述的光晕效果的渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311317090.2A CN117274475A (zh) | 2023-10-11 | 2023-10-11 | 光晕效果的渲染方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311317090.2A CN117274475A (zh) | 2023-10-11 | 2023-10-11 | 光晕效果的渲染方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117274475A true CN117274475A (zh) | 2023-12-22 |
Family
ID=89217590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311317090.2A Pending CN117274475A (zh) | 2023-10-11 | 2023-10-11 | 光晕效果的渲染方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117274475A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118135867A (zh) * | 2024-05-06 | 2024-06-04 | 成都运达科技股份有限公司 | 一种信号设备显示方法、驾培训练装置及存储介质 |
-
2023
- 2023-10-11 CN CN202311317090.2A patent/CN117274475A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118135867A (zh) * | 2024-05-06 | 2024-06-04 | 成都运达科技股份有限公司 | 一种信号设备显示方法、驾培训练装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109993823B (zh) | 阴影渲染方法、装置、终端及存储介质 | |
CN112933599B (zh) | 三维模型渲染方法、装置、设备及存储介质 | |
CN111932664A (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
CN110033503B (zh) | 动画显示方法、装置、计算机设备及存储介质 | |
CN112138386A (zh) | 一种体积渲染方法、装置、存储介质及计算机设备 | |
CN113546411B (zh) | 游戏模型的渲染方法、装置、终端和存储介质 | |
CN112907716B (zh) | 虚拟环境中的云朵渲染方法、装置、设备及存储介质 | |
CN112465945B (zh) | 一种模型生成方法、装置、存储介质及计算机设备 | |
CN113052947A (zh) | 一种渲染方法、装置、电子设备和存储介质 | |
CN112884873B (zh) | 虚拟环境中虚拟物体的渲染方法、装置、设备及介质 | |
CN117274475A (zh) | 光晕效果的渲染方法、装置、电子设备和可读存储介质 | |
CN111833243B (zh) | 一种数据展示方法、移动终端和存储介质 | |
CN112750190B (zh) | 三维热力图生成方法、装置、设备及存储介质 | |
CN113487662A (zh) | 画面显示方法、装置、电子设备和存储介质 | |
CN116212374A (zh) | 模型处理方法、装置、计算机设备和存储介质 | |
CN115409928A (zh) | 水体效果渲染方法、装置、电子设备和存储介质 | |
CN115222867A (zh) | 重叠检测方法、装置、电子设备和存储介质 | |
CN114663560A (zh) | 目标模型的动画实现方法、装置、存储介质及电子设备 | |
CN114266849A (zh) | 模型自动生成方法、装置、计算机设备及存储介质 | |
CN112181230A (zh) | 一种数据展示方法、装置以及电子设备 | |
CN117274474A (zh) | 环境光遮罩的生成方法、装置、电子设备和存储介质 | |
CN114972701A (zh) | 后处理区域的确定方法、装置、计算机设备及存储介质 | |
CN113362348B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110201392B (zh) | 用户界面生成方法、装置和终端 | |
CN118135081A (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 |