APP下载

虚拟喷泉场景设计与开发

2020-11-10郑凯东

智能计算机与应用 2020年5期
关键词:喷泉生命周期粒子

郭 云, 郑凯东

(西安石油大学 计算机学院, 西安710065)

0 引 言

随着互联网的快速发展,人们对视觉感受要求越来越高,计算机图形学的地位也随之提高。 利用计算机对自然景物的模拟也层出不穷,比如模拟喷泉、海洋、河流等。 但是计算机图像合成技术要求物体表面规则明确,然而河流、海洋等一些自然景观的表面是不规则的,它们以一种独特的动态美吸引人们的眼球。 由于粒子系统方法灵活度高且具有实时仿真功能,因此本文采用该方法实现对喷泉的模拟。

在自然景观模拟领域中,粒子系统占据了一定的地位,能够使得模拟的景物更加真实沉浸。 其原理为景物由许许多多个随机分布的不规则粒子集合组成,每个粒子都有其固定的生命周期,时刻都在不断运动变化,由此实现了景物的整体形态和实时变化。 对喷泉的模拟采用粒子系统有一定的优点,给人的直观感受更加逼真。

虚拟现实技术又称灵境技术,能够结合计算机给人们带来一场视觉盛宴,具有真实感和沉浸感[1]。 在模拟自然景观时可以起到很好的效果,在虚拟现实系统中,对自然景观的构建是一个重要的研究课题,具有一定的研究意义。

本文将采用粒子系统对喷泉进行实时模拟。 通过C#编程,结合Unity3D 实现对喷泉的模拟,重点分析如何构建喷泉粒子系统模型、水的流动,增强真实感。

1 花洒喷泉建模过程

1.1 粒子系统简介

粒子系统是由许多不规则的、随机分布的粒子图元组成[2]。 有一定的生命周期,从粒子产生、活动、死亡三个过程。

定义1单个粒子——实数域上的一个n 维向量,表示为式(1):

其 中: 粒 子 的 n 个 属 性 为:Attri1,Attri2,……Attrin,包括了粒子的位置、大小、形状、速度等等。

定义2粒子映射——单个粒子1 到正整数集的映射,其中每个粒子都具有相应的一个索引, 表示为It 到Pn 的映射,表示为式(2):

其中:索引为j 的粒子所具有的性质和状态标示为式(3):

定义3粒子系统——粒子映射集组成的集合表示为式(4):

其中, S 表示粒子系统处于t0,t1,…,tn时的状态集合,其中S(t0) 表示初始状态。

喷泉是由许多微小粒子组成,这些微小粒子的集合就是粒子系统[3]。 因为粒子不是静止不变的,所以会对粒子进行移动变换,判断粒子是否有生命,如果超过了生命周期则删除,否则绘制并显示由这些有生命的粒子组成的图形。 图1 为喷泉粒子绘制的流程图。

图1 喷泉粒子绘制流程图Fig. 1 Flow chart of fountain particles

1.2 运动模型

运动中的粒子通常有以下几种运动模型:

(1)直线运动。 在直线运动中,粒子的位置和速度变化遵循式(5)和式(6):

其中,P、P0分别表示粒子位置和初始位置,V、V0分别表示粒子速度和初始速度,a 表示加速度。

(2)阻尼运动。 当前运动方向上的粒子由于阻尼作用,速度根据一定比例减小,表示为式(7):

其中,d 表示阻尼因子,d ∈[0,1].

(3)螺旋运动。 螺旋运动是指粒子能够按照给定的轴进行旋转,以达到翻滚等效果。

粒子的运动方式多样化可以让构建的虚拟喷泉效果更加逼真,当水流喷射那一瞬间是直线运动的,但是当水流向上运动时会受到一定的阻力,因此会按一定比例减小其速度。

1.3 粒子的数据结构定义

Struct particle

float t;/ /粒子生命周期

float v;/ /粒子运动速度

float d;/ /粒子的运动方向

floatx,y,z;/ /位置坐标

floatxd,zd;/ /x 与z 方向增量

char type;/ /粒子运动或淡化

float a;/ /淡化alpha 值

struct particle *next,*prev;

1.4 喷泉粒子系统建模

选用3DSMAX 对喷泉进行花洒动画的建模,主要分为以下步骤:

(1)在场景中把超级喷射粒子系统加入,在侧视图中调整位置,使其远离地面。 更改粒子属性,比如:粒子发射总量、寿命以及速度等等。 绑定空间扭曲,把导向板和重力绑定到上面,由于重力的拉扯,粒子无法发射,可以更改粒子的速度,使其发射。 此时仅仅能够实现粒子向上直线喷射。

(2)由于花洒型喷泉不是以粒子本身来实现的,所以需要一定的倾斜角度。 首先创建一个辅助物体,对它进行一定的绑定,再将其X、Y、Z 分别对齐到粒子上。 将粒子绑定到辅助物体上,调整辅助物体即可实现粒子倾斜效果。

(3)调整粒子属性:生命周期、初始速度及方向等。

(4)为了使喷泉动画能够逼真,需要制作间歇性停顿动画。 在帧序列中选取一定值,然后调整粒子角度,并作间隔动画,否则会出现扭曲现象,最后实现花洒效果。 系统建模过程效果,如图2 所示。

2 虚拟喷泉场景构建过程

采用3DSMAX 对喷泉建模,然后将其倒入Unity3D 中,进一步的功能完善。

(1)采用3DSMAX 建模。 在对喷泉建模之前,首先需要采集数据,然后在CAD 上绘制其二维平面图,导入3DSMAX 中,修改其中特殊节点,进行贴图处理,模型贴图来源于实地取景并进行处理,最后优化模型。

图2 喷泉建模效果过程图Fig. 2 Fountain modeling effect process diagram

(2)将其导入Unity3D。 将做好的喷泉模型导入到Unity3D 中,然后对模型做细化处理。

①在喷泉周围创建空物体,并且将其设置为透明属性,称之为“墙体”,给其添加碰撞器,实现了避免行人靠近喷泉内部的效果,使得虚拟喷泉更加具有真实感。

②在这个场景中添加一个按钮,然后给按钮添加触发器,点击按钮会弹出喷泉介绍。 为按钮增加一个声音,声音来源于提前录制好的喷泉简介,当触发到按钮后会实现自动语音播报功能。

③为整个场景添加背景音乐。 当喷泉开始喷射时伴随着的是所添加的音乐,使得整个场景更加真实。

3 结束语

本文论述了基于粒子系统下的喷泉模拟过程。利用3DMAX 建模软件和Unity3D 软件对花洒喷泉进行场景的模拟。 首先构建喷泉建模,其次通过Unity3D 软件实现场景的人机交互。 科技发展迅速,人们对视觉感知要求越来越高,因此对场景的复杂性、逼真度以及实时性等方面的挑战性也越来越高。 对自然景物的模拟研究是虚拟现实技术极为重要的一个探索方向。

猜你喜欢

喷泉生命周期粒子
全生命周期下呼吸机质量控制
基于工程全生命周期的项目管理过程创新分析
基于云制造模式的产品碳足迹生命周期评价
射频识别技术在手术室仪器设备全生命周期管理应用
基于Matlab GUI的云粒子图像回放及特征值提取
虚拟校园漫游中粒子特效的技术实现
一种用于抗体快速分离的嗜硫纳米粒子的制备及表征
为什么鲸的背上有“喷泉”
音乐喷泉
喷泉冲凉