基于Unity3D的水波涟漪仿真模拟

2017-05-08 12:09赵忠琛程乃伟
山东工业技术 2017年8期

赵忠琛+程乃伟

摘 要:在Unity3D仿真中,粒子系统可模拟许多自然界中的三维特效。在分析粒子系统制作需求和其开发流程的基础上,运用Unity3D引擎的粒子系统模拟出雨水落入水池中所产生的涟漪景象,与以往的方法相比,该方法具有真实的特点,并对此进行了阐述。

关键词:GUI;粒子系统;Unity3D

DOI:10.16640/j.cnki.37-1222/t.2017.08.257

1 引言

虛拟水波涟漪仿真是一款对现实中水流的各种物理特性进行模拟的虚拟现实系统。随着虚拟现实技术在各领域的广泛应用,基于Unity3D的虚拟现实研究已经成为当前研究的热点。在游戏和3D仿真中都有大量水的应用,为了模拟水在动态情况下的情况,需要对粒子系统中的每一个粒子进行调控,保证其真实可行性。

2 相关内容介绍

2.1 粒子系统

粒子系统不是一种简单的静态系统,其中的粒子会随着时间不断的变形和运动,同时自动生成新的粒子,销毁旧的粒子[1]。基于这一原理就可以表现出类似于烟、雨、水、雾和流星等现象的特效,这些特效能极大的提高场景的真实性[2]。

2.2 地形引擎

Unity拥有功能完善的地形编辑器,其支持LOD(Level of Detail)功能,能够根据摄影机与地形的距离以及地形起伏程度调整地形块(Patch)网格的疏密程度。远处或者平坦的地形块使用稀疏的网格,近处或陡峭的地形块使用密集的网格。这将使游戏场景在真实、精细的同时不影响其性能。

2.3 GUI

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。Unity提供了丰富的GUI组件变量,通过这些变量,可以在整体上对图形用户变量组件做出相应的设置,从而实现特定的开发需求。如图1控制水面动态GUI页面,在系统运行中可以通过调节Damping和Speed的数值来调节系统的涟漪程度。

3 水动态的设计与实现

(1)建模设计流程。在Unity3D仿真程序的开发程序一般分为制作并导人模型、对需要的模型设置程序和进行调试3步。1)通过Unity3D中自带的Terrain建成山和沟壑,并通过Render Settings、纹理和光照渲染等。相应对象会在Hierarchy(层级)视图显示。

2)形成Unity3D引擎的虚拟现实环境后,在Unity3D的Inspector(检视)视图界面中创建相应控制的脚本和Unity3D渲染引擎进行交互处理的程序。Inspector(检视)视图用于显示在游戏场景中当前所选择对象的详细信息,以及游戏整体的属性设置,包括对象的名称、标签、组件等信息。3)进行相关程序的调试。

(2)水动态仿真模拟。在场景中添加一个包含粒子发射器、粒子动画器、粒子渲染器、粒子碰撞器等相关组件的系统,在这个系统上添加脚本模拟下雨时出现的水波特效和溅起的水花特效,定义水面的阻力和涟漪传播速度,水波特效控制脚本的部分代码。

只要通过脚本控制粒子系统的纹理贴图、粒子发射速度等属性参数,即可很方便地模拟出不同的水波涟漪特效。

4 结语

Unity3D系统具有模拟真实自然现象的功能,本文基于Unity3D粒子系统模拟了水波涟漪的特效,对真实场景模拟和制作具有重要的参考价值。

参考文献:

[1]杨述华,廖守亿,王仕成等.基于粒子系统和Vega的实时雨雪模拟[J].计算机应用,2008(06).

[2]张锡英,韩吉烨.基于Unity3D粒子系统的三维影视特效开发研究[J].软件导刊,2012(11).