CN114612602A - 确定透明度的方法、装置、电子设备及存储介质 - Google Patents
确定透明度的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114612602A CN114612602A CN202011444007.4A CN202011444007A CN114612602A CN 114612602 A CN114612602 A CN 114612602A CN 202011444007 A CN202011444007 A CN 202011444007A CN 114612602 A CN114612602 A CN 114612602A
- Authority
- CN
- China
- Prior art keywords
- target detection
- detection point
- current
- determining
- sub
- 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
Images
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
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
Abstract
本发明实施例公开了一种确定透明度的方法、装置、电子设备及存储介质,该方法包括:针对第一子模型上的各目标检测点,确定当前目标检测点的当前坐标信息,并基于当前坐标信息确定与当前目标检测点的距离函数;基于预先设置的球谐函数对各目标检测点的距离函数进行处理,得到各目标检测点的投影系数值;针对各目标检测点,将当前目标检测点的投影系数值存储至引擎中的目标存储位置。通过本发明实施的技术方案,实现了根据实际情况调整透明度参数,以使透明显示效果与实际理论效果相符,从而提高用户体验的技术效果。
Description
技术领域
本发明实施例涉及游戏开发技术,尤其涉及一种确定透明度的方法、装置、电子设备及存储介质。
背景技术
在动画设计中,通常会设置内层模型与外层模型之间的半透明效果,例如,皮肤模型和衣服模型的半透明显示。相应的,半透明显示主要是依赖内层物体所反射的光经过一定距离后穿透外层物体并入射到人眼后所显示的效果。其中,各模型是由一个个点构成的,当内层物体上的点与外层物体上与其相对应的点的距离越远,半透明效果比较弱,反之半透明效果就相对比较强。
目前,确定半透明效果,通常是设定外层模型的透明度显示值,该透明度显示值通常是固定不变的,外层模型上的所有点依据设定的透明度显示值来实现透明显示。此种方式存在透明显示与实际情况存在一定的偏差,从而导致透明显示效果不佳以及用户体验较差的技术问题。
发明内容
本发明提供一种确定透明度的方法、装置、电子设备及存储介质,以实现透明显示效果与实际相符,从而提高用户体验的技术效果。
第一方面,本发明实施例提供了一种确定透明度的方法,该方法包括:
针对第一子模型上的各目标检测点,确定当前目标检测点的当前坐标信息,并基于所述当前坐标信息确定与所述当前目标检测点的距离函数;所述当前坐标信息为对所述当前目标检测点的三维空间坐标进行矩阵变化后得到的坐标,所述距离函数是根据目标检测点在各个方向上与第二子模型之间的相对距离信息来确定的;所述第一子模型为包裹所述第二子模型的模型;
基于预先设置的球谐函数对各目标检测点的距离函数进行处理,得到各目标检测点的投影系数值;所述球谐函数由多个基函数构成;
针对各目标检测点,将当前目标检测点的投影系数值存储至引擎中的目标存储位置,以在检测到透明显示时,基于所述目标存储位置中存储的投影系数值重建出目标重建函数,基于目标重建函数确定目标拍摄角度下第一子模型与第二子模型之间的目标距离信息,并确定与所述目标距离信息相对应的透明度参数,以基于各目标检测点的透明度参数显示第一子模型上的各个目标检测点。
第二方面,本发明实施例还提供了一种确定透明度的方法,该方法包括:
确定拍摄装置与第一子模型上每个目标检测点所对应的目标拍摄角度;
针对各目标检测点,根据当前目标检测点的当前坐标信息确定目标坐标信息,并根据所述目标坐标信息以及所述当前目标检测点的投影系数值,重建出所述当前目标检测点的目标重建函数;所述当前坐标信息是对当前目标检测点的三维空间坐标进行矩阵变换后得到的坐标;所述第一子模型为包裹第二子模型的模型;所述投影系数值是基于球谐函数对第一子模型上每个目标检测点的球面分布的距离函数处理后确定的;
基于各目标检测点所对应的重建函数以及相应的目标拍摄角度,确定与各目标检测点所对应的距离信息,基于所述距离信息确定第一子模型和所述第二子模型之间的透明度参数,并基于所述透明度参数显示第一子模型。
第三方面,本发明实施例还提供了一种确定透明度的装置,该装置包括:
距离信息确定模块,用于针对第一子模型上的各目标检测点,确定当前目标检测点的当前坐标信息,并基于所述当前坐标信息确定与所述当前目标检测点的距离函数;所述当前坐标信息为对所述当前目标检测点的三维空间坐标进行矩阵变化后得到的坐标,所述距离函数是根据目标检测点在各个方向上与第二子模型之间的相对距离信息来确定的;所述第一子模型为包裹所述第二子模型的模型;
投影系数值确定模块,用于基于预先设置的球谐函数对各目标检测点的距离函数进行处理,得到各目标检测点的投影系数值;所述球谐函数由多个基函数构成;
透明度参数确定模块,用于针对各目标检测点,将当前目标检测点的投影系数值存储至引擎中的目标存储位置,以在检测到透明显示时,基于所述目标存储位置中存储的投影系数值重建出目标重建函数,基于目标重建函数确定目标拍摄角度下第一子模型与第二子模型之间的目标距离信息,并确定与所述目标距离信息相对应的透明度参数,以基于各目标检测点的透明度参数显示第一子模型上的各个目标检测点。
第四方面,本发明实施例还提供了一种确定透明度的装置,包括:
目标拍摄角度确定模块,用于确定拍摄装置与第一子模型上每个目标检测点所对应的目标拍摄角度;
目标重建函数重建模块,用于针对各目标检测点,根据当前目标检测点的当前坐标信息确定目标坐标信息,并根据所述目标坐标信息以及所述当前目标检测点的投影系数值,重建出所述当前目标检测点的目标重建函数;所述当前坐标信息是对当前目标检测点的三维空间坐标进行矩阵变换后得到的坐标;所述第一子模型为包裹第二子模型的模型;所述投影系数值是基于球谐函数对第一子模型上每个目标检测点的球面分布的距离函数处理后确定的;
透明显示模块,用于基于各目标检测点所对应的重建函数以及相应的目标拍摄角度,确定与各目标检测点所对应的距离信息,基于所述距离信息确定第一子模型和所述第二子模型之间的透明度参数,并基于所述透明度参数显示第一子模型。
第五方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例任一所述的确定透明度的方法。
第六方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例任一所述的确定透明度的方法。
本发明实施例的技术方案,通过针对第一子模型上的各目标检测点,确定当前目标检测点的当前坐标信息,并基于当前坐标信息确定与当前目标检测点的距离函数,并基于预先设置的球谐函数对各目标检测点的距离函数进行处理,得到各目标检测点的投影系数值,进而将当前目标检测点的投影系数值存储至引擎中的目标存储位置,解决了以固定透明度显示值对第一子模型进行透明显示时透明显示与实际情况存在偏差而导致的透明显示效果不佳,用户体验较差的技术问题,实现了根据实际情况调整透明度参数,以使透明显示效果与实际理论效果相符,从而提高用户体验的技术效果。
附图说明
为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
图1为本发明实施例一所提供的一种确定透明度的方法的流程示意图;
图2为本发明实施例二所提供的一种确定透明度的方法的流程示意图;
图3为本发明实施例三所提供的一种确定透明度的方法的流程示意图;
图4为本发明实施例四所提供的一种确定透明度的方法的流程示意图;
图5为本发明实施例五所提供的一种确定透明度的装置的结构示意图;
图6为本发明实施例六所提供的一种确定透明度的装置的结构示意图;
图7为本发明实施例七所提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一所提供的一种确定透明度的方法的流程示意图,本实施例可适用于根据实际情况调整透明度参数,以使透明显示效果与实际理论效果相符的情况,该方法可以由确定透明度的装置来执行,该装置可以通过软件和/或硬件的形式实现,该硬件可以是电子设备,可选的,电子设备可以是移动终端等。
如图1所述,本实施例具体包括如下步骤:
S110、针对第一子模型上的各目标检测点,确定当前目标检测点的当前坐标信息,并基于当前坐标信息确定与当前目标检测点的距离函数。
其中,第一子模型与第二子模型是相对而言的,若应用场景为皮肤模型和衣服模型时,可以将衣服所对应的模型作为第一子模型,皮肤所对应的模型作为第二子模型。目标检测点可以是第一子模型上预先设置的检测点;也可以是将第一子模型上的预先设置的划分为多个块,可以将每个块的中心点作为目标检测点;也可以是开发人员根据实际需求设置的检测点;当然,也可以是,第一子模型是由多个点构成的,可以将每个点均作为目标检测点。当前坐标信息为对当前目标检测点的三维空间坐标进行矩阵变化后得到的坐标,可以是基于当前目标检测点的切线、副切线以及法线来确定。具体可以是根据当前目标检测点的切线、副切线以及法线来建立一个坐标系,将三维空间坐标系下的空间坐标转换为切线、副切线以及法线方向上的坐标,此时得到的坐标为当前坐标信息。距离函数是与每个目标检测点相对应的,即一个目标检测点对应一个距离函数。针对每个距离函数,可以理解为:可以根据某个目标检测点在空间中的各个方向上与第二子模型之间的相对距离信息确定出来的。由于是球面分布的距离函数,每个目标检测点在各方向与第二子模型之间的距离,可以是:以目标检测点为球心,向空间中各个方向发射物理射线,确定各条物理射线与第二子模型的交点与目标检测点之间距离信息。示例性的,若目标检测点有1000个,距离函数的数量也为1000个,其中每个距离函数可以是基于某个目标检测点在各个方向,与第二子模型之间的距离确定出的距离函数。
需要说明的是,确定每个目标检测点的球面分布距离函数均是采用相同的方式,为了清楚的介绍本实施例技术方案,以确定其中一个目标检测点的球面分布函数为例来介绍。
具体的,可以以第一子模型上的一个目标检测点作为球心,向空间中的各个方向发射物理射线,确定各条物理射线与第二子模型的交点与目标检测点之间距离信息。若物理射线在该射线的方向上与第二子模型存在交点,则将该交点与目标检测点的距离作为目标检测点在该方向上与第二子模型之间的距离信息。若物理射线在该射线的方向上与第二子模型不存在交点,则可以将预设的最大距离信息作为目标检测点在该方向上与第二子模型之间的距离信息。
需要说明的是,确定当前目标检测点在空间中各个方向上的距离信息均是采用相同的方式,为了清楚的介绍本实施例技术方案,以确定其中一个方向为例来介绍。
当前目标检测点在空间中的某个方向上发射物理射线,若该物理射线与第二子模型存在交点,则当前目标检测点在当前方向上距离信息的确定方法可以是,根据当前目标检测点的三维空间坐标信息以及当前物理射线与第二子模型的交点的碰撞点三维空间坐标信息,可以通过空间中两点间的直线距离公式确定的,例如:当前坐标信息为(am1,am2,am3),碰撞点坐标信息为(ap1,ap2,ap3),则可以确定当前目标检测点基于当前物理射线所对应的第一子模型和第二子模型之间的距离信息为若该物理射线与第二子模型不存在交点,则当前目标检测点在当前方向上距离信息可以为预设的最大距离信息,例如:L=10nm。
需要说明的是,也可以采用其他方式来确定两个点之间的距离,在此不作具体显示,只要可以确定两个点之间的距离信息即可。
进一步的,根据各目标检测点都可以确定与其对应的第一子模型和第二子模型之间的距离信息。
在确定距离信息后,可以确定目标检测点的球面分布的距离函数,例如:目标检测点A的球面分布距离函数为
其中,i表示第i个方向,F(i)表示第i个方向上的距离信息,dist_i表示具体的距离信息,n表示方向的总数量。
需要说明的是,每个目标检测点的球面分布的距离函数是一个复合函数,该复合函数中子函数的个数可以根据预设的采样数量确定,默认的可以是16×32的精度,即复合函数中包含512个子函数。当采样数量越大时,复合函数中的子函数数量越多,精度越高。具体的采样数量可以根据实际需求来确定。
S120、基于预先设置的球谐函数对各目标检测点的距离函数进行处理,得到各目标检测点的投影系数值。
需要说明的是,确定每个目标检测点的投影系数值均是采用相同的方式,为了清楚的介绍本实施例技术方案,以确定其中一个目标检测点的的投影系数值为例来介绍。
其中,球谐函数由多个基函数构成,可以使用基函数对每个距离函数进行处理。球谐函数不同的阶数对应的基函数数量不同,二阶球谐函数包含4个基函数,三阶球谐函数包含9个基函数,四阶球谐函数包含16个基函数等。投影系数值是根据球谐函数中的基函数对距离函数进行处理后,得到的系数值,其系数值的数量与基函数的数量相同。根据球谐函数与其对应的多个基函数可以对目标检测点的球面分布距离函数进行压缩,以得到投影系数值。示例性的:球谐函数为二阶,即包括4个基函数,那么将目标检测点所对应的距离函数输入至该球谐函数中可以得到4个投影系数值,实现了将距离函数压缩为4个投影系数值的效果。
需要说明的是,球谐函数的阶数越高,在重建时重建出来的球形与实际球形的相似度就越高,因此开发人员可以根据实际需求选择不同阶数的球谐函数。越高阶的球谐函数包含的基函数越多,在后续根据球谐函数以及投影系数值还原距离函数时的还原程度越高。
具体的,在确定球谐函数的具体阶数后,可以将目标检测点的球面分布的距离函数输入至球谐函数中,基于球谐函数中的基函数对距离函数进行处理,以获得上述距离函数在各个基函数上的投影系数值。由此可知,投影系数值的数量与球谐函数中的基函数的数量相等。
需要说明的是,每个目标检测点的球面分布的距离函数可以相同也可以不同,当不同目标检测点在空间中各个方向上的距离信息都相同时,不同目标检测点所对应的距离函数相同,当不同目标检测点在空间中各个方向上的距离信息存在至少一个不同时,不同目标检测点所对应的距离函数不同,其中,距离函数是否相同是根据目标检测点在空间中各个方向上的距离信息来确定的。将不同的距离函数输入至预先设置的球谐函数进行处理后,得到的投影系数值不同。
S130、针对各目标检测点,将当前目标检测点的投影系数值存储至引擎中的目标存储位置,以在检测到透明显示时,基于目标存储位置中存储的投影系数值重建出目标重建函数,基于目标重建函数确定目标拍摄角度下第一子模型与第二子模型之间的目标距离信息,并确定与目标距离信息相对应的透明度参数,以基于各目标检测点的透明度参数显示第一子模型上的各个目标检测点。
具体的,针对每个目标检测点,可以将与当前目标检测点所对应的投影系数值存储至与当前目标检测点所对应的顶点色中和/或当前目标检测点的属性信息中,根据顶点的索引坐标导入引擎中的目标存储位置。
其中,可以将第一子模型上的每个目标检测点作为顶点色,每个目标检测点对应有像素通道,即RGBA四个通道,可以在每个通道中存储该目标检测点的投影系数值。属性信息可以是每个目标检测点所对应的可扩展信息,例如:UV,即u,v纹理贴图坐标。目标检测点所对应的顶点色以及当前目标检测点的属性信息可以共同使用来存储投影系数值。
具体的,将当前目标检测点所对应的投影系数值存储至与当前目标检测点所对应的顶点色中时,可以是按R,G,B以及A四个通道分别存储4个投影系数值,并且,可以根据投影系数值的数量确定需要顶点色的数量。也可以在一个顶点色中存储4个投影系数值,并将剩余的投影系数值存储至与当前目标检测点所对应的UV坐标中,上述方式可以减少顶点色的使用,并且便于投影系数值的存储以及后续的调取和使用。
可选的,还可以将目标检测点所对应的顶点色与当前目标检测点所对应的UV坐标共同使用来存储投影系数值,例如:若存储9个投影系数值,可以使用两个顶点色存储8个投影系数值,并将剩余的1个投影系数值存储至与当前目标检测点所对应的UV坐标中。
投影系数值的存储方式还可以是:针对每个目标检测点,将与当前目标检测点所对应的投影系数值存储至与至少一个图片中的像素点中,图片的数量与当前目标检测点所对应的投影系数值的数量相同。将全部存储投影系数值的图片根据顶点的索引坐标导入引擎中的目标存储位置。
示例性的,若存储9个投影系数值,可以使用9张图片,分别将投影系数值存储至当前目标检测点所对应的像素点中。
当投影系数值完成存储后,可以根据当前目标检测点的索引坐标导入引擎中的目标位置进行存储,以根据目标检测点从引擎中调取与当前目标检测点所对应投影系数值,以根据投影系数值重建后的目标距离信息,确定各目标检测点的透明度参数,进而基于各透明度参数显示第一子模型和第二子模型。
本实施例的技术方案,通过针对第一子模型上的各目标检测点,确定当前目标检测点的当前坐标信息,并基于当前坐标信息确定与当前目标检测点的距离函数,并基于预先设置的球谐函数对各目标检测点的距离函数进行处理,得到各目标检测点的投影系数值,进而将当前目标检测点的投影系数值存储至引擎中的目标存储位置,解决了以固定透明度显示值对第一子模型进行透明显示时透明显示与实际情况存在偏差而导致的透明显示效果不佳,用户体验较差的技术问题,实现了根据实际情况调整透明度参数,以使透明显示效果与实际理论效果相符,从而提高用户体验的技术效果。
实施例二
图2为本发明实施例二所提供的一种确定透明度的方法的流程示意图,在上述实施例的基础上,确定当前坐标信息以及确定距离函数的具体确定方式,以及将各目标检测点的投影系数值存储至目标存储位置的具体存储方式可以参见本实施例技术方案。其中与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图2,本实施例提供的确定透明度的方法包括:
S210、针对各目标检测点,确定当前目标检测点的三维空间坐标。
具体的,以空间中的某一点为空间坐标原点,建立三维空间坐标系,当前目标检测点在该三维空间坐标系中的坐标信息就是当前目标检测点的三维空间坐标,例如:以空间中某一人物的脚下的某个点为空间坐标原点,即(0,0,0),此时,建立三维空间坐标系,当前目标检测点可能是该人物头上某一点,该点的在三维空间坐标系中的坐标信息为(0,1,0),这一坐标信息就是该点的三维空间坐标。在该三维空间坐标系中,每一个目标检测点的三维空间坐标是固定的。
S220、根据预先确定的坐标变换矩阵,对三维空间坐标进行处理,确定当前目标检测点的当前坐标信息。
其中,坐标变换矩阵是用于将三维空间坐标转换为当前坐标信息的变换矩阵,当前坐标信息是根据变化矩阵,得到当前目标检测点在切线、副切线以及法线的具体值来确定。
具体的,以当前目标检测点的切线、副切线以及法线为基准定义当前坐标轴,根据当前坐标轴所对应的坐标变换矩阵对三维空间坐标进行坐标变化,可以得到当前目标检测点的当前坐标信息。例如:通过公式x’=Tx,T为坐标变换矩阵,由当前目标检测点的切线、副切线以及法线来确定,x是待变换的三维空间坐标。
示例性的,以空间中某一人物的手上的某个点为当前目标检测点,例如:当前目标检测点的三维空间坐标为(0,0,0)。根据当前目标检测点的切线、副切线以及法线为基准确定当前坐标轴,并根据当前坐标轴所对应的坐标变换矩阵对三维空间坐标进行坐标变化,当前目标检测点的三维空间坐标(0,0,0)就变为了(-0.2,0.5,0.3)。
需要说明的是,当前目标检测点的当前坐标信息是位于当前目标检测点的空间中的,而不是以空间中其他点为基准确定的相对坐标信息。当当前目标检测点的位置在空间中发生变化时,当前目标检测点的切线、副切线以及法线也会随之变化,根据变化后的当前目标检测点可以进一步确定变化后的当前坐标信息。
也就是说,在模型中的各个目标检测点的三维空间坐标发生变化时,可以确定其所对应的切线、法线以及副切线方向上的坐标,进而基于该坐标重建出重建函数,即可适用于对产生形变的物体进行距离信息确定,进而根据距离信息确定透明度参数的情形。
S230、针对各目标检测点,确定当前目标检测点向空间中各方向发射物理射线透过第二子模型时的各待处理碰撞点信息。
其中,各待处理碰撞点信息可以包括各待碰撞点的位置信息,例如:与当前目标信息对应的空间坐标信息等。
具体的,可以是基于第一子模型上的各目标检测点向各个方向发射物理射线,上述各条物理射线可能会透过第二子模型,当物理射线透过第二子模型时,确定物理射线与第二子模型存在待处理碰撞点,并将物理射线与第二子模型的交点为待处理碰撞点。待处理碰撞点信息可以是用于描述该点位置的信息,如与当前目标信息对应的空间坐标信息。因此,根据待处理碰撞点可以确定与待处理碰撞点相对应的空间坐标信息为待处理碰撞点信息。
在本实施例中,确定待处理碰撞点信息可以是:可以以当前目标检测点为球心,向空间中的任意方向发射物理射线,确定各物理射线透过所述第二子模型时的待处理碰撞点信息。
具体的,可以将从第一子模型上的各目标检测点向各个方向发射物理射线看作是以当前目标检测点为球心,向球面的各个方向发射物理射线。若物理射线透过第二子模型,则将物理射线与第二子模型交点的空间坐标信息作为待处理碰撞点信息。
S240、根据当前目标检测点与各待处理碰撞点信息,确定当前目标检测点在各方向上与第二子模型之间的距离信息。
当物理射线与第二子模型存在待处理碰撞点时,则确定待处理碰撞点信息与当前目标检测点的距离信息。
具体的,当存在待处理碰撞点时,将待处理碰撞点与当前目标信息对应的空间坐标信息作为待处理碰撞点的空间坐标信息,可以根据当前目标检测点的当前坐标信息以及待处理碰撞点的空间坐标信息,使用空间中两点之间距离的计算公式计算得出待处理碰撞点信息与当前目标检测点的距离信息。
当物理射线与第二子模型不存在待处理碰撞点时,则将与待处理碰撞点所对应的距离信息设置为设定值。
具体的,若物理射线不透过第二子模型,如,发射的物理射线与第二子模型是平行的或者是朝着背向第二子模型的方向发射的物理射线,此时物理射线与第二子模型之间不存在碰撞点,可以将此时的待处理碰撞信息设定为设定值。该设定值可以是待处理碰撞点信息与当前目标检测点的最大距离信息。
根据与每个待处理碰撞点所对应的距离信息或设定值,确定当前目标检测点在各方向上与第二子模型之间的距离信息。
具体的,基于上述两种情况,可以确定当前目标检测点发射的各条物理射线所对应的距离信息或设定值,并将距离信息或设定值作为当前目标检测点在各方向上与第二子模型之间的距离信息。
S250、根据每个目标检测点在各方向上的距离信息,确定相应目标检测点的球面分布的距离函数。
具体的,将每个目标检测点在空间中各个方向上的距离信息作为目标检测点的球面分布的距离函数中的一个子函数,可以得到目标检测点的球面分布的距离函数。该距离函数中的子函数数量与目标检测点在球面各个方向上的距离信息数量相同。
需要说明的是,为了提高精度,可以增加子函数的数量,即增加物理射线的密度,具体物理射线的数量可以根据实际需求来确定。
S260、确定球谐函数的阶数,并根据阶数确定球谐函数中基函数的表示方式以及基函数的数量。
不同阶数的球谐函数中包含的基函数数量不同,例如:二阶球谐函数包含4个基函数,三阶球谐函数包含9个基函数,四阶球谐函数包含16个基函数等。球谐函数的阶数越高,在后续使用重建函数进行重建时的效果会越好,具体的阶数需要根据实际需求来设定。
具体的,根据需求确定球谐函数的阶数为a,那么可以确定球谐函数中的基函数数量为a2。根据距离函数与投影系数值的关系可以确定各个基函数的表示方式。
S270、针对每个目标检测点,基于各基函数对当前目标检测点的距离函数进行处理,得到当前目标检测点的投影系数值。
需要说明的是,确定每个目标检测点的投影系数值均是采用相同的方式,为了清楚的介绍本实施例技术方案,以确定其中一个目标检测点的的投影系数值为例来介绍。
其中,投影系数值的数量与基函数的数量相同。投影系数值是使用预先设置的球谐函数中的各个基函数对距离函数进行计算确定的值。
具体的,基于每一个基函数对目标检测点的距离函数进行处理都可以得到与该基函数对应的投影系数值,因此,投影系数值的数量与基函数的数量相同。将目标检测点的距离函数输入至球谐函数的各个基函数中,可以获得上述距离函数在各个基函数上的投影系数值。
需要说明的是,每个目标检测点的球面分布的距离函数不同,将不同的距离函数输入至预先设置的球谐函数进行处理后,得到的投影系数值不同。
S280、针对各目标检测点,将当前目标检测点的投影系数值以及当前坐标信息存储至目标存储位置。
可选的,可以将与当前目标检测点所对应的投影系数值存储至与当前目标检测点所对应的顶点色中和/或当前目标检测点的属性信息中。还可以将与当前目标检测点所对应的投影系数值存储至与当前目标检测点所对应的至少一个图片的像素点中。
为了将当前目标检测点所对应的投影系数值进行存储,可以选择将投影系数值存储至当前目标检测点所对应的顶点色中和/或当前目标检测点的属性信息中,以便于后续调取和使用。
可选的,确定当前目标检测点所对应的投影系数值的目标数量;基于目标数量以及与顶点色相对应的存储数量,确定与当前目标检测点所对应的顶点色数量;将投影系数值存储至与当前目标检测点对应的顶点色中。
其中,目标数量是投影系数值的数量,也是预先设置的球谐函数中的基函数的数量。存储数量是每个顶点色能够存储的投影系数值的数量,例如:顶点色包含RGBA四个通道,存储数量为4。顶点色数量是用于存储投影系数值的顶点色的数量。
具体的,顶点色可以是按RGBA通道存储的,即存在4个通道的数值,也可以是按RGB通道存储的,即存在3个通道的数值。以顶点色使用RGBA通道存储为例,若预先设置的球谐函数为二阶球谐函数,包含4个基函数,那么可以得到4个投影系数值,则将上述4个投影系数值存储至当前目标检测点所对应的一个顶点色中。若预先设置的球谐函数为四阶球谐函数,包含16个基函数,那么可以得到16个投影系数值,则将上述16个投影系数值存储至当前目标检测点所对应的四个顶点色中,四个顶点色分别属于不同的图片,与当前目标检测点相对应。
需要说明的是,由于每个顶点色可以存储4个投影系数值,若投影系数值的数量不是4的倍数,那么需要对顶点色的个数进行取整,例如:三阶球谐函数,包含9个基函数,对应9个投影系数值,那么,可以使用两个顶点色存储8个投影系数值,剩余的1个投影系数值仍需一个顶点色进行存储,因此总共需要3个顶点色。
还可以采用的方式是:使用一个顶点色存储部分投影系数值之后,使用顶点色的属性信息存储剩余的投影系数值。
可选的,确定当前目标检测点所对应的投影系数值的目标数量;根据当前目标检测点的顶点色确定存储投影系数值的预设数量;根据目标数量以及预设数量,将剩余投影系数值存储至顶点色的属性信息中。
其中,预设数量是顶点色可以存储的投影系数值的数量。
具体的,根据目标数量以及预设数量的差值可以确定剩余投影系数值,并将剩余投影系数值存储至顶点色的属性信息中。例如:每个顶点色可以存储4个投影系数值,而三阶球谐函数包含9个基函数,对应9个投影系数值。使用目标检测点对应的一个顶点色可以存储4个投影系数值,并将5个剩余投影系数值存储至与该目标检测点所对应的UV坐标中。
还可以是使用目标检测点对应的两个顶点色存储8个投影系数值,将1个剩余投影系数值存储至与该目标检测点所对应的UV坐标中。上述存储方式可以减少顶点色的使用目的。
为了将当前目标检测点所对应的投影系数值进行存储,还可以选择将投影系数值存储至与当前目标检测点所对应的至少一个图片的像素点中,以便于后续调取和使用。
示例性的,若存储9个投影系数值,可以使用9张图片,分别将投影系数值存储至当前目标检测点所对应的像素点中。
进一步,将顶点色和/或属性信息以及当前坐标信息导入至引擎中的目标位置进行存储。或,将至少一个图片的像素点以及当前坐标信息导入至引擎中的目标位置进行存储。
其中,引擎可以是已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。目标位置可以是引擎中用于存储数据和/或信息的存储空间,在本实施例中是用于存储目标检测点的坐标信息的存储空间。
具体的,在将当前目标检测点所对应的投影系数值存储至与当前目标检测点所对应的顶点色中和/或当前目标检测点的属性信息中或存储至与当前目标检测点所对应的至少一个图片的像素点中之后,为了使引擎能够调取和使用存储的投影系数值,就需要将当前目标检测点的顶点色和/或属性信息,或至少一个图片的像素点根据导入至引擎中的目标位置进行存储,并将当前坐标信息也导入至引擎中的目标位置进行存储。若引擎需要使用某一个目标检测点所对应的投影系数值,则可以在引擎中的目标位置确定与该坐标信息相对应的投影系数值以供后续重建使用。
本发明实施例的技术方案,通过针对各目标检测点,确定当前目标检测点的三维空间坐标,根据预先确定的坐标变换矩阵,对三维空间坐标进行处理确定当前目标检测点的当前坐标信息,根据当前目标检测点与各待处理碰撞点信息,确定当前目标检测点在各方向上的距离信息,进而确定相应目标检测点的球面分布的距离函数,针对每个目标检测点,基于各基函数对当前目标检测点的距离函数进行处理,得到当前目标检测点的投影系数值,将当前目标检测点的投影系数值以及当前坐标信息存储至目标存储位置,解决了以固定透明度显示值对第一子模型进行透明显示时透明显示与实际情况存在偏差而导致的透明显示效果不佳,用户体验较差的技术问题,实现了根据实际情况调整透明度参数,以使透明显示效果与实际理论效果相符,从而提高用户体验的技术效果。
实施例三
图3为本发明实施例三所提供的一种确定透明度的方法的流程示意图,本实施例可适用于根据投影系数值重建出可以确定各角度下目标检测点与第二子模型之间的距离信息,并根据距离信息进行透明显示的情形,该方法可以由确定透明度的装置来执行,该装置可以通过软件和/或硬件的形式实现,该硬件可以是电子设备,可选的,电子设备可以是移动终端等。其中与上述各实施例相同或相应的术语的解释在此不再赘述。
如图3所述,本实施例具体包括如下步骤:
S310、确定拍摄装置与第一子模型上每个目标检测点所对应的目标拍摄角度。
其中,拍摄装置是用于观测和拍摄第一子模型的装置,目标拍摄角度是拍摄装置与第一子模型上每个目标检测点之间的相对角度。
具体的,拍摄装置与每个目标检测点所对应的目标拍摄角度存在差异,根据拍摄装置与第一子模型上每个目标检测点的相对位置关系,可以分别确定拍摄装置与每个目标检测点的相对角度信息,并可以将该角度信息作为目标拍摄角度。
S320、针对各目标检测点,根据当前目标检测点的当前坐标信息确定目标坐标信息,并根据目标坐标信息以及当前目标检测点的投影系数值,重建出当前目标检测点的目标重建函数。
其中,第一子模型与第二子模型是相对而言的,若应用场景为皮肤模型和衣服模型时,可以将衣服所对应的模型作为第一子模型,皮肤所对应的模型作为第二子模型。目标坐标信息是当前目标检测点在当前场景下的坐标信息,例如:当前目标检测点发生形变之前的当前坐标信息,在发生形变之后转换为目标坐标信息。当前目标检测点的投影系数值包括基于球谐函数对第一子模型上的当前目标检测点的球面分布的距离函数处理后确定的投影系数值。目标重建函数是是对当前目标检测点的投影系数值进行处理后,得到当前目标检测点向空间中各个方向发射物理射线时,物理射线与第二子模型碰撞时所对应的距离信息构建出的函数。
具体的,在当前场景下,可以根据当前目标检测点的当前坐标信息和根据当前检测点的切线、副切线以及法线确定的坐标轴,确定当前场景下当前目标检测点的目标坐标信息。在需要透明显示第一子模型上的各个目标检测点时,可以从当前目标检测点所对应的目标存储位置中获取当前目标检测点的投影系数值。根据存储的投影系数值以及当前目标检测点的目标坐标信息模拟出包括各个角度下所对应的距离信息的距离函数。如,根据投影系数值,可以模拟出以当前目标检测点为球心向空间的各个方向发射物理射线时,各个方向上与第二子模型所对应的距离值。并且,可以根据距离信息重建出当前目标检测点的目标重建函数。示例性的,以眼睛为拍摄装置,当第二子模型,例如手臂,向前伸直时,第一子模型上的某个目标检测点在y轴方向上,例如手臂上的衣服为第一子模型,此时,x轴和z轴平行于地面,与眼睛近似处于一条直线,在这种情况下,第一子模型近似时不透明的;当手臂立起来时,第一子模型上的目标检测点位于y轴的正方向上,但是,z轴朝向第二子模型,在这种情况下,同一目标检测点的坐标信息发生了变化,即同一个目标检测点在不同位置所对应的切线、副切线以及法线的坐标不同,进而基于该坐标重建出的重建函数也不相同,从而实现了在物体形变的条件下,依然可以确定各目标检测点所对应的重建函数,进而确定各目标检测点所对应的距离信息的技术效果。
需要说明的是,针对各目标检测点均可以采用上述方式来确定目标检测点与拍摄装置之间的目标拍摄角度,并基于目标拍摄角度确定各目标检测点与第二子模型中碰撞点之间的距离信息,并重建目标重建函数。
示例性的,在对第一子模型上的当前目标检测点进行透明显示时,根据当前目标检测点可以确定与当前目标检测点所对应的2个顶点色和1个属性信息,由于每个顶点色的RGBA四个通道中分别存储了1个投影系数值,因此可以获取当前目标检测点对应的9个投影系数值。将上述9个投影系数值根据预先设置的球谐函数进行处理,可以确定9个距离信息。上述9个距离信息是目标检测点在空间中9个角度下所对应的距离信息,并可以根据距离信息构建重建函数。S330、基于各目标检测点所对应的重建函数以及相应的模板拍摄角度,确定与各目标检测点所对应的距离信息,基于距离信息确定第一子模型和第二子模型之间的透明度参数,并基于透明度参数显示第一子模型。
其中,透明度参数是用于表示模型显示时的透明程度,可以使用百分比来表示,例如:透明度为80%等。
具体的,目标重建函数可以用于对输入的目标拍摄角度进行处理,以确定在该目标拍摄角度下目标检测点所对应的第一子模型与第二子模型之间的距离信息。根据当前目标检测点与拍摄装置,可选的,显示屏中的摄像装置或人眼瞳孔位置,可以确定出拍摄装置与当前目标检测点之间的目标拍摄角度,将该目标拍摄角度输入至目标重建函数中,可以确定出第二子模型上与当前目标检测点所对应的第二子模型上的碰撞点,进而确定该碰撞点与当前目标检测点之间的距离信息。
需要说明的是,确定每个目标检测点的透明度参数均是采用相同的方式,为了清楚的介绍本实施例技术方案,以确定其中一个目标检测点的透明度参数为例来介绍。
具体的,根据与当前目标检测点所对应的第一子模型和第二子模型之间的距离信息,确定当前目标检测点的透明度参数可以是:根据距离信息在预先存储的距离信息与透明度参数之间的对应关系中确定透明度参数,也可以是根据预先设置的透明度参数计算模型来计算,将距离信息输入至透明度参数计算模型中,经过计算可以获取与该距离信息对应的透明度参数。
示例性的,将距离信息记为dist,若0nm<dist≤5nm,透明度参数为90%,5nm<dist≤10nm,透明度参数为80%,当dist=7.5nm时,对应的透明度参数为80%。
示例性的,透明度计算公式为ai=f(li),其中,ai表示第i个目标检测点,li表示第i个目标检测点所对应的第一子模型和第二子模型之间的距离信息,f为具有单调性,且是单调递减的函数。
在确定目标检测点的透明度参数之后,为了使第一子模型和第二子模型的视觉体验效果更好,可以将第一子模型上的目标检测点按照相对应的透明度参数进行显示,以得到透明显示的效果。
本实施例的技术方案,通过确定目标拍摄角度,根据当前目标检测点的当前坐标信息确定目标坐标信息,并根据目标坐标信息以及当前目标检测点的投影系数值,重建出目标重建函数,基于重建函数以及相应的目标拍摄角度,确定对应的距离信息,进而确定透明度参数并基于透明度参数进行显示,解决了以固定透明度显示值对第一子模型进行透明显示时透明显示与实际情况存在偏差而导致的透明显示效果不佳,用户体验较差的技术问题,实现了根据实际情况调整透明度参数,以使透明显示效果与实际理论效果相符,从而提高用户体验的技术效果。
实施例四
图4为本发明实施例四所提供的一种确定透明度的方法的流程示意图,在上述实施例的基础上,可以根据球谐函数以及投影系数值重建出重建函数,可以基于重建函数确定在目标检测点与拍摄装置的目标拍摄角度下,目标检测点所对应的透明度参数,其具体实施方式可参见下述具体描述。其中与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图4,本实施例提供的确定透明度的方法包括:
S410、确定拍摄装置与第一子模型上每个目标检测点所对应的目标拍摄角度。
S420、根据当前目标检测点的当前坐标信息,确定当前目标检测点在当前场景下的目标坐标信息。
具体的,当前目标检测点的当前坐标信息是根据预先确定的坐标变换矩阵,对当前目标检测点的三维空间坐标进行处理得到的坐标信息。在当前场景下,可以根据当前目标检测点的当前坐标信息和根据当前检测点的切线、副切线以及法线确定的坐标轴,确定当前场景下当前目标检测点的目标坐标信息。
S430、通过预先设置的球谐函数对目标坐标信息以及当前目标检测点的投影系数值进行处理,重建出当前目标检测点的目标重建函数。
其中,目标坐标信息为当前场景下对目标检测点的当前坐标信息进行进一步转换处理后得到的坐标信息。
基于预先设置的球谐函数,可以重建出与各个目标检测点所对应的重建函数,为了清楚的介绍本实施例技术方案,可以以重建其中一个目标检测点的重建函数为例来介绍。
其中,目标检测点的重建函数是根据球谐函数对当前目标检测点的投影系数进行处理后,得到当前目标检测点向空间中各个方向发射物理射线时,物理射线与第二子模型碰撞时所对应的距离值构建出的函数。重建函数可以用于对输入的目标拍摄角度进行处理,以确定在该目标拍摄角度下目标检测点所对应的第一子模型与第二子模型之间的距离信息。
具体的,基于预先设置的球谐函数对目标坐标信息以及当前目标检测点的投影系数值进行处理,可以得到当前目标检测点向空间中各个方向发射物理射线时,物理射线与第二子模型碰撞时的碰撞点与当前目标检测点的距离信息。根据当前目标检测点所对应的空间中各个方向的距离信息,构建当前目标检测点所对应的重建函数。
S440、将与当前目标检测点所对应的目标拍摄角度输入至重建函数中,得到当前目标检测点与目标拍摄装置所属直线与第一子模型和第二子模型相交时的距离信息。
具体的,在确定当前目标检测点与目标拍摄装置之间的目标拍摄角度后,可以将目标拍摄角度输入至与当前目标检测点所对应的重建函数中,重建函数可以对目标拍摄角度进行处理,输出目标拍摄角度下当前目标检测点与目标拍摄装置所属直线与第二子模型碰撞点时,碰撞点与当前目标检测点之间的距离信息。
示例性的,若获取到当前目标检测点所对应的9个投影系数值,根据上述9个投影系数值以及目标坐标信息,通过预先设置的球谐函数进行反变换处理,可以得到目标检测点所对应的重建函数。将目标拍摄角度,如45°,输入至该重建函数中,可以基于重建函数确定目标拍摄角度下当前目标检测点所对应的第一子模型和第二子模型之间的距离信息,如5nm。
S450、根据预先设置的距离信息与透明度参数之间的对应关系以及各目标检测点所对应的距离信息,确定各目标检测点的透明度参数。
其中,可以预先存储各个距离信息与其相对应的透明度参数之间的对应关系,例如,每增加10nm透明度参数降低百分之十,将距离信息记为dist,0nm<dist≤10nm,透明度参数为100%,10nm<dist≤20nm,透明度参数为90%,20nm<dist≤30nm,透明度参数为80%等。
需要说明的是,透明度参数可以包括第一子模型的透明度参数以及第二子模型的透明度参数。
具体的,根据各目标检测点所对应的距离信息,可以在预先存储的各个距离信息与透明度参数的对应关系中,确定与距离信息相对应透明度参数,可以包括第一子模型的透明度参数以及第二子模型的透明度参数,以便后续透明显示时使用。
S460、基于透明度参数显示第一子模型和第二子模型。
具体的,在确定目标拍摄角度下各目标检测点所对应的用于显示第一子模型和第二子模型的透明度参数后,基于上述透明度参数可以实现第一子模型和第二子模型相对位置的透明度显示效果。
本实施例的技术方案,通过确定的目标拍摄角度,以及当前目标检测点在当前场景下的目标坐标信息,并基于预先设置的球谐函数对目标坐标信息以及当前目标检测点的投影系数值进行处理,重建出当前目标检测点的目标重建函数,根据目标拍摄角度以及重建函数确定距离信息,进而确定透明度参数并进行显示,解决了以固定透明度显示值对第一子模型进行透明显示时透明显示与实际情况存在偏差而导致的透明显示效果不佳,用户体验较差的技术问题,实现了根据实际情况调整透明度参数,以使透明显示效果与实际理论效果相符,从而提高用户体验的技术效果。
实施例五
图5为本发明实施例五所提供的一种确定透明度的装置的结构示意图,该装置包括:距离信息确定模块510,投影系数值确定模块520和透明度参数确定模块530。
其中,距离信息确定模块510,用于针对第一子模型上的各目标检测点,确定当前目标检测点的当前坐标信息,并基于当前坐标信息确定与当前目标检测点的距离函数;当前坐标信息为对当前目标检测点的三维空间坐标进行矩阵变化后得到的坐标,距离函数是根据目标检测点在各个方向上与第二子模型之间的相对距离信息来确定的;第一子模型为包裹第二子模型的模型;投影系数值确定模块520,用于基于预先设置的球谐函数对各目标检测点的距离函数进行处理,得到各目标检测点的投影系数值;球谐函数由多个基函数构成;透明度参数确定模块530,用于针对各目标检测点,将当前目标检测点的投影系数值存储至引擎中的目标存储位置,以在检测到透明显示时,基于目标存储位置中存储的投影系数值重建出目标重建函数,基于目标重建函数确定目标拍摄角度下第一子模型与第二子模型之间的目标距离信息,并确定与目标距离信息相对应的透明度参数,以基于各目标检测点的透明度参数显示第一子模型上的各个目标检测点。
可选的,距离信息确定模块510,具体用于针对各目标检测点,确定当前目标检测点向空间中各方向发射物理射线透过第二子模型时的各待处理碰撞点信息;根据当前目标检测点与各待碰撞点信息,确定当前目标检测在各方向上与第二子模型之间的距离信息;根据当前目标检测点的当前坐标信息,以及当前目标检测点在各方向上的距离信息,确定当前目标检测点的球面分布距离函数。
可选的,距离信息确定模块510,具体用于以当前目标检测点为球心,向空间中的任意方向发射物理射线,确定各物理射线透过第二子模型时的待处理碰撞点信息。
可选的,距离信息确定模块510,具体用于当物理射线与第二子模型存在待处理碰撞点时,则确定待处理碰撞点信息与当前目标检测点的距离信息;当物理信息与第二子模型不存在待处理碰撞点时,则将与待处理碰撞点所对应的距离信息设置为设定值;根据与每个待处理碰撞点所对应的距离信息和设定值,确定当前目标检测点在各方向上与第二子模型之间的距离信息。
可选的,距离信息确定模块510,具体用于针对各目标检测点,确定当前目标检测点的三维空间坐标;根据预先确定的坐标变换矩阵,对三维空间坐标进行处理,确定当前目标检测点的当前坐标信息;当前坐标信息是基于当前目标检测点的切线、副切线以及法线来确定。
可选的,投影系数值确定模块520,具体用于确定球谐函数的阶数,并根据阶数确定球谐函数中基函数的表示方式以及基函数的数量;针对每个目标检测点,基于各基函数对当前目标检测点的距离函数进行处理,得到当前目标检测点的投影系数值;投影系数值的数量与基函数的数量相同。
可选的,透明度参数确定模块530,具体用于针对各目标检测点,将当前目标检测点的投影系数值以及当前坐标信息存储至目标存储位置。
本实施例的技术方案,通过针对第一子模型上的各目标检测点,确定当前目标检测点的当前坐标信息,并基于当前坐标信息确定与当前目标检测点的距离函数,并基于预先设置的球谐函数对各目标检测点的距离函数进行处理,得到各目标检测点的投影系数值,进而将当前目标检测点的投影系数值存储至引擎中的目标存储位置,解决了以固定透明度显示值对第一子模型进行透明显示时透明显示与实际情况存在偏差而导致的透明显示效果不佳,用户体验较差的技术问题,实现了根据实际情况调整透明度参数,以使透明显示效果与实际理论效果相符,从而提高用户体验的技术效果。
本发明实施例所提供的确定透明度的装置可执行本发明任意实施例所提供的确定透明度的方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述确定透明度的装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
实施例六
图6为本发明实施例六所提供的一种确定透明度的装置的结构示意图,该装置包括:目标拍摄角度确定模块610,目标重建函数重建模块620和透明显示模块630。
其中,目标拍摄角度确定模块610,用于确定拍摄装置与第一子模型上每个目标检测点所对应的目标拍摄角度;目标重建函数重建模块620,用于针对各目标检测点,根据当前目标检测点的当前坐标信息确定目标坐标信息,并根据目标坐标信息以及当前目标检测点的投影系数值,重建出当前目标检测点的目标重建函数;当前坐标信息是对当前目标检测点的三维空间坐标进行矩阵变换后得到的坐标;第一子模型为包裹第二子模型的模型;投影系数值是基于球谐函数对第一子模型上每个目标检测点的球面分布的距离函数处理后确定的;透明显示模块630,用于基于各目标检测点所对应的重建函数以及相应的目标拍摄角度,确定与各目标检测点所对应的距离信息,基于距离信息确定第一子模型和第二子模型之间的透明度参数,并基于透明度参数显示第一子模型。
可选的,目标重建函数重建模块620,具体用于根据当前目标检测点的当前坐标信息,确定当前目标检测点在当前场景下的目标坐标信息;通过预先设置的球谐函数对目标坐标信息以及当前目标检测点的投影系数值进行处理,重建出当前目标检测点的目标重建函数;球谐函数中包括至少一个基函数。
可选的,透明显示模块630,具有用于将与当前目标检测点所对应的目标拍摄角度输入至重建函数中,得到当前目标检测点与目标拍摄装置所属直线与第一子模型和第二子模型相交时的距离信息。
可选的,透明显示模块630,具有用于根据预先设置的距离信息与透明度信息之间的对应关系以及各目标检测点所对应的距离信息,确定各目标检测点的透明度参数;基于透明度参数显示第一子模型和第二子模型。
本实施例的技术方案,通过针对各目标检测点,确定当前目标检测点的三维空间坐标,根据预先确定的坐标变换矩阵,对三维空间坐标进行处理确定当前目标检测点的当前坐标信息,根据当前目标检测点与各待处理碰撞点信息,确定当前目标检测点在各方向上的距离信息,进而确定相应目标检测点的球面分布的距离函数,针对每个目标检测点,基于各基函数对当前目标检测点的距离函数进行处理,得到当前目标检测点的投影系数值,将当前目标检测点的投影系数值以及当前坐标信息存储至目标存储位置,解决了以固定透明度显示值对第一子模型进行透明显示时透明显示与实际情况存在偏差而导致的透明显示效果不佳,用户体验较差的技术问题,实现了根据实际情况调整透明度参数,以使透明显示效果与实际理论效果相符,从而提高用户体验的技术效果。
本发明实施例所提供的确定透明度的装置可执行本发明任意实施例所提供的确定透明度的方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述确定透明度的装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
实施例七
图7为本发明实施例七所提供的一种电子设备的结构示意图。图7示出了适于用来实现本发明实施例实施方式的示例性电子设备70的框图。图7显示的电子设备70仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备70以通用计算设备的形式表现。电子设备70的组件可以包括但不限于:一个或者多个处理器或者处理单元701,系统存储器702,连接不同系统组件(包括系统存储器702和处理单元701)的总线703。
总线703表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备70典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备70访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器702可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)704和/或高速缓存存储器705。电子设备70可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统706可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线703相连。存储器702可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块707的程序/实用工具708,可以存储在例如存储器702中,这样的程序模块707包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块707通常执行本发明所描述的实施例中的功能和/或方法。
电子设备70也可以与一个或多个外部设备709(例如键盘、指向设备、显示器710等)通信,还可与一个或者多个使得用户能与该电子设备70交互的设备通信,和/或与使得该电子设备70能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口711进行。并且,电子设备70还可以通过网络适配器712与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器712通过总线703与电子设备70的其它模块通信。应当明白,尽管图7中未示出,可以结合电子设备70使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元701通过运行存储在系统存储器702中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的确定透明度的方法。
实施例八
本发明实施例八还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种确定透明度的方法。
该方法包括:
针对第一子模型上的各目标检测点,确定当前目标检测点的当前坐标信息,并基于当前坐标信息确定与当前目标检测点的距离函数;当前坐标信息为对当前目标检测点的三维空间坐标进行矩阵变化后得到的坐标,距离函数是根据目标检测点在各个方向上与第二子模型之间的相对距离信息来确定的;第一子模型为包裹第二子模型的模型;
基于预先设置的球谐函数对各目标检测点的距离函数进行处理,得到各目标检测点的投影系数值;球谐函数由多个基函数构成;
针对各目标检测点,将当前目标检测点的投影系数值存储至引擎中的目标存储位置,以在检测到透明显示时,基于目标存储位置中存储的投影系数值重建出目标重建函数,基于目标重建函数确定目标拍摄角度下第一子模型与第二子模型之间的目标距离信息,并确定与目标距离信息相对应的透明度参数,以基于各目标检测点的透明度参数显示第一子模型上的各个目标检测点。
或,该方法包括:
确定拍摄装置与第一子模型上每个目标检测点所对应的目标拍摄角度;
针对各目标检测点,根据当前目标检测点的当前坐标信息确定目标坐标信息,并根据目标坐标信息以及当前目标检测点的投影系数值,重建出当前目标检测点的目标重建函数;当前坐标信息是对当前目标检测点的三维空间坐标进行矩阵变换后得到的坐标;第一子模型为包裹第二子模型的模型;投影系数值是基于球谐函数对第一子模型上每个目标检测点的球面分布的距离函数处理后确定的;
基于各目标检测点所对应的重建函数以及相应的目标拍摄角度,确定与各目标检测点所对应的距离信息,基于距离信息确定第一子模型和第二子模型之间的透明度参数,并基于透明度参数显示第一子模型。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (15)
1.一种确定透明度的方法,其特征在于,包括:
针对第一子模型上的各目标检测点,确定当前目标检测点的当前坐标信息,并基于所述当前坐标信息确定与所述当前目标检测点的距离函数;所述当前坐标信息为对所述当前目标检测点的三维空间坐标进行矩阵变化后得到的坐标,所述距离函数是根据目标检测点在各个方向上与第二子模型之间的相对距离信息来确定的;所述第一子模型为包裹所述第二子模型的模型;
基于预先设置的球谐函数对各目标检测点的距离函数进行处理,得到各目标检测点的投影系数值;所述球谐函数由多个基函数构成;
针对各目标检测点,将当前目标检测点的投影系数值存储至引擎中的目标存储位置,以在检测到透明显示时,基于所述目标存储位置中存储的投影系数值重建出目标重建函数,基于目标重建函数确定目标拍摄角度下第一子模型与第二子模型之间的目标距离信息,并确定与所述目标距离信息相对应的透明度参数,以基于各目标检测点的透明度参数显示第一子模型上的各个目标检测点。
2.根据权利要求1所述的方法,其特征在于,所述确定当前目标检测点的当前坐标信息,并基于所述当前坐标信息确定与所述当前目标检测点的距离函数,包括:
针对各目标检测点,确定当前目标检测点向空间中各方向发射物理射线透过第二子模型时的各待处理碰撞点信息;
根据当前目标检测点与各待碰撞点信息,确定所述当前目标检测点在各方向上与所述第二子模型之间的距离信息;
根据当前目标检测点的当前坐标信息,以及当前目标检测点在各方向上的距离信息,确定当前目标检测点的球面分布距离函数。
3.根据权利要求2所述的方法,其特征在于,所述针对各目标检测点,确定当前目标检测点向空间中各方向发射物理射线透过第二子模型时的各待处理碰撞点信息,包括:
以当前目标检测点为球心,向空间中的任意方向发射物理射线,确定各物理射线透过所述第二子模型时的待处理碰撞点信息。
4.根据权利要求2所述的方法,其特征在于,所述根据当前目标检测点与各待碰撞点信息,确定所述当前目标检测在各方向上与所述第二子模型之间的距离信息,包括:
当物理射线与所述第二子模型存在待处理碰撞点时,则确定待处理碰撞点信息与所述当前目标检测点的距离信息;
当所述物理信息与所述第二子模型不存在待处理碰撞点时,则将与所述待处理碰撞点所对应的距离信息设置为设定值;
根据与每个待处理碰撞点所对应的距离信息和设定值,确定所述当前目标检测点在各方向上与所述第二子模型之间的距离信息。
5.根据权利要求1所述的方法,其特征在于,所述针对第一子模型上的各目标检测点,确定当前目标检测点的当前坐标信息,包括:
针对各目标检测点,确定当前目标检测点的三维空间坐标;
根据预先确定的坐标变换矩阵,对所述三维空间坐标进行处理,确定所述当前目标检测点的当前坐标信息;
所述当前坐标信息是基于当前目标检测点的切线、副切线以及法线来确定。
6.根据权利要求1所述的方法,其特征在于,所述基于预先设置的球谐函数对各目标检测点的距离函数进行处理,得到各目标检测点的投影系数值,包括:
确定所述球谐函数的阶数,并根据所述阶数确定球谐函数中基函数的表示方式以及基函数的数量;
针对每个目标检测点,基于各基函数对当前目标检测点的距离函数进行处理,得到所述当前目标检测点的投影系数值;所述投影系数值的数量与所述基函数的数量相同。
7.根据权利要求1所述的方法,其特征在于,所述将当前目标检测点的投影系数值存储至引擎中的目标存储位置,包括:
针对各目标检测点,将当前目标检测点的投影系数值以及当前坐标信息存储至所述目标存储位置。
8.一种确定透明度的方法,其特征在于,包括:
确定拍摄装置与第一子模型上每个目标检测点所对应的目标拍摄角度;
针对各目标检测点,根据当前目标检测点的当前坐标信息确定目标坐标信息,并根据所述目标坐标信息以及所述当前目标检测点的投影系数值,重建出所述当前目标检测点的目标重建函数;所述当前坐标信息是对当前目标检测点的三维空间坐标进行矩阵变换后得到的坐标;所述第一子模型为包裹第二子模型的模型;所述投影系数值是基于球谐函数对第一子模型上每个目标检测点的球面分布的距离函数处理后确定的;
基于各目标检测点所对应的重建函数以及相应的目标拍摄角度,确定与各目标检测点所对应的距离信息,基于所述距离信息确定第一子模型和所述第二子模型之间的透明度参数,并基于所述透明度参数显示第一子模型。
9.根据权利要求8所述的方法,其特征在于,所述根据当前目标检测点的当前坐标信息确定目标坐标信息,并根据所述目标坐标信息以及所述当前目标检测点的投影系数值,重建出所述当前目标检测点的目标重建函数,包括:
根据当前目标检测点的当前坐标信息,确定当前目标检测点在当前场景下的目标坐标信息;
通过预先设置的球谐函数对所述目标坐标信息以及当前目标检测点的投影系数值进行处理,重建出当前目标检测点的目标重建函数;球谐函数中包括至少一个基函数。
10.根据权利要求8所述的方法,其特征在于,所述基于各目标检测点所对应的重建函数以及相应的相对拍摄角度,确定与各目标检测点所对应的距离信息,包括:
将与所述当前目标检测点所对应的目标拍摄角度输入至所述重建函数中,得到所述当前目标检测点与所述目标拍摄装置所属直线与第一子模型和所述第二子模型相交时的距离信息。
11.根据权利要求8所述的方法,其特征在于,所述基于所述距离信息确定第一子模型和所述第二子模型之间的透明度参数,并基于所述透明度参数显示第一子模型,包括:
根据预先设置的距离信息与透明度信息之间的对应关系以及各目标检测点所对应的距离信息,确定各目标检测点的透明度参数;
基于所述透明度参数显示所述第一子模型和所述第二子模型。
12.一种确定透明度的装置,其特征在于,包括:
距离信息确定模块,用于针对第一子模型上的各目标检测点,确定当前目标检测点的当前坐标信息,并基于所述当前坐标信息确定与所述当前目标检测点的距离函数;所述当前坐标信息为对所述当前目标检测点的三维空间坐标进行矩阵变化后得到的坐标,所述距离函数是根据目标检测点在各个方向上与第二子模型之间的相对距离信息来确定的;所述第一子模型为包裹所述第二子模型的模型;
投影系数值确定模块,用于基于预先设置的球谐函数对各目标检测点的距离函数进行处理,得到各目标检测点的投影系数值;所述球谐函数由多个基函数构成;
透明度参数确定模块,用于针对各目标检测点,将当前目标检测点的投影系数值存储至引擎中的目标存储位置,以在检测到透明显示时,基于所述目标存储位置中存储的投影系数值重建出目标重建函数,基于目标重建函数确定目标拍摄角度下第一子模型与第二子模型之间的目标距离信息,并确定与所述目标距离信息相对应的透明度参数,以基于各目标检测点的透明度参数显示第一子模型上的各个目标检测点。
13.一种确定透明度的装置,其特征在于,包括:
目标拍摄角度确定模块,用于确定拍摄装置与第一子模型上每个目标检测点所对应的目标拍摄角度;
目标重建函数重建模块,用于针对各目标检测点,根据当前目标检测点的当前坐标信息确定目标坐标信息,并根据所述目标坐标信息以及所述当前目标检测点的投影系数值,重建出所述当前目标检测点的目标重建函数;所述当前坐标信息是对当前目标检测点的三维空间坐标进行矩阵变换后得到的坐标;所述第一子模型为包裹第二子模型的模型;所述投影系数值是基于球谐函数对第一子模型上每个目标检测点的球面分布的距离函数处理后确定的;
透明显示模块,用于基于各目标检测点所对应的重建函数以及相应的目标拍摄角度,确定与各目标检测点所对应的距离信息,基于所述距离信息确定第一子模型和所述第二子模型之间的透明度参数,并基于所述透明度参数显示第一子模型。
14.一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8或9-11中任一所述的确定透明度的方法。
15.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本权利要求1-8或9-11中任一所述的确定透明度的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011444007.4A CN114612602A (zh) | 2020-12-08 | 2020-12-08 | 确定透明度的方法、装置、电子设备及存储介质 |
PCT/CN2021/131498 WO2022121653A1 (zh) | 2020-12-08 | 2021-11-18 | 确定透明度的方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011444007.4A CN114612602A (zh) | 2020-12-08 | 2020-12-08 | 确定透明度的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114612602A true CN114612602A (zh) | 2022-06-10 |
Family
ID=81856760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011444007.4A Pending CN114612602A (zh) | 2020-12-08 | 2020-12-08 | 确定透明度的方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114612602A (zh) |
WO (1) | WO2022121653A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115222896B (zh) * | 2022-09-20 | 2023-05-23 | 荣耀终端有限公司 | 三维重建方法、装置、电子设备及计算机可读存储介质 |
CN115661426B (zh) * | 2022-12-15 | 2023-03-17 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎的模型修改方法、装置、设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9401043B2 (en) * | 2013-01-18 | 2016-07-26 | Pixar | Photon beam diffusion |
CN108525300B (zh) * | 2018-04-27 | 2020-01-24 | 腾讯科技(深圳)有限公司 | 位置指示信息显示方法、装置、电子装置及存储介质 |
CN111494945B (zh) * | 2020-04-22 | 2024-04-26 | 网易(杭州)网络有限公司 | 虚拟对象处理方法及装置、存储介质、电子设备 |
CN111659117B (zh) * | 2020-07-08 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 虚拟对象展示方法、装置、计算机设备及存储介质 |
-
2020
- 2020-12-08 CN CN202011444007.4A patent/CN114612602A/zh active Pending
-
2021
- 2021-11-18 WO PCT/CN2021/131498 patent/WO2022121653A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022121653A1 (zh) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210312685A1 (en) | Method for synthesizing figure of virtual object, electronic device, and storage medium | |
US11263803B2 (en) | Virtual reality scene rendering method, apparatus and device | |
US11170577B2 (en) | Generating and modifying representations of objects in an augmented-reality or virtual-reality scene | |
CN116897326A (zh) | 人工现实中虚拟对象的手部锁定渲染 | |
US11954805B2 (en) | Occlusion of virtual objects in augmented reality by physical objects | |
CN108805979A (zh) | 一种动态模型三维重建方法、装置、设备和存储介质 | |
WO2022121653A1 (zh) | 确定透明度的方法、装置、电子设备和存储介质 | |
US20210343072A1 (en) | Shader binding management in ray tracing | |
US20230230311A1 (en) | Rendering Method and Apparatus, and Device | |
CN113379885B (zh) | 虚拟头发的处理方法及装置、可读存储介质及电子设备 | |
CN112766027A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN114375464A (zh) | 使用边界体积表示对虚拟空间中的动态单元进行光线追踪 | |
CN106886974A (zh) | 图像加速器设备及相关方法 | |
JP3629243B2 (ja) | モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法 | |
US20210090322A1 (en) | Generating and Modifying Representations of Objects in an Augmented-Reality or Virtual-Reality Scene | |
CN112528707A (zh) | 图像处理方法、装置、设备及存储介质 | |
US20240046554A1 (en) | Presenting virtual representation of real space using spatial transformation | |
CN114627231A (zh) | 确定透明度的方法、装置、电子设备及存储介质 | |
WO2022121654A1 (zh) | 确定透明度的方法、装置、电子设备及存储介质 | |
Fu et al. | Dynamic shadow rendering with shadow volume optimization | |
WO2022121652A1 (zh) | 确定透明度的方法、装置、电子设备及存储介质 | |
CN112465692A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN114612603A (zh) | 确定透明度的方法、装置、电子设备及存储介质 | |
CN115714888B (zh) | 视频生成方法、装置、设备与计算机可读存储介质 | |
CN114627232A (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 |