CN112860063B - 交互水的实现方法、系统、电子装置和存储介质 - Google Patents
交互水的实现方法、系统、电子装置和存储介质 Download PDFInfo
- Publication number
- CN112860063B CN112860063B CN202110145335.2A CN202110145335A CN112860063B CN 112860063 B CN112860063 B CN 112860063B CN 202110145335 A CN202110145335 A CN 202110145335A CN 112860063 B CN112860063 B CN 112860063B
- Authority
- CN
- China
- Prior art keywords
- map
- water
- color
- refraction
- reflection
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/012—Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/61—Scene description
Abstract
本申请涉及一种交互水的实现方法、系统、电子装置和存储介质,通过将水涟漪贴图复制到第一渲染纹理,其中,水涟漪贴图包括高度信息;对第一渲染纹理进行计算,得到涟漪效果贴图,将涟漪效果贴图保存到第二渲染纹理,其中,第二渲染纹理作为动态对象与水交互的交互法线贴图;获取水波纹法线贴图,将交互法线贴图和水波纹法线贴图相加,得到混合法线贴图;根据混合法线贴图,获取折射颜色和反射颜色,根据折射颜色和反射颜色,获取水体区域中水的颜色,动态对象与水存在交互时,交互法线贴图就会发生改变,从而改变折射和反射,解决通过粒子特效来实现动态对象和水的互动,但是折射和反射没有变化的问题。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及交互水的实现方法、系统、电子装置和存储介质。
背景技术
随着计算机图形技术的发展,虚拟场景的实现得到越来越多的应用,用户往往更关注在虚拟场景下能够感受到更逼真的交互效果,以享受沉浸式体验。例如,在游戏应用中,游戏玩家往往会关注游戏界面中显示出的动态对象与游戏场景的交互效果。
在相关技术中,动态对象在水中行走时,采用的是粒子特效来实现动态对象和水的互动,使得水看起来随动态对象动了,但是动态对象在水中的折射和反射却没有任何变化。
目前针对相关技术中通过粒子特效来实现动态对象和水的互动,但是折射和反射没有变化的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种交互水的实现方法、系统、电子装置和存储介质,以至少解决相关技术中通过粒子特效来实现动态对象和水的互动,但是折射和反射没有变化的问题。
第一方面,本申请实施例提供了一种交互水的实现方法,所述方法包括:
将水涟漪贴图复制到第一渲染纹理,其中,所述水涟漪贴图包括高度信息;
对所述第一渲染纹理进行计算,得到涟漪效果贴图,将所述涟漪效果贴图保存到第二渲染纹理,其中,所述第二渲染纹理作为动态对象与水交互的交互法线贴图;
获取水波纹法线贴图,将所述交互法线贴图和所述水波纹法线贴图相加,得到混合法线贴图;
根据所述混合法线贴图,获取折射颜色和反射颜色,根据所述折射颜色和所述反射颜色,获取水体区域中水的颜色。
在其中一些实施例中,对所述第一渲染纹理进行计算,得到涟漪效果贴图包括:
根据当前像素的流入密度是当前像素的周围像素的流出密度的平均值获取所述第一渲染纹理中每一当前像素的流入密度;所述第一渲染纹理中每一当前像素的流入密度乘以扩散系数得到涟漪效果贴图。
在其中一些实施例中,根据混合法线贴图,获取折射颜色和反射颜色包括:
采样混合法线贴图,得到第一法线值,所述第一法线值乘以反射抖动系数,得到第二法线值,所述第一法线值乘以折射抖动系数,得到第三法线值;
根据所述第二法线值和光线向量获取反射向量,根据所述第三法线值和光线向量获取折射向量;
获取反射贴图和折射贴图,根据所述反射向量采样所述反射贴图,得到所述反射颜色,根据所述折射向量采样所述折射贴图,得到所述折射颜色。
在其中一些实施例中,所述获取反射贴图和折射贴图包括:
渲染不透明物体后保存到第一渲染目标,其中,所述第一渲染目标作为折射贴图;
在当前动态对象位置中向上渲染场景保存到第二渲染目标,其中,所述第二渲染目标作为反射贴图。
在其中一些实施例中,根据所述折射颜色和所述反射颜色,获取水体区域中水的颜色包括:
根据预设插值控制所述反射颜色和所述折射颜色的比例,把结果保存到像素颜色中,根据所述像素颜色和高光值,获取水体区域中水的颜色。
在其中一些实施例中,将水涟漪贴图复制到第一渲染纹理之前,所述方法还包括:
创建第一渲染纹理和第二渲染纹理,其中,所述第一渲染纹理保存动态对象和水交互产生的涟漪高度图,第二渲染纹理保存当前图像帧的涟漪效果贴图;
将水涟漪贴图保存到第一渲染纹理包括:
获取动态对象和水相交的顶点在水贴图中的uv坐标,所述uv坐标为所述水涟漪贴图的中点坐标;
根据所述uv坐标和预设的涟漪大小将所述水涟漪贴图保存到所述第一渲染纹理中。
在其中一些实施例中,获取水波纹法线贴图包括:使用工具刷出flow map,采样所述flow map得到运动方向,根据所述运动方向采样法线贴图,得到所述水波纹法线贴图。
第二方面,本申请实施例提供了一种交互水的实现系统,其特征在于,所述系统包括:
复制模块,用于将水涟漪贴图复制到第一渲染纹理,其中,所述水涟漪贴图包括高度信息;
保存模块,用于对所述第一渲染纹理进行计算,得到涟漪效果贴图,将所述涟漪效果贴图保存到第二渲染纹理,其中,所述第二渲染纹理作为动态对象与水交互的交互法线贴图;
相加模块,用于获取水波纹法线贴图,将所述交互法线贴图和所述水波纹法线贴图相加,得到混合法线贴图;
获取模块,用于根据所述混合法线贴图,获取折射颜色和反射颜色,根据所述折射颜色和所述反射颜色,获取水体区域中水的颜色。
第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的交互水的实现方法。
第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的交互水的实现方法。
相比于相关技术,本申请实施例提供的交互水的实现方法,通过将水涟漪贴图复制到第一渲染纹理,其中,水涟漪贴图包括高度信息;对第一渲染纹理进行计算,得到涟漪效果贴图,将涟漪效果贴图保存到第二渲染纹理,其中,第二渲染纹理作为动态对象与水交互的交互法线贴图;获取水波纹法线贴图,将交互法线贴图和水波纹法线贴图相加,得到混合法线贴图;根据混合法线贴图,获取折射颜色和反射颜色,根据折射颜色和反射颜色,获取水体区域中水的颜色,动态对象与水存在交互时,交互法线贴图就会发生改变,从而改变折射和反射,解决通过粒子特效来实现动态对象和水的互动,但是折射和反射没有变化的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的交互水的实现方法的流程图;
图2是根据本申请实施例的交互水的实现系统的结构框图;
图3是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本实施例提供了一种交互水的实现方法,图1是根据本申请实施例的交互水的实现方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,将水涟漪贴图复制到第一渲染纹理,其中,水涟漪贴图包括高度信息;本实施例中,动态对象在水中行走时,每走一步都会产生涟漪,在第一次产生涟漪时,将水涟漪贴图复制到第一渲染纹理中;
步骤S102,对第一渲染纹理进行计算,得到涟漪效果贴图,将涟漪效果贴图保存到第二渲染纹理,其中,第二渲染纹理作为动态对象与水交互的交互法线贴图;本实施例中,动态对象在水中行走时,通过对第一渲染纹理进行计算,得到涟漪效果贴图,将该涟漪效果贴图作为动态对象与水交互的交互法线贴图,并将第二渲染纹理中的涟漪效果贴图复制到第一渲染纹理,在第二次产生涟漪时,对第一渲染纹理进行第二次计算,即在第一次产生涟漪的基础上再一次产生涟漪,第二次计算得到的涟漪效果贴图相对于第一次计算得到的涟漪效果贴图发生了变化,动态对象持续在水中行走时,会不断的产生涟漪,交互法线贴图也在不断的变化;
步骤S103,获取水波纹法线贴图,将交互法线贴图和水波纹法线贴图相加,得到混合法线贴图;其中,交互法线贴图在每产生一次涟漪时都会发生变化,在产生涟漪时,交互法线贴图和水波纹法线贴图相加得到的混合法线贴图也在发生变化,动态对象和水没有发生交互时,交互法线贴图里不存在信息,与水波纹法线贴图相加时,得到的结果还是水波纹法线贴图,即动态对象和水没有发生交互时,折射颜色和反射颜色不会发生变化;
步骤S104,根据混合法线贴图,获取折射颜色和反射颜色,根据折射颜色和反射颜色,获取水体区域中水的颜色。本实施例中,动态对象持续在水中行走时,会不断的产生涟漪,则动态对象在水中的折射和反射也会不断的变化,故在动态对象和水交互时,根据混合法线贴图获取到的折射颜色和反射颜色会随着动态对象在水中行走不断变化,根据变化后的折射颜色和反射颜色,获取水体区域中水的颜色。
通过上述步骤S101至S104,相对于相关技术中,动态对象在水中行走时,通过粒子特效来实现动态对象和水的互动,使得水看起来随动态对象动了,但是动态对象在水中的折射和反射却没有任何变化的问题,使得游戏画面不逼真,降低了用户沉浸式体验,而本申请系统通过在动态对象和水交互时,计算出涟漪效果贴图作为交互法线贴图,将交互法线贴图与水波纹法线贴图相加得到混合法线贴图,动态对象和水交互产生涟漪时,混合法线贴图会发生变化,根据混合法线贴图得到的反射颜色和折射颜色也会发生变化,解决了通过粒子特效来实现动态对象和水的互动,但是折射和反射没有变化的问题,使得动态对象和水的交互非常自然,为用户提供沉浸式体验。
在其中一些实施例中,对第一渲染纹理进行计算,得到涟漪效果贴图包括:
根据当前像素的流入密度是当前像素的周围像素的流出密度的平均值获取第一渲染纹理中每一当前像素的流入密度,计算方法如公式1所示:
第一渲染纹理中每一当前像素的流入密度乘以扩散系数得到涟漪效果贴图,计算方法如公式2所示:
在其中一些实施例中,根据混合法线贴图,获取折射颜色和反射颜色包括:
采样混合法线贴图,得到第一法线值,用第一法线值乘以反射抖动系数,得到第二法线值,根据第二法线值和光线向量获取反射向量,根据反射向量采样反射贴图,得到反射颜色;反射向量是根据混合法线贴图获得的,混合法线贴图变化时,反射向量也会变化,根据反射向量采样反射贴图,得到的反射颜色也会变化;
第一法线值乘以折射抖动系数,得到第三法线值,根据第三法线值和光线向量获取折射向量,根据折射向量采样折射贴图,得到折射颜色;折射向量也是根据混合法线贴图获得的,混合法线贴图变化时,折射向量也会变化,根据折射向量采样折射贴图,得到的折射颜色也会变化。
在其中一些实施例中,获取反射贴图和折射贴图包括:渲染不透明物体后保存到第一渲染目标,其中,第一渲染目标作为折射贴图;在当前动态对象位置中向上渲染场景保存到第二渲染目标,其中,第二渲染目标作为反射贴图。可选的,第一渲染目标的分辨率大小可以是128*128,第二渲染目标的分辨率大小可以是256*256,分辨率越小则带宽越少,性能消耗越少,且效果越模糊越真实,相关技术中,获取折射贴图的方法为在当前动态对象位置中向下渲染场景到贴图作为折射贴图,则需要额外画一些场景对象,导致效率低。
在其中一些实施例中,根据折射颜色和反射颜色,获取水体区域中水的颜色包括:根据预设插值控制反射颜色和折射颜色的比例,把结果保存到像素颜色中,根据像素颜色和高光值,获取水体区域中水的颜色。
本实施例中,高光值的获取过程为:用视点向量+灯光世界空间的位置+自定义的灯光偏移值得到半向量halfvec,用公式pow(dot(halfvec,世界空间法线),SpecPower)计算出高光值speccolor,其中,灯光偏移值用来控制高光位置,SpecPower是用户定义的值,用来控制高光光圈的大小,像素颜色和高光值相加,得到最终水的颜色。
在其中一些实施例中,将水涟漪贴图复制到第一渲染纹理之前,创建第一渲染纹理和第二渲染纹理,其中,第一渲染纹理保存动态对象和水交互产生的涟漪高度图,第二渲染纹理保存当前图像帧的涟漪效果贴图;
将水涟漪贴图复制到第一渲染纹理包括:获取动态对象和水相交的顶点在水贴图中的uv坐标,其中,uv坐标为水涟漪贴图的中点坐标;动态对象和水相交的地方,即为涟漪产生的中心,故用该uv坐标作为水涟漪贴图的中点坐标,根据uv坐标和预设的涟漪大小将水涟漪贴图保存到第一渲染纹理中,预设的涟漪大小为用户或美术自定义的涟漪产生的大小,以水涟漪贴图中的中点坐标为中心,涟漪大小为范围,将该范围内的像素复制到第一渲染纹理中,可以根据不同的需求,设置不同的涟漪大小,例如,根据动态对象在单位时间内在水中移动的距离判断动态对象是在缓慢行走或者快速前进,若为快速前进,则会产生较大范围的涟漪,若为缓慢行走,则会产生小范围的涟漪。
在其中一些实施例中,获取水波纹法线贴图包括:使用工具刷出flow map,采样flow map得到运动方向,根据运动方向采样法线贴图,得到水波纹法线贴图。其中,flowmap中保存像素运动方向的纹理,在顶点着色器(vertex shader)中采样flow map得到的像素就是运动方向,用计算好的运动方向采样水静止时的法线贴图,得到水波纹法线贴图,即可以看到水波在流动,在vertex shader里使用flow map而不是在pixel shader使用,即减轻像素管道的负担又实现让美术对水流方向的可控。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种交互水的实现系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本申请实施例的交互水的实现系统的结构框图,如图2所示,该系统包括复制模块21、保存模块22、相加模块23和获取模块24,复制模块21,用于将水涟漪贴图复制到第一渲染纹理,其中,水涟漪贴图包括高度信息;保存模块22,用于对第一渲染纹理进行计算,得到涟漪效果贴图,将涟漪效果贴图保存到第二渲染纹理,其中,第二渲染纹理作为动态对象与水交互的交互法线贴图;相加模块23,用于获取水波纹法线贴图,将交互法线贴图和水波纹法线贴图相加,得到混合法线贴图;获取模块24,用于根据混合法线贴图,获取折射颜色和反射颜色,根据折射颜色和反射颜色,获取水体区域中水的颜色,解决了通过粒子特效来实现动态对象和水的互动,但是折射和反射没有变化的问题,使得动态对象和水的交互非常自然,为用户提供沉浸式体验。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,将水涟漪贴图复制到第一渲染纹理,其中,水涟漪贴图包括高度信息。
S2,对第一渲染纹理进行计算,得到涟漪效果贴图,将涟漪效果贴图保存到第二渲染纹理,其中,第二渲染纹理作为动态对象与水交互的交互法线贴图。
S3,获取水波纹法线贴图,将交互法线贴图和水波纹法线贴图相加,得到混合法线贴图。
S4,根据混合法线贴图,获取折射颜色和反射颜色,根据折射颜色和反射颜色,获取水体区域中水的颜色。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的交互水的实现方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种交互水的实现方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种交互水的实现方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图3是根据本申请实施例的电子设备的内部结构示意图,如图3所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图3所示。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种交互水的实现方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种交互水的实现方法,其特征在于,所述方法包括:
将水涟漪贴图复制到第一渲染纹理,其中,所述水涟漪贴图包括高度信息;
对所述第一渲染纹理进行计算,得到涟漪效果贴图,将所述涟漪效果贴图保存到第二渲染纹理,其中,所述第二渲染纹理作为动态对象与水交互的交互法线贴图;
获取水波纹法线贴图,将所述交互法线贴图和所述水波纹法线贴图相加,得到混合法线贴图;
根据所述混合法线贴图,获取折射颜色和反射颜色,根据所述折射颜色和所述反射颜色,获取水体区域中水的颜色,其中,根据混合法线贴图,获取折射颜色和反射颜色包括:
采样混合法线贴图,得到第一法线值,所述第一法线值乘以反射抖动系数,得到第二法线值,所述第一法线值乘以折射抖动系数,得到第三法线值;
根据所述第二法线值和光线向量获取反射向量,根据所述第三法线值和光线向量获取折射向量;
获取反射贴图和折射贴图,根据所述反射向量采样所述反射贴图,得到所述反射颜色,根据所述折射向量采样所述折射贴图,得到所述折射颜色;
其中,所述获取反射贴图和折射贴图包括:
渲染不透明物体后保存到第一渲染目标,其中,所述第一渲染目标作为折射贴图;
在当前动态对象位置中向上渲染场景保存到第二渲染目标,其中,所述第二渲染目标作为反射贴图;
其中,根据所述折射颜色和所述反射颜色,获取水体区域中水的颜色包括:
根据预设插值控制所述反射颜色和所述折射颜色的比例,把结果保存到像素颜色中,根据所述像素颜色和高光值,获取水体区域中水的颜色。
2.根据权利要求1所述的方法,其特征在于,对所述第一渲染纹理进行计算,得到涟漪效果贴图包括:
根据当前像素的流入密度是当前像素的周围像素的流出密度的平均值获取所述第一渲染纹理中每一当前像素的流入密度;
所述第一渲染纹理中每一当前像素的流入密度乘以扩散系数得到涟漪效果贴图。
3.根据权利要求1所述的方法,其特征在于,将水涟漪贴图复制到第一渲染纹理之前,所述方法还包括:
创建第一渲染纹理和第二渲染纹理,其中,所述第一渲染纹理保存动态对象和水交互产生的涟漪高度图,第二渲染纹理保存当前图像帧的涟漪效果贴图;
将水涟漪贴图复制到第一渲染纹理包括:
获取动态对象和水相交的顶点在水贴图中的uv坐标,其中,所述uv坐标为所述水涟漪贴图的中点坐标;
根据所述uv坐标和预设的涟漪大小将所述水涟漪贴图保存到所述第一渲染纹理中。
4.根据权利要求1所述的方法,其特征在于,获取水波纹法线贴图包括:
使用工具刷出flow map,采样所述flow map得到运动方向,根据所述运动方向采样法线贴图,得到所述水波纹法线贴图。
5.一种交互水的实现系统,其特征在于,所述系统包括:
复制模块,用于将水涟漪贴图复制到第一渲染纹理,其中,所述水涟漪贴图包括高度信息;
保存模块,用于对所述第一渲染纹理进行计算,得到涟漪效果贴图,将所述涟漪效果贴图保存到第二渲染纹理,其中,所述第二渲染纹理作为动态对象与水交互的交互法线贴图;
相加模块,用于获取水波纹法线贴图,将所述交互法线贴图和所述水波纹法线贴图相加,得到混合法线贴图;
获取模块,用于根据所述混合法线贴图,获取折射颜色和反射颜色,根据所述折射颜色和所述反射颜色,获取水体区域中水的颜色,其中,根据混合法线贴图,获取折射颜色和反射颜色包括:
采样混合法线贴图,得到第一法线值,所述第一法线值乘以反射抖动系数,得到第二法线值,所述第一法线值乘以折射抖动系数,得到第三法线值;
根据所述第二法线值和光线向量获取反射向量,根据所述第三法线值和光线向量获取折射向量;
获取反射贴图和折射贴图,根据所述反射向量采样所述反射贴图,得到所述反射颜色,根据所述折射向量采样所述折射贴图,得到所述折射颜色;
其中,所述获取反射贴图和折射贴图包括:
渲染不透明物体后保存到第一渲染目标,其中,所述第一渲染目标作为折射贴图;
在当前动态对象位置中向上渲染场景保存到第二渲染目标,其中,所述第二渲染目标作为反射贴图;
其中,根据所述折射颜色和所述反射颜色,获取水体区域中水的颜色包括:
根据预设插值控制所述反射颜色和所述折射颜色的比例,把结果保存到像素颜色中,根据所述像素颜色和高光值,获取水体区域中水的颜色。
6.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至4中任一项所述的交互水的实现方法。
7.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至4中任一项所述的交互水的实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110145335.2A CN112860063B (zh) | 2021-02-02 | 2021-02-02 | 交互水的实现方法、系统、电子装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110145335.2A CN112860063B (zh) | 2021-02-02 | 2021-02-02 | 交互水的实现方法、系统、电子装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860063A CN112860063A (zh) | 2021-05-28 |
CN112860063B true CN112860063B (zh) | 2022-04-29 |
Family
ID=75986309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110145335.2A Active CN112860063B (zh) | 2021-02-02 | 2021-02-02 | 交互水的实现方法、系统、电子装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860063B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113617024A (zh) * | 2021-08-03 | 2021-11-09 | 网易(杭州)网络有限公司 | 水体面渲染方法、装置、设备及存储介质 |
CN114359470A (zh) * | 2021-12-31 | 2022-04-15 | 网易(杭州)网络有限公司 | 一种模型的处理方法、装置、电子设备及可读介质 |
CN116342784B (zh) * | 2023-05-25 | 2023-07-21 | 湖南马栏山视频先进技术研究院有限公司 | 大场景水体交互的实时渲染方法 |
CN117274465B (zh) * | 2023-11-22 | 2024-03-08 | 园测信息科技股份有限公司 | 匹配真实地理水域环境的水体渲染方法、系统、介质和设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320480A (zh) * | 2008-07-04 | 2008-12-10 | 浙江大学 | 一种基于gpu的实时动态水面模拟方法 |
CN107886562A (zh) * | 2017-12-05 | 2018-04-06 | 北京像素软件科技股份有限公司 | 水面渲染方法、装置及可读存储介质 |
CN108022285A (zh) * | 2017-11-30 | 2018-05-11 | 杭州电魂网络科技股份有限公司 | 地图渲染方法及装置 |
CN108470369A (zh) * | 2018-03-26 | 2018-08-31 | 城市生活(北京)资讯有限公司 | 一种水面渲染方法及装置 |
CN109598777A (zh) * | 2018-12-07 | 2019-04-09 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、设备及存储介质 |
US10607567B1 (en) * | 2018-03-16 | 2020-03-31 | Amazon Technologies, Inc. | Color variant environment mapping for augmented reality |
CN112200902A (zh) * | 2020-09-30 | 2021-01-08 | 北京达佳互联信息技术有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
-
2021
- 2021-02-02 CN CN202110145335.2A patent/CN112860063B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320480A (zh) * | 2008-07-04 | 2008-12-10 | 浙江大学 | 一种基于gpu的实时动态水面模拟方法 |
CN108022285A (zh) * | 2017-11-30 | 2018-05-11 | 杭州电魂网络科技股份有限公司 | 地图渲染方法及装置 |
CN107886562A (zh) * | 2017-12-05 | 2018-04-06 | 北京像素软件科技股份有限公司 | 水面渲染方法、装置及可读存储介质 |
US10607567B1 (en) * | 2018-03-16 | 2020-03-31 | Amazon Technologies, Inc. | Color variant environment mapping for augmented reality |
CN108470369A (zh) * | 2018-03-26 | 2018-08-31 | 城市生活(北京)资讯有限公司 | 一种水面渲染方法及装置 |
CN109598777A (zh) * | 2018-12-07 | 2019-04-09 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、设备及存储介质 |
CN112200902A (zh) * | 2020-09-30 | 2021-01-08 | 北京达佳互联信息技术有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
近岛海洋场景海水色彩真实感实时绘制;唐勇等;《小型微型计算机系统》;20160415(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112860063A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860063B (zh) | 交互水的实现方法、系统、电子装置和存储介质 | |
CN111369655B (zh) | 渲染方法、装置和终端设备 | |
CN108965847B (zh) | 一种全景视频数据的处理方法及装置 | |
CN111598986B (zh) | 虚拟流体表面的渲染方法、装置、设备及存储介质 | |
US20220036643A1 (en) | Light probe generation method and apparatus, storage medium, and computer device | |
US20240037839A1 (en) | Image rendering | |
CN102667865A (zh) | 用于生成环境地图的方法 | |
KR20200096267A (ko) | 기가급 픽셀 이미지의 실시간 렌더링 방법 | |
CN113781615A (zh) | 一种动画生成方法、装置、设备、存储介质及程序产品 | |
CN115738255A (zh) | 抗锯齿渲染方法及装置、电子设备、存储介质 | |
CN112423111A (zh) | 图形引擎和适用于播放器的图形处理方法 | |
CN115082607A (zh) | 虚拟角色头发渲染方法、装置、电子设备和存储介质 | |
CN113230659A (zh) | 一种游戏的显示控制方法及装置 | |
WO2023169121A1 (zh) | 图像处理方法、游戏渲染方法、装置、设备、程序产品及存储介质 | |
WO2023202254A1 (zh) | 图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN112070854A (zh) | 一种图像生成方法、装置、设备及存储介质 | |
KR20180088876A (ko) | 이미지 처리 방법 및 장치 | |
CN116485969A (zh) | 体素对象生成方法、装置和计算机可读存储介质 | |
US20180089882A1 (en) | Blend shape system with texture coordinate blending | |
CN114596403A (zh) | 图像处理方法、装置、存储介质及终端 | |
CN113192173A (zh) | 三维场景的图像处理方法、装置及电子设备 | |
CN113643357A (zh) | 一种基于3d定位信息的ar人像拍照方法和系统 | |
CN115311395A (zh) | 三维场景渲染方法、装置及设备 | |
CN113064539A (zh) | 特效控制方法、装置、电子设备及存储介质 | |
CN114288647B (zh) | 基于AI Designer的人工智能游戏引擎、游戏渲染方法及装置 |
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 |