Virtools在虚拟植物生长过程可视化方面的应用

2015-02-24 02:45范国华焦俊张友华乐毅
红河学院学报 2015年5期
关键词:西红柿微量元素阶段

范国华,焦俊,张友华,乐毅

(安徽农业大学信息与计算机学院,合肥230036)

Virtools在虚拟植物生长过程可视化方面的应用

范国华,焦俊,张友华,乐毅

(安徽农业大学信息与计算机学院,合肥230036)

文章在叙述Virtools虚拟现实技术的基础上,介绍并分析了Virtools在虚拟植物建模及可视化方面的应用,并以西红柿的生长过程为例,完成了一个西红柿三维生长演示系统,利用3ds Max构建西红柿生长的各阶段模型,使用Virtools来完成各阶段间的衔接控制,并以文字方式提示各阶段的影响.

Virtools;虚拟植物生长过程;三维动画模拟

引言

植物的生长周期一般长达数月甚至数年,如果能运用计算机仿真技术对农林植物的生长过程和结构进行三维模拟,使整个生长周期被浓缩在几分钟甚至几秒的时间里,并按照人们的意愿“随心所欲”地生长,这将极大地推进农业的科研和教学.

本文设计了一个西红柿三维生长演示系统,利用3ds Max构建西红柿生长的各阶段模型,使用Virtools来完成各阶段间的衔接控制,并以文字方式提示各阶段的影响.

1 Virtools虚拟现实平台

Virtools引擎是一套整合软件,可以将现有常用的档案格式整合在一起,如3D模型、2D图形或是音效等,其具备丰富的互动行为模块,可以让设计人员利用内置的行为模块(BB)快速制作出许多不同用途的3D互动产品.Virtools与中视典的VRP是国内最知名的两大虚拟现实平台软件.

Virtools主要经由一个设计完善的图形使用界面,使用模块化的行为模块(BB)以流程图的形式赋予对象强大的交互功能.通过流程图中行为模块的运用及其先后逻辑顺序的连接编辑,从而实现可视化交互脚本的设计,通过组合完成一个完整的虚拟现实系统.其中Virtools包含的对象如图1所示.

图1 Virtools行为对象

2 西红柿三维生长演示系统概述

近年来,围绕着植物生长过程的可视化,国内外学者开展了大量卓有成效的研究工作.由于植物的生长周期较长,影响其生长的因素也很多.自然环境、气候、虫害,甚至植物自身的形状及器官都会影响植物的果实。因此,要真实的模拟植物的生长,就需要建立包括所有影响植物生长因素在内的植物生长模型,这在目前的条件下尚难以实现,所以,现有的植物生长过程可视化仿真方法都对植物的生长机理进行了简化,如只考虑水、阳光等主要环境因素,或者不考虑根系的生长和对地上部的影响.现有的目前比较常用的方法和模型有以下几种:L系统、参考轴技术、双尺度自动机模型、植物三维重建法、迭代系统函数、GreenLab模型、基于生长模型的生长可视化仿真、基于关键帧的生长动画模拟、粒子系统等.

本文所设计的西红柿三维生长演示系统属于基于关键帧的作物生长三维动画模拟,利用3ds Max

构建西红柿树6个生长阶段的外形模型,利用Virtools来完成各阶段间的衔接控制,并对各阶段西红柿受微量元素的影响效果有专门的文字说明.演示系统的实现流程如图2所示.

图2 西红柿三维生长演示系统的实现流程

3 西红柿三维生长演示系统的设计与实现

本文所设计的西红柿三维生长演示系统三维模型部分使用三维动画渲染和制作软件3ds Max2010来构建西红柿树的相关模型,演示系统控制平台部分使用游戏引擎Virtools4.0来完成控制.

3.1 系统总体设计目标

安徽农业大学与铜陵市普济农业科技有限公司合作研究氮磷钾等微量元素对西红柿生长各阶段的影响,研究完成后需要向各方演示西红柿在各生长阶段受微量元素影响的效果,之前的演示主要是使用ppt+人员说明,但效果并不直观.为了更好的提供演示效果,两方合作开发西红柿三维生长演示系统.西红柿三维生长演示系统是一个基于游戏引擎virtools的单机版软件,提供对西红柿6个生长阶段:种子发芽、幼苗期、苗期、开花期、坐果期、盛果期的西红柿树的不同形态的模拟,并对各阶段西红柿受微量元素的影响效果有专门的文字说明.本文着重论述西红柿三维生长演示系统的三维模型设计以及逻辑控制的具体实现过程.

