CN116452704A - 镜头光晕特效的生成方法、装置、存储介质及电子装置 - Google Patents
镜头光晕特效的生成方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN116452704A CN116452704A CN202310401336.8A CN202310401336A CN116452704A CN 116452704 A CN116452704 A CN 116452704A CN 202310401336 A CN202310401336 A CN 202310401336A CN 116452704 A CN116452704 A CN 116452704A
- Authority
- CN
- China
- Prior art keywords
- lens
- halation
- halo
- flare
- screen
- 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
- 230000000694 effects Effects 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims abstract description 51
- 125000001475 halogen functional group Chemical group 0.000 claims abstract description 196
- 238000005070 sampling Methods 0.000 claims abstract description 63
- 238000009877 rendering Methods 0.000 claims abstract description 9
- 239000013598 vector Substances 0.000 claims description 69
- 230000004313 glare Effects 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 1
- 101150064138 MAP1 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- SNICXCGAKADSCV-UHFFFAOYSA-N nicotine Chemical compound CN1CCCC1C1=CC=CN=C1 SNICXCGAKADSCV-UHFFFAOYSA-N 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种镜头光晕特效的生成方法、装置、存储介质及电子装置。该方法包括:确定虚拟模型对应的至少一个镜头光晕集合,每个镜头光晕集合对应一种镜头光晕特效,每个镜头光晕集合包括多个镜头光晕,每个镜头光晕与一个面片相对应;确定至少一个镜头光晕集合中每个镜头光晕的光晕类型;对与每个镜头光晕的光晕类型对应的炫光贴图进行采样,得到每个镜头光晕的表现属性信息;根据虚拟摄像机的镜头偏移信息确定至少一个镜头光晕集合对应的面片的位置分布信息;基于每个镜头光晕的表现属性信息及位置分布信息对每个镜头光晕的面片进行渲染,得到虚拟模型对应的镜头光晕特效。本申请解决了相关技术中,镜头光晕特效的生成灵活性差的技术问题。
Description
技术领域
本公开涉及计算机图形领域,具体而言,涉及一种镜头光晕特效的生成方法、装置、存储介质及电子装置。
背景技术
在计算机图形领域中,镜头光晕(如图1所示)是一种具有指向性,并跟随相机镜头的晃动产生指向性偏移的虚拟光晕。在游戏中,在游戏中,为了表现喷射器火焰的真实感,设计师可在火焰处加入镜头光晕效果。
然而,现有的镜头光晕组件集成于屏幕后的处理模块中,与特效配合的流程较为复杂,且光晕只能从强光源处产生,因而,设计师不仅无法在指定特效技能的位置产生镜头光晕,而且还受限于光源的强度,即只有光源强度达到一定阈值才会产生镜头光晕。例如,当镜头朝向火焰特效时,如果火焰亮度达不到产生光晕特效的阈值,则不会产生镜头光晕。
而且,现有的镜头光晕组件通过Unreal Engine的底层代码编写,如果需要对该镜头光晕组件进行修改、迭代、优化等操作,则需要用户拥有Unreal Engine代码的编辑权限。
此外,该镜头光晕组件的自定义程度低,例如,光晕数量有限,无法自定义设置;用户只能指定一种光晕形状;光晕之间的间隔距离无法手动调整等。而且,当多种光晕特效在屏幕中的不同位置同时发生时,无法产生多组指向性镜头光晕。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本公开至少部分实施例提供了一种镜头光晕特效的生成方法、装置、存储介质及电子装置,以至少解决相关技术中,镜头光晕特效的生成灵活性差的技术问题。
根据本公开其中一实施例,提供了一种镜头光晕特效的生成方法,包括:确定虚拟模型对应的至少一个镜头光晕集合,其中,每个镜头光晕集合对应一种镜头光晕特效,每个镜头光晕集合包括:多个镜头光晕,每个镜头光晕与一个面片相对应;确定至少一个镜头光晕集合中每个镜头光晕的光晕类型;对与每个镜头光晕的光晕类型对应的炫光贴图进行采样,得到每个镜头光晕的表现属性信息;根据虚拟摄像机的镜头偏移信息确定至少一个镜头光晕集合对应的面片的位置分布信息;基于每个镜头光晕的表现属性信息及位置分布信息对每个镜头光晕的面片进行渲染,得到虚拟模型对应的镜头光晕特效。
根据本公开其中一实施例,还提供了一种镜头光晕特效的生成装置,包括:光晕确定模块,用于确定虚拟模型对应的至少一个镜头光晕集合,其中,每个镜头光晕集合对应一种镜头光晕特效,每个镜头光晕集合包括:多个镜头光晕,每个镜头光晕与一个面片相对应;类型确定模块,用于确定至少一个镜头光晕集合中每个镜头光晕的光晕类型;贴图采样模块,用于对与每个镜头光晕的光晕类型对应的炫光贴图进行采样,得到每个镜头光晕的表现属性信息;分布确定模块,用于根据虚拟摄像机的镜头偏移信息确定至少一个镜头光晕集合对应的面片的位置分布信息;特效生成模块,用于基于每个镜头光晕的表现属性信息及位置分布信息对每个镜头光晕的面片进行渲染,得到虚拟模型对应的镜头光晕特效。
根据本公开其中一实施例,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的镜头光晕特效的生成方法。
根据本公开其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的镜头光晕特效的生成方法。
在本公开至少部分实施例中,采用渲染组成镜头光晕集合的每个面片的方式生成镜头光晕特效,通过为虚拟模型设置至少一个镜头光晕集合,每个镜头光晕集合与一种镜头光晕特效对应,在镜头光晕集合的数量为多个时,多个镜头光晕集合设置在屏幕中的不同位置,因此,虚拟模型可以同时具有多种镜头光晕特效,并可以在屏幕中的不同位置进行展示,从而克服了相关技术中,无法产生多组指向性镜头光晕的问题。另外,每种光晕类型具有对应的炫光贴图,每个镜头光晕的表现属性是通过对对应的炫光贴图进行采样得到的,因此,镜头光晕集合中的镜头光晕可以具有不同的光晕类型,进而使得镜头光晕集合中的镜头光晕可以具有不同的表现属性信息,即使同一个镜头光晕集合中的镜头光晕具有不同的光晕形状。最后,还可根据虚拟摄像机的镜头偏移信息来设置面片的位置分布信息,从而实现了对光晕在屏幕中的位置分布信息的设置。
由此可见,本公开所提供的方案达到了灵活生成镜头光晕特效的目的,从而实现了提高镜头光晕特效生成的灵活性的技术效果,进而解决了相关技术中,镜头光晕特效的生成灵活性差的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是相关技术中的镜头光晕的示意图;
图2是本公开实施例的一种镜头光晕特效的生成方法的移动终端的硬件结构框图;
图3是根据本公开其中一实施例的镜头光晕特效的生成方法的流程图;
图4(a)是根据本公开其中一实施例的镜头光晕的示意图;
图4(b)是根据本公开其中一实施例的镜头光晕的示意图;
图5是根据本公开其中一实施例的横向光晕的示意图;
图6是根据本公开其中一实施例的径向光晕的示意图;
图7是根据本公开其中一实施例的泛光光晕的示意图;
图8是根据本公开其中一实施例的长横条光晕的示意图;
图9是根据本公开其中一实施例的镜头光晕特效的示意图;
图10是根据本公开其中一实施例的镜头光晕特效的展示示意图;
图11是根据本公开其中一实施例的镜头光晕特效的展示示意图;
图12是根据本公开其中一实施例的镜头光晕特效的展示示意图;
图13是根据本公开其中一实施例的采样横向光晕的炫光贴图的流程节点示意图;
图14是根据本公开其中一实施例的纹理坐标的采样示意图;
图15是根据本公开其中一实施例的纹理坐标的采样示意图;
图16是根据本公开其中一实施例的纹理坐标的采样示意图;
图17是根据本公开其中一实施例的采样径向光晕的炫光贴图的流程节点示意图;
图18是根据本公开其中一实施例的采样泛光光晕的炫光贴图的流程节点示意图;
图19是根据本公开其中一可选实施例的镜头光晕特效的生成装置的结构框图;
图20是根据本公开其中一可选实施例的电子装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在一种可能的实施方式中,针对计算机图形领域下的3D游戏引擎特效背景中通常所采用的镜头光晕特效的表现方法,发明人经过实践并仔细研究后,仍然存在相关技术中,镜头光晕特效的生成灵活性差的技术问题,基于此,本公开实施例应用的游戏场景可以是三维游戏场景,所针对的游戏类型一般是三维游戏,包括但不限于角色扮演游戏、动作冒险游戏、策略游戏、射击类游戏等,提出了一种镜头光晕特效的生成方法,采用渲染组成镜头光晕集合的每个面片的方式生成镜头光晕特效,实现了提高镜头光晕特效生成的灵活性的目的,从而解决了相关技术中,镜头光晕特效的生成灵活性差的技术问题,进而达到了提高镜头光晕特效生成的灵活性的技术效果。
本公开涉及到的上述方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机、平板电脑、掌上电脑以及移动互联网设备、PAD、游戏机等终端设备。图2是本公开实施例的一种镜头光晕特效的生成方法的移动终端的硬件结构框图。如图2所示,移动终端可以包括一个或多个(图2中仅示出一个)处理器202(处理器202可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器204,在本公开其中一实施例中,还可以包括:传输设备206、输入输出设备208以及显示设备210。
在一些以游戏场景为主的可选实施例中,上述设备还可以提供具有触摸触敏表面的人机交互界面,该人机交互界面可以感应手指接触和/或手势来与图形用户界面(GUI)进行人机交互,该人机交互功能可以包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
本领域技术人员可以理解,图2所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
根据本公开其中一实施例,提供了一种镜头光晕特效的生成方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在一种可能的实施方式中,本公开实施例提供了一种镜头光晕特效的生成方法,可通过终端设备来实现。图3是根据本公开其中一实施例的镜头光晕特效的生成方法的流程图,如图3所示,该方法包括如下步骤:
步骤S302,确定虚拟模型对应的至少一个镜头光晕集合,其中,每个镜头光晕集合对应一种镜头光晕特效,每个镜头光晕集合包括:多个镜头光晕。
在步骤S302中,虚拟模型可以是游戏中的模型,其中,对于不同类型的游戏,其对应的虚拟模型也不相同。另外,虚拟模型可以具有一组光晕,也可以具有多组光晕,例如,在图4(a)所示的镜头光晕的示意图中,虚拟模型为火箭喷射器,每个喷射器的火焰与一个镜头光晕集合相对应,每个镜头光晕集合与一组光晕相对应,多组光晕设置在屏幕中的不同位置上;又例如,在图4(b)所示的镜头光晕的示意图中,在同一个屏幕下可以同时展示两种表现不一样的镜头光晕特效。其中,每个镜头光晕与一个面片相对应,该面片为多边形面片,例如,三角形面片、四边形面片等。优选地,在本实施例中,面片为Billboard面片,其中,Billboard为基于摄像机视角确定纹理矩阵的技术,在实际应用中,Billboard面片始终朝向虚拟摄像机,从而使得面片对应的炫光贴图始终面向虚拟摄像机,进而产生镜头光晕特效由虚拟摄像机生成的效果。
在一种可选的实施例中,在生成虚拟模型的镜头光晕特效前,用户可根据虚拟模型的类型来确定虚拟模型的镜头光晕特效的属性信息,例如,镜头光晕的数量、长度、宽度、形状、镜头光晕相对于虚拟模型的光源中心点之间的距离等,进而终端设备可根据镜头光晕特效的属性信息来确定镜头光晕集合的数量,以及镜头光晕集合的形状、长度、宽度,以及镜头光晕集合所包含的面片的形状、大小以及位置分布等信息。
需要说明的是,通过步骤S302,用户可设置镜头光晕集合的属性信息来实现对虚拟模型的镜头光晕特效的灵活配置,进而提高了生成镜头光晕特效的灵活性。
步骤S304,确定至少一个镜头光晕集合中每个镜头光晕的光晕类型。
在步骤S304中,镜头光晕的光晕类型可以包括但不限于横向光晕(如图5所示)、径向光晕(如图6所示)、泛光光晕(如图7所示)以及长横条光晕(如图8所示)。
可选的,每个镜头光晕集合中的镜头光晕的光晕类型可以为同一种类型,例如,镜头光晕特效1对应的镜头光晕集合中的光晕均为横向光晕。另外,每个镜头光晕集合中的镜头光晕的光晕类型可以为多种类型,例如,镜头光晕特效2对应的镜头光晕集合中的光晕包括横向光晕和径向光晕。
需要说明的是,通过步骤S304可实现在一个镜头光晕特效对应的镜头光晕集合中设置多种不同类型的镜头光晕,提高了镜头光晕特效的生成灵活性。
步骤S306,对与每个镜头光晕的光晕类型对应的炫光贴图进行采样,得到每个镜头光晕的表现属性信息。
在步骤S306中,不同光晕类型对应一种炫光贴图,即不同的光晕类型对应的炫光贴图可以不同。另外,镜头光晕的表现属性信息可以包括但不限于光强度、形状、大小、光晕之间的距离等。
可选的,在同一光晕类型下,可以对相同的炫光贴图进行采样;也可对不同图案的炫光贴图进行分别采样,并对分别采样后的采样结果进行组合,并赋予不同的颜色,从而可以得到镜头光晕的表现属性,例如,对于横向光晕,终端设备可以对包含六边形图案的炫光贴图1和包含长方形图案的炫光贴图2分别进行采样,分别得到采样结果1和采样结果2,然后,再对采样结果1和采样结果2进行组合,并基于组合后的表现属性信息对面片进行渲染,从而得到图9所示的镜头光晕特效,以增加镜头光晕表现的多样化。
步骤S308,根据虚拟摄像机的镜头偏移信息确定至少一个镜头光晕集合对应的面片的位置分布信息。
在步骤S308中,由于在本实施例中,面片为Billboard面片,因此,无论Billborad面片如何旋转,Billboard面片始面向虚拟摄像机,Billboard面片的长与宽始终与终端设备的屏幕的长和宽保持平行,如在图10所示的镜头光晕特效的展示示意图中,Billboard面片始终朝向虚拟摄像机。
可选的,在本实施例中,镜头光晕会随虚拟摄像机晃动而相对光源中心点进行指向性偏移。在图11所示的镜头光晕特效的展示示意图中,当Billboard面片处于屏幕里的左侧时,横向光晕相对朝右拉远距离;相反,在图12所示的镜头光晕特效的展示示意图中,当Billboard面片处于屏幕里的右侧时,横向光晕相对向左拉远距离;同时,径向光晕以泛光为中心进行旋转偏移。
由此可见,在本实施例中,可实现镜头光晕随摄像机晃动而产生指向性偏移的效果,而并不依赖于光源所产生的光晕亮度的阈值,从而避免了相关技术中,光源亮度不足无法产生光晕特效的问题。
步骤S310,基于每个镜头光晕的表现属性信息及位置分布信息对每个镜头光晕的面片进行渲染,得到虚拟模型对应的镜头光晕特效。
在步骤S310中,在确定了每个镜头光晕的表现属性信息以及位置分布信息之后,将这些信息对应的参数值赋值至对应的面片中,即可得到虚拟模型对应的镜头光晕特效。
可选的,用户还可手动对每个镜头光晕的表现属性信息和/或位置分布信息进行调整,并通过终端设备在Niagara平台中创建Billboard粒子层,并将上述调整后的数据赋值给Billboard面片,并将赋值后的Billboard面片放置到Unreal Engine引擎的关卡中,即可得到图4所示的镜头光晕特效。
基于上述步骤S302至步骤S310所限定的内容可知,在本公开至少部分实施例中,采用渲染组成镜头光晕集合的每个面片的方式生成镜头光晕特效,通过为虚拟模型设置至少一个镜头光晕集合,每个镜头光晕集合与一种镜头光晕特效对应,在镜头光晕集合的数量为多个时,多个镜头光晕集合设置在屏幕中的不同位置,因此,虚拟模型可以同时具有多种镜头光晕特效,并可以在屏幕中的不同位置进行展示,从而克服了相关技术中,无法产生多组指向性镜头光晕的问题。另外,每种光晕类型具有对应的炫光贴图,每个镜头光晕的表现属性是通过对对应的炫光贴图进行采样得到的,因此,镜头光晕集合中的镜头光晕可以具有不同的光晕类型,进而使得镜头光晕集合中的镜头光晕可以具有不同的表现属性信息,即使同一个镜头光晕集合中的镜头光晕具有不同的光晕形状。最后,还可根据虚拟摄像机的镜头偏移信息来设置面片的位置分布信息,从而实现了对光晕在屏幕中的位置分布信息的设置。
由此可见,本公开所提供的方案达到了灵活生成镜头光晕特效的目的,从而实现了提高镜头光晕特效生成的灵活性的技术效果,进而解决了相关技术中,镜头光晕特效的生成灵活性差的技术问题。
在一种可选的实施例中,用户通过终端设备可对虚拟模型的镜头光晕集合的属性进行设置,例如,可设置镜头光晕集合的数量、每个镜头光晕集合所对应的镜头光晕特效、每个镜头光晕集合所包含的镜头光晕的数量、每个镜头光晕相对于光晕中心的距离、每个镜头光晕的光晕类型等。之后,终端设备可对每个镜头光晕的光晕类型对应的炫光贴图进行采样,得到每个镜头光晕的表现属性信息。
具体的,终端设备可获取每个镜头光晕的光晕类型对应的炫光贴图,并在获取炫光贴图之后,基于每个镜头光晕对应的面片的纹理坐标,对与光晕类型对应的炫光贴图进行采样,得到每个镜头光晕的表现属性信息。其中,在不同的光晕类型下,其对应的采样过程是不同的,例如,对于横向光晕和径向光晕,可利用纹理坐标偏移来确定对炫光贴图进行采样的坐标向量,进而基于该坐标向量对炫光贴图进行采样,并使用材质节点来实现对镜头光晕的表现属性信息进行水平方向或竖直方向上的调整。
在一种可选的实施例中,在光晕类型为横向光晕的情况下,终端设备获取当前屏幕中处于预设屏幕坐标范围内的目标屏幕坐标,以及当前屏幕的屏幕分辨率,然后,将横向光晕对应的横向面片的纹理坐标由世界空间转换至视图空间,得到横向面片的第一纹理坐标,并基于当前屏幕的屏幕分辨率、目标屏幕坐标以及第一纹理坐标确定目标纹理向量,最后,基于目标纹理向量对与横向光晕对应的炫光贴图进行采样,得到横向光晕的表现属性信息。
可选的,图13示出了采样横向光晕的炫光贴图的流程节点示意图,终端设备需要根据面片的纹理坐标来确定对炫光贴图进行采样的目标纹理向量,进而再通过目标纹理向量对炫光贴图进行采样,得到横向光晕的表现属性。在计算目标纹理向量的过程中,可通过分别计算组成目标纹理向量中的第一方向(即图13中的U方向)上的纹理坐标值与第二方向(即图13中的V方向)上的纹理坐标值,并对两个纹理坐标值进行拼接,即可得到目标纹理向量。由图13可知,在计算第一方向上的纹理坐标值与第二方向上的纹理坐标值的节点中包含了相同的节点,也即计算第一方向上的纹理坐标值与第二方向上的纹理坐标值的步骤存在部分重叠,即两个计算过程均涉及纹理坐标的空间转换。
具体的,如图13所示,以U方向为例进行说明。通过ScreenPosition节点和遮罩节点Mask(R)获取当前屏幕中处于(0,1)范围内的X值,并通过Add(-0.5)节点将X值从(0,1)范围转换为(-0.5,0.5),从而使对炫光贴图进行采样的纹理坐标由(0,1)(如图14所示)在水平方向上移动至当前屏幕的水平中心点(如图15所示)。而对于V方向,则是通过ScreenPosition节点和遮罩节点Mask(G)将对炫光贴图进行采样的纹理坐标在竖直方向上移动至当前屏幕的竖直中心点(如图16所示)。
进一步的,终端设备还可通过ObjectPosition节点获取横向面片,并通过TransformPosition(AbsoluteWorldSpaceToViewSpace)节点将横向面片的纹理坐标由世界空间转换为视图空间,得到第一纹理坐标。
更进一步的,终端设备还可通过ScreenResolution获取当前屏幕的屏幕分辨率。在获取到当前屏幕的屏幕分辨率、目标屏幕坐标以及第一纹理坐标之后,终端设备即可基于当前屏幕的屏幕分辨率、目标屏幕坐标以及第一纹理坐标确定目标纹理向量。
具体的,在获取第一纹理坐标中的第一坐标值和第二坐标值,以及目标屏幕坐标中的第一屏幕坐标值之后,计算第一坐标值与第二坐标值的比值,并计算水平调整系数与比值的乘积,得到目标比值,然后,计算第一坐标屏幕值与目标比值之和,得到第一数值,其中,第一数值表征了目标纹理向量对应的第一方向上的数值,水平调整系数表征了横向光晕在当前屏幕中的水平位置。
同时,终端设备还可根据屏幕分辨率确定横向光晕在当前屏幕中的竖直坐标值,并基于竖直坐标值、目标屏幕坐标中的第二屏幕坐标值以及比值,确定第二数值,其中,第二数值表征了目标纹理向量对应的第二方向上的数值,第一方向不同于第二方向。
进一步的,在得到第一数值和第二数值之后,终端设备对第一数值与第二数值进行向量拼接,从而得到目标纹理向量。
可选的,如图13所示,在U方向上,在获取到第一纹理坐标之后,终端设备分别通过遮罩节点Mask(R)和遮罩节点Mask(B)分别读取第一纹理坐标在视图空间下的X轴坐标值(即第一坐标值)和Y轴坐标值(即第二坐标值)。再通过Divide节点计算两个坐标值之间的比值,再通过Multiply(-0.5),得到第一比值,然后再计算水平调整系数与第一比值之间的乘积,得到目标比值。然后再通过Add节点计算第一屏幕坐标值与目标比值之和,得到第一数值。
需要说明的是,可通过Input X Alpha节点获取水平调整系数,例如,在图13中,水平调整系数为0.5。通过水平调整系数可实现对图15中的黑白分割线的左右调整,以实现镜头光晕相对于光源中心点的距离的横向调整(即水平方向上的调整)。
可选的,如图13所示,在V方向上,在获取到第一纹理坐标之后,与U方向不同的是,终端设备根据屏幕分辨率确定横向光晕在当前屏幕中的竖直坐标值。具体的,在图13中,分别通过遮罩节点Mask(R)和Mask(G)获取屏幕分辨率在X方向和Y方向的值,并计算两个数值的比值,再乘以0.5,从而得到竖直坐标值。该竖直坐标值可使图16所示图像中的黑白分割线始终固定在屏幕的中心位置,而不会上下移动,进而保证了镜头光晕始终在屏幕中心点的水平位置。
在得到竖直坐标值之后,终端设备基于竖直坐标值、目标屏幕坐标中的第二屏幕坐标值以及比值,确定第二数值。具体的,终端设备计算竖直坐标值与比值的乘积,得到第三数值,并基于水平调整系数与第三数值的乘积,得到第四数值;最后,计算第四数值与第二屏幕坐标值之和,得到第二数值。
可选的,如图13所示,在得到竖直坐标值之后,通过乘积节点Multiply计算竖直坐标值与比值的乘积,得到第三数值;然后计算水平调整系数0.5与第三数值的乘积,得到第四数值。最后,计算第四数值与第二屏幕坐标值之和,得到第二数值,并通过向量拼接节点Append对第一数值和第二数值进行向量拼接,从而得到目标纹理向量,对横向光晕的炫光贴图进行采样,得到横向光晕的表现属性信息。
在一种可选的实施例中,在光晕类型为径向光晕的情况下,在获取径向光晕在世界空间中的世界坐标以及在视图空间中的视图坐标,以及径向光晕对应的径向面片的纹理坐标之后,终端设备计算世界坐标与视图坐标之间的差值,得到径向光晕指向当前屏幕的第一向量;然后,将第一向量由世界空间转换至屏幕空间,得到第二向量,并对第二向量进行反向计算,得到第三向量,其中,第三向量表征了径向光晕在屏幕空间中的位置;最后,计算径向面片的纹理坐标与第三向量之差,得到第四向量,并基于第四向量对与径向光晕对应的炫光贴图进行采样,得到径向光晕的表现属性信息。
可选的,图17示出了采样径向光晕的炫光贴图的流程节点示意图,如图17所示,通过Object Position节点获取径向光晕对应的径向面片在世界空间中的世界坐标,通过Camera Position节点获取径向面片在视图空间中的视图坐标,通过Subtract节点计算两个坐标之差,得到第一向量。然后再利用ManualWorldToScreenUVsTransform节点将第一向量转换成屏幕空间,从而得到第二向量。再通过Subtract节点对第二向量进行反向计算,从而得到第三向量。
进一步的,在图17中,通过TexCoord[0]节点获取径向面片的纹理坐标,然后计算径向面片的纹理坐标与第三向量之差,从而得到第四向量。该过程可使得径向面片的纹理坐标与径向面片指向虚拟摄像机的向量相关联,从而实现径向面片的纹理坐标围绕中心点进行径向旋转的效果。
需要说明的是,在得到第四向量之后,可通过图17所示的示意图中的其他节点对第四向量进行微调,从而得到目标纹理向量,以对径向光晕对应的炫光贴图进行采样,得到径向光晕的表现属性信息。
在一种可选的实施例中,在光晕类型为泛光光晕的情况下,在获取泛光光晕对应的炫光贴图之后,终端设备对泛光光晕对应的炫光贴图进行柔和度和/或亮度的调整,得到调整后的泛光贴图,并基于泛光光晕对应的面片的纹理坐标,对调整后的泛光贴图进行采样,得到泛光光晕的表现属性信息。
可选的,图18示出了采样泛光光晕的炫光贴图的流程节点示意图,在图18所示的节点中,核心节点为球体遮罩节点SphereMask节点,通过该节点可确定对炫光贴图进行采样的中心点,并以该中心点为原点对泛光贴图进行球形采样,从而得到泛光光晕的表现属性信息。另外,在对泛光贴图进行采样之前,还可通过图18所示的其他节点对炫光贴图进行柔和度和/或亮度进行调整,以使采样结果满足用户的需求。
在一种可选的实施例中,在光晕类型为长横条光晕的情况下,终端设备获取长横条光晕对应的炫光贴图,并基于长横条光晕对应的面片的纹理坐标,对长横条光晕对应的炫光贴图进行采样,得到长横条光晕的表现属性信息。
可选的,终端设备可通过TexCoord[0]节点获取长横条光晕对应的炫光贴图,并基于面片的纹理坐标对其进行采样即可。
进一步的,通过如上对四种类型中任意一种或多种的炫光贴图进行采样,可得到对应的镜头光晕的表现属性信息。在得到该表现属性信息之后,终端设备可基于每个镜头光晕的表现属性信息及位置分布信息对每个镜头光晕的面片进行渲染,从而得到虚拟模型对应的镜头光晕特效。
由上述内容可知,本公开基于Billboard面片来表现镜头光晕特效,将镜头光晕材质应用于Billboard面片,以实现镜头光晕随虚拟摄像机晃动而产生指向性偏移的效果,该效果的产生并不依赖于光源所能够产生炫光的阈值;镜头光晕的位置可由面片决定,同时,面片的数量越多,镜头光晕的组数也就越多,一组镜头光晕对应一种特效,因此,对面片没有数量上的限制;此外,材质由我们自定义,只需要引用多种贴图,用户即可确定镜头光晕的多种形状,而且镜头光晕的颜色也可在采样贴图后乘以颜色进行调整;最后,通过修改炫光贴图在屏幕中的位置,即可确定镜头光晕之间的距离。
由此可见,本公开所提供的方案达到了灵活生成镜头光晕特效的目的,从而实现了提高镜头光晕特效生成的灵活性的技术效果,进而解决了相关技术中,镜头光晕特效的生成灵活性差的技术问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。
在本实施例中还提供了一种镜头光晕特效的生成装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图19是根据本公开其中一实施例的镜头光晕特效的生成装置的结构框图,如图19所示,该装置包括:光晕确定模块1901、类型确定模块1903、贴图采样模块1905、分布确定模块1907以及特效生成模块1909。
其中,光晕确定模块1901,用于确定虚拟模型对应的至少一个镜头光晕集合,其中,每个镜头光晕集合对应一种镜头光晕特效,每个镜头光晕集合包括:多个镜头光晕,每个镜头光晕与一个面片相对应;类型确定模块1903,用于确定至少一个镜头光晕集合中每个镜头光晕的光晕类型;贴图采样模块1905,用于对与每个镜头光晕的光晕类型对应的炫光贴图进行采样,得到每个镜头光晕的表现属性信息;分布确定模块1907,用于根据虚拟摄像机的镜头偏移信息确定至少一个镜头光晕集合对应的面片的位置分布信息;特效生成模块1909,用于基于每个镜头光晕的表现属性信息及位置分布信息对每个镜头光晕的面片进行渲染,得到虚拟模型对应的镜头光晕特效。
此处需要说明的是,上述光晕确定模块1901、类型确定模块1903、贴图采样模块1905、分布确定模块1907以及特效生成模块1909对应于上述实施例的步骤S302至步骤S310,五个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。
可选的,贴图采样模块包括:第一获取模块以及第一采样模块。其中,第一获取模块,用于获取每个镜头光晕的光晕类型对应的炫光贴图;第一采样模块,用于基于每个镜头光晕对应的面片的纹理坐标,对与光晕类型对应的炫光贴图进行采样,得到每个镜头光晕的表现属性信息。
可选的,第一采样模块包括:第二获取模块、第一转换模块、第一确定模块以及第二采样模块。其中,第二获取模块,用于在光晕类型为横向光晕的情况下,获取当前屏幕中处于预设屏幕坐标范围内的目标屏幕坐标,以及当前屏幕的屏幕分辨率;第一转换模块,用于将横向光晕对应的横向面片的纹理坐标由世界空间转换至视图空间,得到横向面片的第一纹理坐标;第一确定模块,用于基于当前屏幕的屏幕分辨率、目标屏幕坐标以及第一纹理坐标确定目标纹理向量;第二采样模块,用于基于目标纹理向量对与横向光晕对应的炫光贴图进行采样,得到横向光晕的表现属性信息。
可选的,第一确定模块包括:第三获取模块、第一计算模块、第二计算模块、第三计算模块、第二确定模块、第三确定模块以及向量拼接模块。其中,第三获取模块,用于获取第一纹理坐标中的第一坐标值和第二坐标值,以及目标屏幕坐标中的第一屏幕坐标值;第一计算模块,用于计算第一坐标值与第二坐标值的比值;第二计算模块,用于计算水平调整系数与比值的乘积,得到目标比值,其中,水平调整系数表征了横向光晕在当前屏幕中的水平位置;第三计算模块,用于计算第一坐标屏幕值与目标比值之和,得到第一数值,其中,第一数值表征了目标纹理向量对应的第一方向上的数值;第二确定模块,用于根据屏幕分辨率确定横向光晕在当前屏幕中的竖直坐标值;第三确定模块,用于基于竖直坐标值、目标屏幕坐标中的第二屏幕坐标值以及比值,确定第二数值,其中,第二数值表征了目标纹理向量对应的第二方向上的数值,第一方向不同于第二方向;向量拼接模块,用于对第一数值与第二数值进行向量拼接,得到目标纹理向量。
可选的,第三确定模块包括:第四计算模块、第五计算模块以及第六计算模块。其中,第四计算模块,用于计算竖直坐标值与比值的乘积,得到第三数值;第五计算模块,用于基于水平调整系数与第三数值的乘积,得到第四数值;第六计算模块,用于计算第四数值与第二屏幕坐标值之和,得到第二数值。
可选的,第一采样模块包括:第四获取模块、第七计算模块、第二转换模块、反向计算模块、第八计算模块以及第三采样模块。其中,第四获取模块,用于在光晕类型为径向光晕的情况下,获取径向光晕在世界空间中的世界坐标以及在视图空间中的视图坐标,以及径向光晕对应的径向面片的纹理坐标;第七计算模块,用于计算世界坐标与视图坐标之间的差值,得到径向光晕指向当前屏幕的第一向量;第二转换模块,用于将第一向量由世界空间转换至屏幕空间,得到第二向量;反向计算模块,用于对第二向量进行反向计算,得到第三向量,其中,第三向量表征了径向光晕在屏幕空间中的位置;第八计算模块,用于计算径向面片的纹理坐标与第三向量之差,得到第四向量;第三采样模块,用于基于第四向量对与径向光晕对应的炫光贴图进行采样,得到径向光晕的表现属性信息。
可选的,第一采样模块包括:第五获取模块、贴图调整模块以及第四采样模块。其中,第五获取模块,用于在光晕类型为泛光光晕的情况下,获取泛光光晕对应的炫光贴图;贴图调整模块,用于对泛光光晕对应的炫光贴图进行柔和度和/或亮度的调整,得到调整后的泛光贴图;第四采样模块,用于基于泛光光晕对应的面片的纹理坐标,对调整后的泛光贴图进行采样,得到泛光光晕的表现属性信息。
可选的,第一采样模块包括:第六获取模块以及第五采样模块。其中,第六获取模块,用于在光晕类型为长横条光晕的情况下,获取长横条光晕对应的炫光贴图;第五采样模块,用于基于长横条光晕对应的面片的纹理坐标,对长横条光晕对应的炫光贴图进行采样,得到长横条光晕的表现属性信息。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本公开的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
可选地,在本实施例中,上述计算机可读存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本申请的示例性实施例中,计算机可读存储介质上存储有能够实现本实施例上述方法的程序产品。在一些可能的实施方式中,本公开实施例的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本实施例上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
根据本公开的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开实施例的程序产品不限于此,在本公开实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
上述程序产品可以采用一个或多个计算机可读介质的任意组合。该计算机可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列举)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
本公开的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
图20是根据本公开实施例的一种电子装置的示意图。如图20所示,电子装置2000仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图20所示,电子装置2000以通用计算设备的形式表现。电子装置2000的组件可以包括但不限于:上述至少一个处理器2010、上述至少一个存储器2020、连接不同系统组件(包括存储器2020和处理器2010)的总线2030和显示器2040。
其中,上述存储器2020存储有程序代码,所述程序代码可以被处理器2010执行,使得处理器2010执行本申请实施例的上述方法部分中描述的根据本公开各种示例性实施方式的步骤。
存储器2020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)20201和/或高速缓存存储单元20202,还可以进一步包括只读存储单元(ROM)20203,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。
在一些实例中,存储器2020还可以包括具有一组(至少一个)程序模块20205的程序/实用工具20204,这样的程序模块20205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。存储器2020可进一步包括相对于处理器2010远程设置的存储器,这些远程存储器可以通过网络连接至电子装置2000。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
总线2030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理器2010或者使用多种总线结构中的任意总线结构的局域总线。
显示器2040可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与电子装置2000的用户界面进行交互。
可选地,电子装置2000也可以与一个或多个外部设备2100(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子装置2000交互的设备通信,和/或与使得该电子装置2000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口2050进行。并且,电子装置2000还可以通过网络适配器2060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图20所示,网络适配器2060通过总线2030与电子装置2000的其它模块通信。应当明白,尽管图20中未示出,可以结合电子装置2000使用其它硬件和/或软件模块,可以包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
上述电子装置2000还可以包括:键盘、光标控制设备(如鼠标)、输入/输出接口(I/O接口)、网络接口、电源和/或相机。
本领域普通技术人员可以理解,图20所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子装置2000还可包括比图20中所示更多或者更少的组件,或者具有与图20所示不同的配置。存储器2020可用于存储计算机程序及对应的数据,如本公开实施例中的镜头光晕特效的生成方法对应的计算机程序及对应的数据。处理器2010通过运行存储在存储器2020内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的镜头光晕特效的生成方法。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。
Claims (11)
1.一种镜头光晕特效的生成方法,其特征在于,包括:
确定虚拟模型对应的至少一个镜头光晕集合,其中,每个镜头光晕集合对应一种镜头光晕特效,所述每个镜头光晕集合包括:多个镜头光晕,每个镜头光晕与一个面片相对应;
确定所述至少一个镜头光晕集合中每个镜头光晕的光晕类型;
对与所述每个镜头光晕的光晕类型对应的炫光贴图进行采样,得到所述每个镜头光晕的表现属性信息;
根据虚拟摄像机的镜头偏移信息确定所述至少一个镜头光晕集合对应的面片的位置分布信息;
基于所述每个镜头光晕的表现属性信息及所述位置分布信息对所述每个镜头光晕的面片进行渲染,得到所述虚拟模型对应的镜头光晕特效。
2.根据权利要求1所述的方法,其特征在于,对所述每个镜头光晕的光晕类型对应的炫光贴图进行采样,得到所述每个镜头光晕的表现属性信息,包括:
获取所述每个镜头光晕的光晕类型对应的炫光贴图;
基于所述每个镜头光晕对应的面片的纹理坐标,对与所述光晕类型对应的炫光贴图进行采样,得到所述每个镜头光晕的表现属性信息。
3.根据权利要求2所述的方法,其特征在于,基于所述每个镜头光晕对应的面片的纹理坐标,对与所述光晕类型对应的炫光贴图进行采样,得到所述每个镜头光晕的表现属性信息,包括:
在所述光晕类型为横向光晕的情况下,获取当前屏幕中处于预设屏幕坐标范围内的目标屏幕坐标,以及所述当前屏幕的屏幕分辨率;
将所述横向光晕对应的横向面片的纹理坐标由世界空间转换至视图空间,得到所述横向面片的第一纹理坐标;
基于所述当前屏幕的屏幕分辨率、所述目标屏幕坐标以及所述第一纹理坐标确定目标纹理向量;
基于所述目标纹理向量对与所述横向光晕对应的炫光贴图进行采样,得到所述横向光晕的表现属性信息。
4.根据权利要求3所述的方法,其特征在于,基于所述当前屏幕的屏幕分辨率、所述目标屏幕坐标以及所述第一纹理坐标确定目标纹理向量,包括:
获取所述第一纹理坐标中的第一坐标值和第二坐标值,以及所述目标屏幕坐标中的第一屏幕坐标值;
计算所述第一坐标值与所述第二坐标值的比值;
计算水平调整系数与所述比值的乘积,得到目标比值,其中,所述水平调整系数表征了所述横向光晕在所述当前屏幕中的水平位置;
计算所述第一坐标屏幕值与所述目标比值之和,得到第一数值,其中,所述第一数值表征了所述目标纹理向量对应的第一方向上的数值;
根据所述屏幕分辨率确定所述横向光晕在所述当前屏幕中的竖直坐标值;
基于所述竖直坐标值、所述目标屏幕坐标中的第二屏幕坐标值以及所述比值,确定第二数值,其中,所述第二数值表征了所述目标纹理向量对应的第二方向上的数值,所述第一方向不同于所述第二方向;
对所述第一数值与所述第二数值进行向量拼接,得到所述目标纹理向量。
5.根据权利要求4所述的方法,其特征在于,基于所述竖直坐标值、所述目标屏幕坐标中的第二屏幕坐标值以及所述比值,确定第二数值,包括:
计算所述竖直坐标值与所述比值的乘积,得到第三数值;
基于所述水平调整系数与所述第三数值的乘积,得到第四数值;
计算所述第四数值与所述第二屏幕坐标值之和,得到所述第二数值。
6.根据权利要求2所述的方法,其特征在于,基于所述每个镜头光晕对应的面片的纹理坐标,对与所述光晕类型对应的炫光贴图进行采样,得到所述每个镜头光晕的表现属性信息,包括:
在所述光晕类型为径向光晕的情况下,获取所述径向光晕在世界空间中的世界坐标以及在视图空间中的视图坐标,以及所述径向光晕对应的径向面片的纹理坐标;
计算所述世界坐标与所述视图坐标之间的差值,得到所述径向光晕指向当前屏幕的第一向量;
将所述第一向量由所述世界空间转换至屏幕空间,得到第二向量;
对所述第二向量进行反向计算,得到第三向量,其中,所述第三向量表征了所述径向光晕在屏幕空间中的位置;
计算所述径向面片的纹理坐标与所述第三向量之差,得到第四向量;
基于所述第四向量对与所述径向光晕对应的炫光贴图进行采样,得到所述径向光晕的表现属性信息。
7.根据权利要求2所述的方法,其特征在于,基于所述每个镜头光晕对应的面片的纹理坐标,对与所述光晕类型对应的炫光贴图进行采样,得到所述每个镜头光晕的表现属性信息,包括:
在所述光晕类型为泛光光晕的情况下,获取所述泛光光晕对应的炫光贴图;
对所述泛光光晕对应的炫光贴图进行柔和度和/或亮度的调整,得到调整后的泛光贴图;
基于所述泛光光晕对应的面片的纹理坐标,对所述调整后的泛光贴图进行采样,得到所述泛光光晕的表现属性信息。
8.根据权利要求2所述的方法,其特征在于,基于所述每个镜头光晕对应的面片的纹理坐标,对与所述光晕类型对应的炫光贴图进行采样,得到所述每个镜头光晕的表现属性信息,包括:
在所述光晕类型为长横条光晕的情况下,获取所述长横条光晕对应的炫光贴图;
基于所述长横条光晕对应的面片的纹理坐标,对所述长横条光晕对应的炫光贴图进行采样,得到所述长横条光晕的表现属性信息。
9.一种镜头光晕特效的生成装置,其特征在于,所述装置包括:
光晕确定模块,用于确定虚拟模型对应的至少一个镜头光晕集合,其中,每个镜头光晕集合对应一种镜头光晕特效,所述每个镜头光晕集合包括:多个镜头光晕,每个镜头光晕与一个面片相对应;
类型确定模块,用于确定所述至少一个镜头光晕集合中每个镜头光晕的光晕类型;
贴图采样模块,用于对与所述每个镜头光晕的光晕类型对应的炫光贴图进行采样,得到所述每个镜头光晕的表现属性信息;
分布确定模块,用于根据虚拟摄像机的镜头偏移信息确定所述至少一个镜头光晕集合对应的面片的位置分布信息;
特效生成模块,用于基于所述每个镜头光晕的表现属性信息及所述位置分布信息对所述每个镜头光晕的面片进行渲染,得到所述虚拟模型对应的镜头光晕特效。
10.一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为被处理器运行时执行权利要求1至8中任一项所述的镜头光晕特效的生成方法。
11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至8中任一项所述的镜头光晕特效的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310401336.8A CN116452704A (zh) | 2023-04-14 | 2023-04-14 | 镜头光晕特效的生成方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310401336.8A CN116452704A (zh) | 2023-04-14 | 2023-04-14 | 镜头光晕特效的生成方法、装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116452704A true CN116452704A (zh) | 2023-07-18 |
Family
ID=87135216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310401336.8A Pending CN116452704A (zh) | 2023-04-14 | 2023-04-14 | 镜头光晕特效的生成方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116452704A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118135867A (zh) * | 2024-05-06 | 2024-06-04 | 成都运达科技股份有限公司 | 一种信号设备显示方法、驾培训练装置及存储介质 |
-
2023
- 2023-04-14 CN CN202310401336.8A patent/CN116452704A/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 |
---|---|---|
CN107358649B (zh) | 地形文件的处理方法和装置 | |
CN101477700B (zh) | 面向Google Earth与Sketch Up的真三维立体显示方法 | |
CN113318428B (zh) | 游戏的显示控制方法、非易失性存储介质及电子装置 | |
JP2023029984A (ja) | 仮想イメージを生成するための方法、装置、電子機器及び可読記憶媒体 | |
CN115082607B (zh) | 虚拟角色头发渲染方法、装置、电子设备和存储介质 | |
CN116452704A (zh) | 镜头光晕特效的生成方法、装置、存储介质及电子装置 | |
CN115375822A (zh) | 云模型的渲染方法、装置、存储介质及电子装置 | |
CN117557703A (zh) | 渲染的优化方法、电子设备和计算机可读存储介质 | |
CN112950753B (zh) | 虚拟植物显示方法、装置、设备及存储介质 | |
CN116958344A (zh) | 虚拟形象的动画生成方法、装置、计算机设备及存储介质 | |
CN116485981A (zh) | 三维模型贴图制作方法、装置、设备及存储介质 | |
CN115501590A (zh) | 显示方法、装置、电子设备和存储介质 | |
CN115131489A (zh) | 云层渲染方法、装置、存储介质及电子装置 | |
CN114299203A (zh) | 虚拟模型的处理方法和装置 | |
CN112473135B (zh) | 移动游戏的实时光照模拟方法、装置、设备及存储介质 | |
CN115382208A (zh) | 三维指引地图生成方法、装置、存储介质和电子装置 | |
CN114742970A (zh) | 虚拟三维模型的处理方法、非易失性存储介质及电子装置 | |
CN118236695B (zh) | 三维游戏引擎的虚拟场景构建方法、装置、设备及存储介质 | |
CN117745892A (zh) | 粒子生成表现控制方法、装置、存储介质及电子装置 | |
CN117482530A (zh) | 游戏资源变色处理方法、装置、存储介质及电子装置 | |
CN117085318A (zh) | 烟雾生成方法、装置、计算机可读存储介质和电子装置 | |
CN118384493A (zh) | 场景画面处理方法、装置、存储介质及电子装置 | |
CN118379415A (zh) | 生成波点形态的方法、装置、存储介质及电子装置 | |
CN116630509A (zh) | 图像处理方法、装置、计算机可读存储介质和电子装置 | |
CN117482501A (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 |