CN102184561B - 一种3d云层模拟实现方法 - Google Patents
一种3d云层模拟实现方法 Download PDFInfo
- Publication number
- CN102184561B CN102184561B CN2011101355680A CN201110135568A CN102184561B CN 102184561 B CN102184561 B CN 102184561B CN 2011101355680 A CN2011101355680 A CN 2011101355680A CN 201110135568 A CN201110135568 A CN 201110135568A CN 102184561 B CN102184561 B CN 102184561B
- Authority
- CN
- China
- Prior art keywords
- cloud
- cloud layer
- implementation method
- coordinate
- sheet
- 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
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种3D云层模拟实现方法,包括以下步骤:A.制作随时间变换的3D天空动态背景;B.绘制云片的多幅效果图,形成云形态库图片;C.通过在一个立方体空间内设置多个云片的方式生成单朵云,云片根据云层高度不同使用随机UV坐标设置的方式,从云形态库图片中随机取样;D.生成多个单朵云后设置每朵云的位置属性,生成云层;E.实时调整3D动态天空背景显示,并根据当前时间设置云层的实时色彩;F.添加云层动态效果。通过上述方法,仅使用几幅2D的卷云或积云的效果图,通过对云片数量和云朵数量的调节,就可以制作效率很高且复杂的云层效果,再通过光源调节和动态效果添加,即可以模拟出比较真实自然的云层。
Description
技术领域
本发明涉及仿真技术领域,尤其涉及一种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云层模拟实现方法的较佳实施方式包括以下步骤:
步骤S1、制作随时间变换的3D天空动态背景:通过UV坐标变换动画的方式可以实现随着时间逐渐变换的天空背景效果,其方法为只通过使用一幅图片,在这幅图片从左到右体现了一天内天空颜色的渐变效果,根据时间切换天空球的UV坐标使用范围,这样可以白天呈现蓝色、黄昏呈现金黄色、深夜显示黑色,并且颜色的改变不是突然的,而是早上到中午渐渐变蓝、中午到黄昏慢慢变黄。
上述UV坐标也称为纹理坐标或者贴图坐标,用于控制图像如何投射到对象上。在游戏开发过程中UV定义了图片上每个点的位置的信息,这些点与3D模型是相互联系的,以决定表面纹理贴图的位置,UV就是将图像上每一个点精确对应到模型物体的表面,在点与点之间的间隙位置由软件进行图像光滑插值处理,此为本领域的公知技术,在此不再赘述。
步骤S2、制作云形态库图片:使用PS等工具绘制卷云或积云云片的多幅效果图,并使效果图带alpha通道(阿尔法通道),且图片大小一致,然后将所有的效果图排列生成一幅组合后的图片,以形成云形态库图片。对于高层云、中层云和底层云分别制作不同的云形态库,对每朵云进行纹理贴图的时候采用随机UV坐标的方式来截取云形态库图片的某一个云片来实现更有效率的利用贴图。
步骤S3、生成单朵云:使用一个3D立方体空间(使用p0和p1两个点来定位它们之间的空间范围)内绘制多个云片(云片的粒子发射范围),通过设置立体空间的大小和形状可以模拟不同形状的云,通过调整发射云片的数量和大小可以模拟不同密度、不同大小的云。如把普通云的立方体空间设置为p0(-50,-20,-50,)p1(50,20,50),然后设置每朵云由10个云片组成,每个云片的大小为(128,64),这样生成的云朵形状为扁长型、密度大,适合模拟近景的云,镜头穿越的时候会有层层穿越的效果;如果把立体空间设置的大一些,云片数量设置的小一些,则适合模拟远景的云。
云的贴图根据云层高度不同使用步骤S2中的云形态库图片中的云片,使用随机UV坐标设置的方式,从云形态库图片中随机取样,这样可以保证云朵的显示多样性。对每个云片的绘制均采用公告牌的形式,这样云片的显示会永远面对着镜头,从而只使用几个云片就可以模拟真实的云朵效果。公告牌的原理及实现方式如下:
公告牌使用二维图像始终面向观察者,给人一种立体的感觉,它的效率很高,只用处理两个多边形,常用于树木等模型以及粒子效果。公告牌由四个点定位,可以根据当前的模型视图矩阵和公告牌的位置坐标来计算它的四个点的坐标。参考图2,假设当前的模型视图矩阵为M,则首先计算两个方向向量:
right=[M[0],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米附近的高度,而位置属性x和z则设置成随机范围内的大小,就形成了高度为2000米左右的云层。在此可根据实际需要添加不同高度的云层,如高度6000米左右的高空单层云,其中,低空云和高空云要使用不同云形态库图片中的云片,这样效果更真实。
步骤S5、实时调整3D动态天空背景显示,并根据当前时间设置云层的实时色彩:根据当前时间的不同调整3D动态天空背景,并对云层设置不同的色彩属性从而实现云色彩的渲染,由于云层在早晨中午晚上有不同的色彩效果,所以需要在3D坐标系中设置一个环境光,让所有的云都受环境光影响从而呈现不同的色彩效果,如白天加白光、黄昏加泛黄的光。
步骤S6、添加云层动态效果:在实现云的静态效果后,首先对云朵对象添加速度属性,在每一帧图像中对云片的位置属性坐标进行设置,从而实现云层运动。
在添加云层的速度属性时,在对云的速度取值时采用在一个速度区间随机取值,这样在云朵运动的过程中,云朵的形状会产生缓慢的变化。例如云的飘动的平均速度为v0,我们使用v1=v0/2、v2=v0*2定义出速度阀值v1和v2,然后对每朵云设置初速度为v0,加速度a=v0/10*r1(r1取-1到1之间的随机数)。这样每朵云的加速度不同,速度就会有快慢的区分。而当云朵的速度v超过了v1到v2的区间时,再对加速度做新的调整使速度在此区间之内。这样每朵云的速度都在这个区间,但又存在微小的变化,云缓慢运动的同时就会呈现形状慢慢变化的效果。
此后再通过以下方式添加云层上下涌动的动态效果:在云运动的过程中,修改云的高度属性,具体修改方式是根据云片的位置属性x和z坐标的不同,按一定曲线方程计算高度属性的y坐标,然后在每一帧图片中对云片的高度属性坐标进行设置,这样可实现在云的运动过程中,高度有上下起伏的效果。例如对于云片的高度属性使用sin曲线,公式为高度的变化值h=a*sin(bx),x为速度方向向量上的距离,这样可以实现云朵朝这个方向运动的同时上下涌动的效果。通过调整a和b的取值可以设置涌动效果的不同的振幅和波长。
通过上述方法,仅使用几幅2D的卷云或积云的效果图,通过对云片数量和云朵数量的调节,就可以制作效率很高且复杂的云层效果,再通过光源调节和动态效果添加,即可以模拟出比较真实自然的云层。本方法通过采用自然,简洁的方式,在3D空间里显示云层效果,该效果可以实现镜头在云层的穿越以及云层的动态变化,如随风飘动、涌动等效果。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
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云层模拟实现方法,其特征在于:在所述步骤B中,对每个云片的绘制均采用公告牌的形式。
9.根据权利要求1所述的3D云层模拟实现方法,其特征在于:在所述步骤D中,通过设置每朵云的高度属性坐标,以生成不同高度的云层。
10.根据权利要求l所述的3D云层模拟实现方法,其特征在于:在所述步骤E中,通过在3D坐标系中设置一个环境光,让所有的云都受环境光影响从而呈现不同的色彩效果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101355680A CN102184561B (zh) | 2011-05-24 | 2011-05-24 | 一种3d云层模拟实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101355680A CN102184561B (zh) | 2011-05-24 | 2011-05-24 | 一种3d云层模拟实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102184561A CN102184561A (zh) | 2011-09-14 |
CN102184561B true CN102184561B (zh) | 2013-11-13 |
Family
ID=44570730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101355680A Active CN102184561B (zh) | 2011-05-24 | 2011-05-24 | 一种3d云层模拟实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102184561B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368335A (zh) * | 2011-11-01 | 2012-03-07 | 深圳市五巨科技有限公司 | 一种改进的用广告板技术绘制场景模型的方法 |
CN102523388B (zh) * | 2011-12-22 | 2014-06-18 | 深圳万兴信息科技股份有限公司 | 一种对视频添加云特效的方法和系统 |
CN103869758A (zh) * | 2012-12-11 | 2014-06-18 | 苏州安答软件有限公司 | 一种适用于智能机房管理的3d全景展示系统 |
CN103473799B (zh) * | 2013-09-02 | 2016-09-14 | 腾讯科技(深圳)有限公司 | 一种图片的动态处理方法及装置、终端设备 |
CN108230430B (zh) * | 2016-12-21 | 2021-12-21 | 网易(杭州)网络有限公司 | 云层遮罩图的处理方法及装置 |
CN107590280A (zh) * | 2017-09-29 | 2018-01-16 | 武汉国遥新天地信息技术有限公司 | 一种三维地理信息系统全球真实云层的仿真方法 |
CN108313607B (zh) * | 2017-12-27 | 2019-01-29 | 广东工业大学 | 一种各层间高度可调的分层式立体仓库的库位分配方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706967A (zh) * | 2009-11-18 | 2010-05-12 | 电子科技大学 | 一种真实感云层的综合模拟方法 |
-
2011
- 2011-05-24 CN CN2011101355680A patent/CN102184561B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706967A (zh) * | 2009-11-18 | 2010-05-12 | 电子科技大学 | 一种真实感云层的综合模拟方法 |
Non-Patent Citations (8)
Title |
---|
Mark J.Harris et al..Simulation of Cloud Dynamics on Graphics Hardware.《Graphics Hardware》.2003,全文. |
Simulation of Cloud Dynamics on Graphics Hardware;Mark J.Harris et al.;《Graphics Hardware》;20031231;全文 * |
三维云的建模和绘制;龚琳 等;《计算机应用与软件》;20070228;第24卷(第2期);全文 * |
基于计算机视觉和粒子系统的三维云模拟;龚琳 等;《中国体视学与图像分析》;20081231;第13卷(第1期);全文 * |
姜洪洲 等.视景系统云层的特效模拟.《计算机仿真》.2007,第24卷(第7期),全文. |
视景系统云层的特效模拟;姜洪洲 等;《计算机仿真》;20070731;第24卷(第7期);全文 * |
龚琳 等.三维云的建模和绘制.《计算机应用与软件》.2007,第24卷(第2期),全文. |
龚琳 等.基于计算机视觉和粒子系统的三维云模拟.《中国体视学与图像分析》.2008,第13卷(第1期),全文. |
Also Published As
Publication number | Publication date |
---|---|
CN102184561A (zh) | 2011-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102184561B (zh) | 一种3d云层模拟实现方法 | |
Gardner | Visual simulation of clouds | |
US7710418B2 (en) | Systems and methods for the real-time and realistic simulation of natural atmospheric lighting phenomenon | |
US11514673B2 (en) | Systems and methods for augmented reality | |
CN104091363A (zh) | 一种基于屏幕空间实时的体积云计算方法 | |
CN110400366B (zh) | 一种基于OpenGL的实时洪水灾害可视化仿真方法 | |
Song et al. | Virtual Reality (VR) technology and landscape architecture | |
CN103473802B (zh) | 基于粒子系统的全局天气模拟方法 | |
CN108090949A (zh) | 一种基于光能传播的实时全局光照方法 | |
CN116894922A (zh) | 一种基于实时图形引擎的夜视图像生成方法 | |
CN105574913A (zh) | 一种基于虚拟现实技术的角色动画创建系统 | |
CN110232846A (zh) | 一种冲锋舟模拟驾驶方法、系统及相关装置 | |
CN102800121B (zh) | 一种交互编辑虚拟人群场景中虚拟个体的方法 | |
Zhang et al. | Simulation of snow effects in visual simulation of virtual campus based on OSG | |
CN106920280A (zh) | 三维动态场景建立方法 | |
Roden et al. | Clouds and stars: efficient real-time procedural sky rendering using 3d hardware | |
Xu et al. | Fast modeling of realistic clouds | |
Chen et al. | Terrain Visual Simulation Modeling Technology Base on Agricultural Machinery Simulation | |
CN117710557B (zh) | 一种真实感体积云的构建方法、装置、设备及介质 | |
Dong et al. | Smoke simulation based on particle system in virtual environments | |
He et al. | The Integration of Visual Modeling and Interactive Technology of Virtual Landscape Architecture | |
Gong et al. | The algorithm of creating cloud in sky | |
Hu et al. | Large-scale realistic cloud rendering based on game engine | |
Hui et al. | Design and rendering of the 3D Lotus Pool by Moonlight | |
Mian et al. | Generating Method of Planting Map for Three-Dimensional Rice Field Painting Based on Fixed Point Perspective |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |