三维场景中的实时动态云彩绘制方法_第1页
三维场景中的实时动态云彩绘制方法_第2页
三维场景中的实时动态云彩绘制方法_第3页
三维场景中的实时动态云彩绘制方法_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要:本文一种介绍了在三维虚拟场景中实时绘制动态的云彩方法,在室外场景中云彩是提供 三维真实感的重要图素之一,由于云彩变化多端,形状多样,没有规则,完全逼真实时地绘 制云彩几乎是不可实现的,常见的云彩绘制方法是使用天空体贴图1,2,但天空体贴图的 绘制方法逼真度较差,云彩缺乏层次感和变化,本文设计了用多层公告板动态模拟云彩的方 法,实践中效果较好。关键词:三维场景,实时动态,云彩绘制,公告板前言云彩是三维室外模拟场景中获得真实感的重要图素,由于云彩的多变,形状无规则,用 普通的多边形和粒子系统描述云彩几乎是不可实现的,这样会产生数量巨大的多边形,令 PC 级别的计算机无法实时绘制,当前常见的云

2、彩绘制方法是使用天空体贴图,天空体贴图 实际上将天空简化成矩形体或球形体,人们在地球上看到好像是天空体的内表面,通过将云 彩的照片直接贴在天空体的内表面模拟天空效果,能够产生一定逼真度的天空效果,突出优 点是天空的模型很简单,可以提供很好的实时性,但由于云彩贴在一个表面上,缺乏距离层 次感和云彩之间相对运动感容易被看出是一种平面云彩的效果,对要求较高的场合逼真度欠 佳,本文设计的云彩绘制方法从增加云彩的层次感和动态感出发改进了天空体的方法,实际 运行中可以看出逼真度有大幅度提高,实时性仍然较好。1、天空体方法比较简单的天空体是矩形体,一个矩形体共有6 个面,扣除底面剩5个面,每个面分成 2 个

3、三角形,这样一个天空只要处理 10 个三角形,实时性能很好,但矩形天空体在矩形的 边角处的失真很大,图 1 半球形天空的网格结构 可以非常明显地看出边角处由两个垂直的平面构成。比较好的天空体是用半球体,如图1 所示,半球体的天空消除了平面角度 90 度突变,增加了真实感,但半球体需要由较多的 三角形构成,实时性能稍差,在天空体上贴云彩照片后的效果如图2,天空体生成的天空效 果如图3图 2 半球形天空体贴图效果图 3 天空体生成的天空效果 比较容易看出天空中的云彩好像位于同一个水平面上,天空显得比较薄。2、多公告板方法天空体造成云彩逼真度较低的原因在于将云彩照片贴于一个接近平面的面上,仅用一个

4、面模拟具有很大范围,具有深度层次感的天空,另外云彩照片是一个整体的大照片,云彩之 间的位置关系是静止的,缺乏变化,只能给出一个静止天空效果,这些和自然界的真实天空 都相距较大。本文根据天空体这些不足设计了由多公告板组成云彩群,可以天空体的一些固 有的缺点,公告板3是一种常用三维绘图技术,主要用于模拟外形很复杂的物体,对于外 形很复杂的物体用多边形模拟会产生大量的三角形严重降低系统的实时性能,公共板技术指 用一个简单的平面矩形贴上复杂三 维物体的照片模拟三维物体,边缘采用透明贴图技术模 拟复杂三维物体的不规则边缘,为了不让观察者看平面扁平的一侧,公告板必须跟随观察视 线转动,让观察者只能看到平面

5、的正面,而不能看到侧面,这样公告板就能永远显示复杂三 维物体的正面,具有模拟复杂三维物体的能力,比如三维场景中的树木用公告板绘制效果就 比较好,如图 4。图 4 公告板示意图由于云彩也是一种复杂的三维物体,因此也适合采用公告板绘制,为了表现逼真的云彩 效果本文设计了多公告板绘制动态云彩的方法。首先,单块云彩和云彩之间采用独立的公告板,使云彩之间的相对运动和相对尺寸变化 成为可能,由于单块云彩采用独立的公告板,而公告板位置可以独立改变,因此通过公告板 位置之间自由设置,少量的单块云彩可以通过组合生成复杂多样,形状不重合大量天空效果, 单块云彩和云彩之间可以互相重叠一部分,通过颜色融合技术重叠的部

6、分不会被观察者发 觉,程序实现表明,只要有三个单块云彩以上通过多公告板(公共板取128 个,可以重复使 用同一种云彩照片)的组合,颜色融合,尺寸放缩可以产生足够多样的天空,观察者无法发 觉复杂的天空只是由少数几块云彩组成。单块云彩照片可以从照片种挑选出来。图 5 高程数据加入地形网格中其次,云彩在天空中的分布需要有一定的规律,由于云彩离地面有较高的高度,一般的 第一人称三维场景是不能够到云彩的,因此云彩要一直保持远离观察者,考虑的三维场景的 实时性,一般程序实现时会人为地限制限制三维场景的范围,如果按真实的比例和位置绘制 云彩,云彩的往往超出三维场景的限制范围,得到的效果是三维场景中无法看到云

7、彩,因此 一般会采用非真实比例绘制云彩,云彩的高度较低,位置离观察者较近,这样带来的问题是 观察者较大范围运动时会够到云彩,这是很不真实的,即使是真实的情况,比如观察者乘坐 在飞机上,但由于三维场景中云彩只是用公告板模拟的,如果观察者离云彩过近就会发现云 彩实际是平面的,这样的效果也会很差,因此程序中要避免观测者接近云彩。本文的做法是 让云彩总是分布在以观察者为中心,一定半径的一个上半球面上,观察者改变位置时,云彩 也要更改位置,让观察永远无法接近云彩。图 5 多公告板云彩示意图 再次,由于云彩由独立的公告板绘制,公告板的数量可以控制云彩的稠密程度,云彩的 稠密程度可以动态更改,通过添加公告板或减少公告板即可实现,但是不能硬性添加和删除 公告板,硬性添加和删除公告板带来的视觉效果是云彩的突然出现和消失,这是不符合自然 规律的。软性添加和删除公告板的方法是通过设置公告板的透明度,在公告板出现和消失的 过程中令公告板从完全透明到不透明渐变,可以消除云彩突然出现和消失的现象,获得比较

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论