一种3d云层模拟实现方法

文档序号:6424730阅读:366来源:国知局
专利名称:一种3d云层模拟实现方法
技术领域
本发明涉及仿真技术领域,尤其涉及一种3D云层模拟实现方法。
背景技术
目前已有的模拟云层显示技术中,要么是采用2D动画的方式,无法在3D空间内更好的发挥作用,要么需要使用PC平台需要大量计算,复杂的图像处理,不适用于处理能力稍差的移动平台以及智能电视平台。目前尚未有一种方法,可以在低运算能力的平台上 (例如手机等便携式电子设备)显示3D云层以及动态效果。

发明内容
本发明的目的在于提供一种一种3D云层模拟实现方法,以方便快捷的在低运算能力的平台上显示3D云层,且提供云层的动态效果。本发明的技术方案如下一种3D云层模拟实现方法,包括以下步骤A.制作随时间变换的3D天空动态背景;B.绘制云片的多幅效果图,形成云形态库图片;C.通过在一个立方体空间内设置多个云片的方式生成单朵云,云片根据云层高度不同使用随机UV坐标设置的方式,从云形态库图片中随机取样;D.生成多个单朵云后设置每朵云的位置属性,生成云层;E.实时调整3D动态天空背景显示,并根据当前时间设置云层的实时色彩;F.添加云层动态效果。所述的3D云层模拟实现方法,在所述步骤F中,通过对云朵对象添加速度属性,在每一帧图像中对云片的位置属性坐标进行设置,以实现云层运动。
所述的3D云层模拟实现方法,在所述步骤F中,在添加速度属性时分别为每朵云设置初速度和加速度,且每朵云的加速度不同,并通过定义速度区间的方式对加速度进行调整。所述的3D云层模拟实现方法,在所述步骤F中,还根据云片的位置属性坐标,按一定曲线方程计算高度属性的坐标,然后在每一帧图片中对云片的高度坐标进行设置,使云在运动过程中高度上下起伏。所述的3D云层模拟实现方法,在所述步骤A中,通过UV坐标变换动画的方式实现随着时间逐渐变换的天空背景效果。所述的3D云层模拟实现方法,在所述步骤B中,通过PS等工具绘制卷云或积云的多幅效果图,并使效果图带alpha通道,且图片大小一致。所述的3D云层模拟实现方法,在所述步骤C中,通过设置立体空间的大小和形状模拟不同形状的云,通过调整发射云片的数量和大小模拟不同密度、不同大小的云。所述的3D云层模拟实现方法,在所述步骤C中,对每个云片的绘制均采用公告牌的形式。所述的3D云层模拟实现方法,在所述步骤D中,通过设置每朵云的高度属性坐标, 以生成不同高度的云层。所述的3D云层模拟实现方法,在所述步骤E中,通过在3D坐标系中设置一个环境光,让所有的云都受环境光影响从而呈现不同的色彩效果。通过上述方法,仅使用几幅2D的卷云或积云的效果图,通过对云片数量和云朵数量的调节,就可以制作效率很高且复杂的云层效果,再通过光源调节和动态效果添加,即可以模拟出比较真实自然的云层。


