首页 工作计划 工作总结 事迹材料 心得体会 述职报告 疫情防控 思想汇报 自查报告 党建材料 策划方案 教案设计 范文大全
  • 工作计划
  • 工作总结
  • 事迹材料
  • 心得体会
  • 述职报告
  • 疫情防控
  • 思想汇报
  • 自查报告
  • 党建材料
  • 策划方案
  • 教案设计
  • 范文大全
  • 基于VRML的虚拟校园中交互和动画的设计与实现

    时间:2022-12-03 20:50:06 来源:正远范文网 本文已影响 正远范文网手机站

    摘要:虚拟校园是利用虚拟现实技术,在计算机中模拟再现校园的真实场景。在虚拟校园中实现一定的交互和动画是非常必要的,交互和动画可以使虚拟校园系统更接近真实校园,使浏览者如亲临校园一般。文章介绍基于VRML的虚拟现实交互和动画实现的理论基础及实现原理,讨论虚拟校园中动画和交互功能的设计和实现,并以自动门和喷泉两个例子介绍了虚拟校园中交互和动画实现的基本思路和部分实现代码。

    关键词:虚拟校园 VRML 动画 交互

    中图分类号:TP39l文献标识码:A文章编号:1007-9416(2011)09-0036-02

    虚拟现实技术(Virtual Reality)又称叫做“灵境技术”,是计算机技术和信息技术相结合的综合性技术,利用它能够创建出逼真的三维虚拟环境,并能使浏览者从视觉上产生沉浸于虚拟环境的感觉。

    目前,虚拟校园是虚拟现实技术在教育领域的一个重要应用。它利用虚拟现实技术的强大建模功能在计算机中仿真现实校园的一些重要场景,向浏览者呈现学校独特的自然风貌,展现校园的文化氛围,甚至还可以展示学校开设的一些课程课堂的实际情景等等。

    虚拟校园不同于校园的三维图片,利用VRML语言中的某些节点可使虚拟校园中的某些事物具备一定的动画和交互功能,使虚拟校园系统更接近真实的校园。在虚拟校园中,浏览者可以相对自由地浏览校园风景,并能在一些特殊场景中进行一定的人机交流。除此之外,浏览者还可以图文并茂地查询自己各方面感兴趣的信息,甚至可以在虚拟教室里感受一堂专业课,在虚拟实验室里做心仪已久的实验等等。虚拟校园向全世界的浏览者全方面地展示学校的方方面面,使他们不必亲临学校就能对学校进行形象、充分的了解。

    1、虚拟校园系统交互和动画实现的理论基础

    1.1 虚拟校园中交互和动画的需求分析

    虚拟现实中,利用VRML语言及其他辅助建模工具能很方便地创建出相当逼真的场景,但这种场景只是静态的,为了使虚拟校园系统更具真实感,还需要在虚拟校园某些特殊场景的特殊部分实现一定动画和交互。比如在虚拟校园中某些重要设施的大门设置开关动画,某特殊的办公室和教室的灯设置开关效果,某些关键的地方出现介绍情况的学生,学生休闲花园的喷泉水流,教学楼门口文字图片变幻的通告牌等等。

    1.2 交互和动画现实的理论基础

    VRML提供两种方法来实现场景中对象的动画和交互,第一种是基于VRML内建节点,第二种利用VRML的Script节点。利用内建节点可实现简单的动画和交互,而Script节点则可实现复杂的动画和交互。

    1.2.1 基于VRML内建节点的动画和交互

    VRML提供传感器和插补器节点来实现简单的动画和交互。

    在虚拟世界里,为了使某些对象具备交互功能,只需要在该对象节点上添加相应功能的传感器节点。传感器结点是交互能力的基础,它能感知场景中浏览者的行为和动作。当浏览者通过输入设备触动它时,它能对这些行为做出反应,通过输出某些信号来改变其所在对象在位置、形状或显示效果,有些还会将处理后的数据传递给其他节点。目前,常用的输入设备是鼠标,鼠标的指向、单击、拖动三种动作都可以触发传感器,使得装有传感器的虚拟对象产生我们设定的某些变化,从而实现浏览者与虚拟世界的交互。

    VRML提供的传感器节点分为两大类,分别是接触型和感知型,接触型的传感器主要用于检测输入设备的各种操作。这类传感器节点有:触摸传感器TouchSensor、平面移动型传感器PlaneSensor、任意旋转型传感器SphereSensor和单轴旋转型传感器CylinderSensor,这四种传感器能检测鼠标的指向、单击、拖动三种动作;感知型传感器主要用于感知浏览者与场景中的某对象的接近程度,进而做出相应反应以实现浏览者与虚拟对象之间的交互。这类传感器节点有:接近传感器ProximitySensor、可见性传感器VisibilitySensor和碰撞传感器Collision。

    另外,还有一种特殊的时钟传感器TimeSensor,利用它能创建一个虚拟的时钟,其作用是向其他结点发送时间信号,以此控制对象的状态、外观随时间的变化情况,从而实现动画。

    在虚拟世界中,插补方法是创建动画的主要方法。在动画实现上,我们近似认为对象的状态改变是线性的,两个状态之间设置一些关键帧,从而完成整个状态的改变。插补器节点是VRML专门为线性帧动画而设计的。通过设置许多插补器节点对应对象的各种状态变化,结合时间传感器节点和插补器节点的使用,构建出虚拟场景各种逼真的动画效果。VRML提供了6种插补器节点,用于对应颜色、坐标、表面法线、方位、位置及缩放等关键值的内插。这些插补器分别是:位置插补器、颜色插补器、朝向插补器、标量插补器、坐标插补器、法向量插补器。

    1.2.2 利用VRML的Script节点实现交互

    虚拟校园中也有部分比较复杂的交互,若仅依靠VRML本身的节点是难以实现的。需使用一个或者多个Script节点引入Javascript编写的脚本程序来实现复杂的动画效果,Script节点为VRML 中交互和动画的实现提供了强有力的支持。

    VRML中的Script节点与它的其他节点不同,它不创建任何造型,也不描述任何渲染。在虚拟世界中也是不可见的。但使用Script节点可完成对虚拟校园的某些复杂场景的控制。其实现交互的基本思想是:首先接收其他节点的事件信息,再利用其url域指定Javascript脚本语言程序进行计算,从而实现某些功能,然后把程序计算结果传递其他结点,使他们发生预想的变化,达到改变场景的目的。

    2、虚拟校园系统中动画和交互的实现

    在虚拟校园设计中,对部分场景设计实现了交互和动画,使这些场景更接近现实中的校园,这些交互和动画中大部分主要采用了VRML提供的传感器节点和插补器节点来实现,

    虚拟校园系统中的动画和交互设计中,以多媒体教室自动门的自动开、关效果设计及花园的喷泉水流动画的设计较为典型,以下将以这两个例子来介绍交互和动画的实现过程。

    2.1 多媒体自动门功能的实现

    多媒体教室是目前各大专院校普遍使用的一种教室,其功能齐全,能完成较复杂的教学工作,许多重要的课程都会选择在多媒体教室中进行。在多媒体教室自动门的设计中,使用了传感器和插补器相结合的方式来实现多媒体教室开关门的交互和动画效果。设计时,定义了一个时钟传感器节点clock1,一个接近传感器节点s1,两个位置插补器节点int1和int2, 两个Transform节点drl1和drl2。然后,通过ROUTE TO设置相应路由来实现自动门的开和关。

    s1能感知浏览者鼠标的位置,以此来判断浏览者是否进入或退出控制区;clock1用于接收由s1发出的信号,控制自动门的开关动作和开关过程中的速度;int1和int2分别用来描述左右两扇自动门开关的运动轨迹;drl1和drl2则是描述了两扇自动门的形态。

    当浏览者的鼠标移动到自动门s1定义的控制区内时,s1产生输出事件,触发时钟传感器Clock1,由Clock1发出相应的时钟信号,并将该信号分别传递给位置插补器int1和int2,再将int1 和int2的输出分别链接到描述两扇门形态的drl1和drl2的输入上,使左右两扇自动门按int1和int2 描述的轨迹并在Clock1时钟控制下展现自动门开门和关门的动画。实现浏览者接近自动门时,自动门自动打开。离开自动门时,自动门自动关闭的动画效果。

    实现自动门交互效果的代码如下:

    #定义实现自动门开关动画的路由

    ROUTE s1.enterTime TO clock1.set_startTime

    ROUTE clock1.fraction_changed TO in1.set_fraction

    ROUTE in1.value_changedTO drl1.set_translation

    ROUTE clock1.fraction_changed TO in2.set_fraction

    ROUTE in2.value_changedTO drl2.set_translation

    2.2 花园喷泉流水效果的实现

    现实校园中有许多特殊的景观,有些景观会让其学子记忆一生。对于这些重要景观的再现在虚拟校园设计时就显得非常的重要,要尽量使它们更接近真实的校园。虚拟校园中的花园喷泉是校园规划中的一个重要景点,是将来师生员工休闲的主要场所。喷泉处于草坪中,由上下两层水流组成。为使喷泉更接近现实,需要呈现喷泉的流水效果。在设计时,定义了两个时钟传感器节点Time1 和Time2,两个位置插补器节点Pos1和Pos2,两个Transform节点Water1和Water2。

    Water1和Water2是用底部透明的水流图片以贴图的方式来描述喷泉上下两层水流状态;Time1和Time2分别设定了下面和上面两层水流图片循环移动的时间间隔,即水流的速度;Pos1和Pos2指定了两层水流图片在time1和time2控制下的运动轨迹,即水流的方向,通过使用ROUTE TO设置相应路由来实现水流图片按一定的轨迹由指定的时钟控制下的循环移动于指定的区域内,从而在浏览者面前呈现出实现上下两层的水流效果。喷泉水流的动画效果实际上就是水流图片在指定的时钟控制下按指定轨迹循环移动的过程。花园喷泉水流动画效果如图2所示。

    实现花园喷泉流水动画效果的代码如下:

    #设定下层水流动画的路由

    ROUTE Time1.fraction_changed TO Pos1.set_fraction

    ROUTE Pos1.value_changed TO Water1.set_translation

    #设定上层水流动画的路由

    ROUTE Time2.fraction_changed TO Pos2.set_fraction

    ROUTE Pos2.value_changed TO Water2.set_translation

    3、结语

    通过虚拟校园中动画和交互功能的需求分析,并阐述其实现的理论基础,利用VRML的传感器节点和插补器节点能很方便地实现简单的动画和交互功能;利用Script节点可引入由 Javascript或Java编写的脚本程序实现复杂的动画。同时,以自动门和喷泉两个实际例子来分别介绍交互和动画的实现方法:首先利用时间传感器、接触传感器和位置插补器节点来实现多媒体教室自动门的开关的动画的实现思想和路由代码;其次是利用时间传感器和位置插补器节点实现两层喷泉水流的动画效果的实现思想和路由代码。基于VRML的虚拟校园中交互和动画的设计与实现,使虚拟校园更接近真实校园,有利于校内外的有识之士了解校园,对提高学校的知名度,对学校的对外宣传、招生、校容校貌的展示等具有非常重要的作用。

    参考文献

    [1]胡小强.虚拟现实技术[M].北京:北京邮电大学出版社,2008.

    [2]段新昱.虚拟现实基础与VRML编程[M].北京:高等教育出版社,2004.

    [3]徐明娟.三维交互式虚拟校园系统的研究与实现[J].南京航空航天大学,2008.

    作者简介

    张捷,女,软件工程硕士,四川建筑职业技术学院计算机系,讲师,主要研究方向:计算机及应用。

    推荐访问:交互 虚拟 动画 校园 设计