3.2 系统三维模型设计

三维建模技术是西红柿三维生长演示系统重要的组成部分之一.系统看起来是否真实可信取决的就是三维建模的结果是否真实生动.西红柿三维生长演示系统的三维建模使用3ds Max2010来完成,利用工具测量出西红柿树外形的相关参数,然后根据参数构建三维模型及优化.

3.2.1 植物模型构建

西红柿树是演示系统的最重要组成部分,3ds Max中制作植物有远景、中景、近景、平面拼插贴图法等方法.考虑到场景的需求,决定制作西红柿树各个阶段的近景效果,即利用多边形建模制作西红柿树的躯干和成果,叶子部分用贴图来实现。这样既可以保证西红柿树的三维效果又能适当减少面数.

3.2.2 土壤模型构建

土壤是演示系统的另一重要组成部分,没有土壤,西红柿树就无法存活.3ds Max中制作土壤的方法也有几种,考虑到实时漫游的需求,制作土壤的简模,利用贴图来实现效果。在3ds Max中建立一个长方体,然后修改其边界制造圆滑效果,对长方体中部进行适当升降,制作出土地高低不平的效果,最后利用噪波贴图来实现土壤效果.

3.2.3 整体模型优化

实时场景对电脑的CPU和GPU要求较高,因此3d模型在导入Virtools前要进行优化,尽量减少模型面数,将多个次要对象通过布尔运算合并成一个对象,减少virtools的渲染负担,将场景进行适当切割,利用Portal组件,使场景中只有摄像机看得见的部分资料载入内存中,检查场景中有无孤立的点和面,予以删除,调整贴图模式、减少灯光的使用等,通过这些措施对模型进行优化,以提高系统运行时的帧数.

4 西红柿三维生长演示系统的实现与关键技术

目前进行虚拟演示系统的开发,在平台的选择上大致有二种选择,一种是直接利用面向硬件底层API的调用,从而达到自主开发引擎的目的,这种方式运行效率较高、设计灵活、有自主产权但花费的代价比较大;第二种是用第三方软件商开发提供的带有商业意义的虚拟现实引擎,使用者不需要对具体的技术细节进行研究即可以通过该引擎制作出比较实用的虚拟演示系统产品.西红柿三维生长演示系统采用第二种方法,使用法国达索公司开发的游戏引擎Virtools来完成演示效果.

4.1 西红柿三维生长演示系统演示系统的逻辑结构

本文所设计的西红柿三维生长演示系统属于基于关键帧的作物生长三维动画模拟,利用3ds Max构建西红柿树6个生长阶段的外形模型,使用Virtools来完成各阶段间的衔接控制,并对各阶段西红柿受微量元素的影响效果有专门的文字说明.演示系统的逻辑结构如图3所示.

图3 西红柿三维生长演示系统的逻辑结构

4.2 关键技术

4.2.1 界面视角

根据演示系统本身的特点,系统采用的是自由漫游。首先设定一台摄像机,摄像机的镜头就相当于用户的眼睛,用户可以操作键盘控制摄像机在场景内随意前进、后退、左右旋转,也可以通过键盘或

者鼠标,改变摄像机角度来模拟人仰视、俯视的状态.系统使用的第三人称摄像机,效果为角色眼睛平视看到的场景.第三人称摄像机使用“Switch On Key”行为模块配合“Translate”、“Rotate”行为模块来实现镜头的转动效果.第三人称摄像机设置的脚本如图4所示:

图4 第三人称摄像机

4.2.2 初始化界面

西红柿三维生长演示系统的主界面如图5所示,整个界面分为4块,中间为三维模型显示区域,左边为生长阶段选择区域,上部为微量元素选择区域,中部偏左上的小块是文字说明区域.

图5 西红柿三维生长演示系统主界面

在演示系统刚打开时,土壤模型、生长阶段选择、微量元素选择这3块是初始显示的,西红柿树模型和文字说明则要通过鼠标选择相应按钮才会出现,所有的西红柿树模型和文字说明在初始阶段都由“Hide”行为模块隐藏,相应脚本如图6.

图6 系统初始化

4.2.3 生长阶段选择