图1为本发明一种3D云层模拟实现方法的较佳实施方式的流程图;图2为公告牌的原理示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。参考图1,本发明一种3D云层模拟实现方法的较佳实施方式包括以下步骤步骤Si、制作随时间变换的3D天空动态背景通过UV坐标变换动画的方式可以实现随着时间逐渐变换的天空背景效果,其方法为只通过使用一幅图片,在这幅图片从左到右体现了一天内天空颜色的渐变效果,根据时间切换天空球的UV坐标使用范围,这样可以白天呈现蓝色、黄昏呈现金黄色、深夜显示黑色,并且颜色的改变不是突然的,而是早上到中午渐渐变蓝、中午到黄昏慢慢变黄。上述UV坐标也称为纹理坐标或者贴图坐标,用于控制图像如何投射到对象上。在游戏开发过程中UV定义了图片上每个点的位置的信息,这些点与3D模型是相互联系的,以决定表面纹理贴图的位置,UV就是将图像上每一个点精确对应到模型物体的表面,在点与点之间的间隙位置由软件进行图像光滑插值处理,此为本领域的公知技术,在此不再赘述。步骤S2、制作云形态库图片使用PS等工具绘制卷云或积云云片的多幅效果图, 并使效果图带alpha通道(阿尔法通道),且图片大小一致,然后将所有的效果图排列生成一幅组合后的图片,以形成云形态库图片。对于高层云、中层云和底层云分别制作不同的云形态库,对每朵云进行纹理贴图的时候采用随机UV坐标的方式来截取云形态库图片的某一个云片来实现更有效率的利用贴图。步骤S3、生成单朵云使用一个3D立方体空间(使用p0和pi两个点来定位它们之间的空间范围)内绘制多个云片(云片的粒子发射范围),通过设置立体空间的大小和形状可以模拟不同形状的云,通过调整发射云片的数量和大小可以模拟不同密度、不同大小的云。如把普通云的立方体空间设置为PO (-50,-20,-50,)pi (50,20,50),然后设置每朵云由10个云片组成,每个云片的大小为(128,64),这样生成的云朵形状为扁长型、密度大,适合模拟近景的云,镜头穿越的时候会有层层穿越的效果;如果把立体空间设置的大一些,云片数量设置的小一些,则适合模拟远景的云。
云的贴图根据云层高度不同使用步骤S2中的云形态库图片中的云片,使用随机 UV坐标设置的方式,从云形态库图片中随机取样,这样可以保证云朵的显示多样性。对每个云片的绘制均采用公告牌的形式,这样云片的显示会永远面对着镜头,从而只使用几个云片就可以模拟真实的云朵效果。公告牌的原理及实现方式如下公告牌使用二维图像始终面向观察者,给人一种立体的感觉,它的效率很高,只用处理两个多边形,常用于树木等模型以及粒子效果。公告牌由四个点定位,可以根据当前的模型视图矩阵和公告牌的位置坐标来计算它的四个点的坐标。参考图2,假设当前的模型视图矩阵为M,则首先计算两个方向向量right = [M
,M[4],M[8]]up = [M[1],M[5],M[9]]然后用如下公式计算公告牌的四个点a、b、c和d a = center—right氺(size氺0. 5);b = center+right氺size氺0.5 ;c = center+right氺size氺0. 5+up氺size ;d = center—right氺size氺0. 5+up氺size ;其中center代表公告牌的位置,size代表公告牌的长度。步骤S4、生成云层按照上面的步骤生成多个单朵云,然后设置每朵云的位置属性。例如可以将它们的高度属性y设置成3D坐标系代表2000米附近的高度,而位置属性 χ和ζ则设置成随机范围内的大小,就形成了高度为2000米左右的云层。在此可根据实际需要添加不同高度的云层,如高度6000米左右的高空单层云,其中,低空云和高空云要使用不同云形态库图片中的云片,这样效果更真实。步骤S5、实时调整3D动态天空背景显示,并根据当前时间设置云层的实时色彩 根据当前时间的不同调整3D动态天空背景,并对云层设置不同的色彩属性从而实现云色彩的渲染,由于云层在早晨中午晚上有不同的色彩效果,所以需要在3D坐标系中设置一个环境光,让所有的云都受环境光影响从而呈现不同的色彩效果,如白天加白光、黄昏加泛黄的光。步骤S6、添加云层动态效果在实现云的静态效果后,首先对云朵对象添加速度属性,在每一帧图像中对云片的位置属性坐标进行设置,从而实现云层运动。在添加云层的速度属性时,在对云的速度取值时采用在一个速度区间随机取值, 这样在云朵运动的过程中,云朵的形状会产生缓慢的变化。例如云的飘动的平均速度为vO, 我们使用vl = v0/2,v2 = v0*2定义出速度阀值vl和v2,然后对每朵云设置初速度为vO, 加速度a = v0/10*rl (rl取-1到1之间的随机数)。这样每朵云的加速度不同,速度就会有快慢的区分。而当云朵的速度ν超过了 vl到v2的区间时,再对加速度做新的调整使速度在此区间之内。这样每朵云的速度都在这个区间,但又存在微小的变化,云缓慢运动的同时就会呈现形状慢慢变化的效果。此后再通过以下方式添加云层上下涌动的动态效果在云运动的过程中,修改云的高度属性,具体修改方式是根据云片的位置属性χ和ζ坐标的不同,按一定曲线方程计算高度属性的y坐标,然后在每一帧图片中对云片的高度属性坐标进行设置,这样可实现在云的运动过程中,高度有上下起伏的效果。例如对于云片的高度属性使用sin曲线,公式为高度的变化值h = a*sin(bX),χ为速度方向向量上的距离,这样可以实现云朵朝这个方向运动的同时上下涌动的效果。通过调整a和b的取值可以设置涌动效果的不同的振幅和波长。通过上述方法,仅使用几幅2D的卷云或积云的效果图,通过对云片数量和云朵数量的调节,就可以制作效率很高且复杂的云层效果,再通过光源调节和动态效果添加,即可以模拟出比较真实自然的云层。本方法通过采用自然,简洁的方式,在3D空间里显示云层效果,该效果可以实现镜头在云层的穿越以及云层的动态变化,如随风飘动、涌动等效果。应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换, 而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
权利要求
1.一种3D云层模拟实现方法,包括以下步骤A.制作随时间变换的3D天空动态背景;B.绘制云片的多幅效果图,形成云形态库图片;C.通过在一个立方体空间内设置多个云片的方式生成单朵云,云片根据云层高度不同使用随机UV坐标设置的方式,从云形态库图片中随机取样;D.生成多个单朵云后设置每朵云的位置属性,生成云层;E.实时调整3D动态天空背景显示,并根据当前时间设置云层的实时色彩;F.添加云层动态效果。
2.根据权利要求1所述的3D云层模拟实现方法,其特征在于在所述步骤F中,通过对云朵对象添加速度属性,在每一帧图像中对云片的位置属性坐标进行设置,以实现云层运动。
3.根据权利要求2所述的3D云层模拟实现方法,其特征在于在所述步骤F中,在添加速度属性时分别为每朵云设置初速度和加速度,且每朵云的加速度不同,并通过定义速度区间的方式对加速度进行调整。
4.根据权利要求2所述的3D云层模拟实现方法,其特征在于在所述步骤F中,还根据云片的位置属性坐标,按一定曲线方程计算高度属性的坐标,然后在每一帧图片中对云片的高度坐标进行设置,使云在运动过程中高度上下起伏。
5.根据权利要求1所述的3D云层模拟实现方法,其特征在于在所述步骤A中,通过 UV坐标变换动画的方式实现随着时间逐渐变换的天空背景效果。
6.根据权利要求1所述的3D云层模拟实现方法,其特征在于在所述步骤B中,通过 PS等工具绘制卷云或积云的多幅效果图,并使效果图带alpha通道,且图片大小一致。
7.根据权利要求1所述的3D云层模拟实现方法,其特征在于在所述步骤C中,通过设置立体空间的大小和形状模拟不同形状的云,通过调整发射云片的数量和大小模拟不同密度、不同大小的云。
8.根据权利要求1所述的3D云层模拟实现方法,其特征在于在所述步骤C中,对每个云片的绘制均采用公告牌的形式。
9.根据权利要求1所述的3D云层模拟实现方法,其特征在于在所述步骤D中,通过设置每朵云的高度属性坐标,以生成不同高度的云层。
10.根据权利要求1所述的3D云层模拟实现方法,其特征在于在所述步骤E中,通过在3D坐标系中设置一个环境光,让所有的云都受环境光影响从而呈现不同的色彩效果。
全文摘要
本发明提供一种3D云层模拟实现方法,包括以下步骤A.制作随时间变换的3D天空动态背景;B.绘制云片的多幅效果图,形成云形态库图片;C.通过在一个立方体空间内设置多个云片的方式生成单朵云,云片根据云层高度不同使用随机UV坐标设置的方式,从云形态库图片中随机取样;D.生成多个单朵云后设置每朵云的位置属性,生成云层;E.实时调整3D动态天空背景显示,并根据当前时间设置云层的实时色彩;F.添加云层动态效果。通过上述方法,仅使用几幅2D的卷云或积云的效果图,通过对云片数量和云朵数量的调节,就可以制作效率很高且复杂的云层效果,再通过光源调节和动态效果添加,即可以模拟出比较真实自然的云层。
文档编号G06T17/00GK102184561SQ201110135568
公开日2011年9月14日 申请日期2011年5月24日 优先权日2011年5月24日
发明者张颖 申请人:Tcl集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1