西红柿的生长可以分为6个阶段:种子发芽期、幼苗期、苗期、开花期、坐果期、盛果期.主界面的左边6个按钮分别代表这6个阶段,点击任意一个时期的按钮,系统会利用“PushButton”行为模块来判断点击的是哪一个按钮,接下来利用“Activate Script”行为模块来激活zhiwu脚本,隐藏当前屏幕上所有的西红柿三维模型,接着利用“Show”行为模块在屏幕上显示相应的西红柿当前形态的模型。同时,利用“Send Message To Group”行为模块来保存当前选择的成长阶段.图7显示的是选择“种子发芽”阶段的相应脚本.

图7 种子发芽阶段脚本

4.2.4 影响元素选择

在西红柿生长过程中,能对其产生影响的微量元素主要有氢、氮、钾、钙镁硫、PH和EC6个因素,在西红柿的各个生长时期,各微量元素起的作用各不相同.要观看各微量元素对西红柿各阶段的影响,在各阶段点击界面上部的选项即可,影响效果用文字形式显示在系统界面中部偏左上.当系统在西红柿生长某个阶段,点击界面上部的6个按钮,系统会利用“Wait Message”行为模块来接受来自“Send Message To Group”行为模块发送的信息来判断当前西红柿树处于生长的哪个阶段,接下来系统利用“PushButton”行为模块来判断点击的是哪一个微量元素按钮,判断完后利用接下来利用“Activate Script”行为模块来激活shuoming脚本,隐藏当前屏幕上所有的说明图片,接着利用“Show”行为模块在屏幕上显示相应的说明图片.图8显示的是选择“钾”元素按钮的相应脚本.

图8 钾元素脚本

4.3 演示系统效果展示

西红柿三维生长演示系统采用Virtools4.0开发,设计并实现了西红柿树从发芽到长出果实的6个阶段的完整三维模拟,效果如图9所示。该系统设计效果良好且场景逼真,并且可以网页形式发布,支持几乎所有的浏览器,演示效果极佳.

5 结束语

本文设计了一种基于Virtools的西红柿生长过程可视化模拟.该系统通过三维建模技术来展示西红柿树的各个生长阶段模型,利用Virtools来完成各阶段间的衔接控制,并对各阶段西红柿受微量元素的影响效果有专门的文字说明.系统设计效果良好且场景逼真,演示效果极佳.但仍有不足之处,如西红柿树造型精确性不高、系统功能简单等,如何更细致的

量化西红柿树造型、如何更丰富的表示微量元素对西红柿树的影响将是笔者下一步研究的重点.

图9 演示系统效果

[1]卢章平,张楠,等.虚拟植物整体生长研究现状与展望[J].计算机仿真,2011,28(8).

[2]王雪,郭新宇,等.基于骨架模型的玉米生长生长运动仿真与动画生成技术[J].农业机械学报,2009,40(增刊).

[3]王启荣.3D VR互动设计[M].台北:文魁资讯,2010.

[4]范国华,杜哲明,等.基于Virtools的虚拟火车站漫游系统的设计与实现[J].红河学院学报,2014(05).

[5]赵春江,郭新宇,等.农林植物生长系统虚拟设计与仿真[M].北京:科学出版社,2010.

[6]吴晓晖,黄心渊.基于Virtools平台的森林仿真风效技术研究[J].计算机应用与软件,2013,30(5).

[责任编辑张灿邦]

Application of Virtools in Visualization of Virtual Plant Growth

FAN Guo-hua,JIAO Jun,ZHANG You-hua,YUE Yi
(School of Information and Computer science,Anhui Agriculture university,Hefei 230036,China)

Based on the Virtools virtual reality technology,This thesis introduces and analyzes the application of Virtools in visualization of virtual plant growth.The growth process of tomatoes as an example,i completed a three-dimensional growth of tomato demonstration system,construct the model of tomato by 3ds Max,use Virtools to connect control stages,and display the impact of each stage of the text.

Virtools;virtual?plant growth;3D animation simulation

TP335+.3

A

1008-9128(2015)05-0043-04

2014-08-13

安徽省科技攻关项目(12010302079)

范国华(1982-),男,安徽合肥人,讲师,硕士,研究方向:计算机图形可视化,虚拟现实。

猜你喜欢
西红柿微量元素阶段
关于基础教育阶段实验教学的几点看法
ICP-OES法测定钢和铁中微量元素
在学前教育阶段,提前抢跑,只能跑得快一时,却跑不快一生。
宝宝微量元素检测
解析中微量元素
西红柿熟了
大热的O2O三个阶段,你在哪?
两岸婚恋迈入全新阶段
ORS-ICP-MS测定食用植物油中的多种微量元素