首页 百科知识 动画与交互

动画与交互

时间:2022-10-05 百科知识 版权反馈
【摘要】:VRML2.0相对于VRML1.0的重大改进在于它能够支持动态的、交互式的3D场景, VRML2.0创建的场景不仅可用于运动物体的展示,还可用于与用户进行交互。在完成场景造型后,需要对其添加各种事件,从而实现动画和动态交互。Script节点是事件处理的核心部分。而Java程序不会自动执行,因此设置Script节点并将其作为触发Java程序执行的关键,到达这些字段的事件会自动地转移到和该Script节点相关的程序中。

VRML2.0相对于VRML1.0的重大改进在于它能够支持动态的、交互式的3D场景, VRML2.0创建的场景不仅可用于运动物体的展示,还可用于与用户进行交互。VRML文件包括场景描述部分和动态交互部分,其节点通过并列或嵌套构成不同场景,而VRML通过事件机制对不同场景进行链接,从而实现场景的动态交互。VRML 2.0提供了54种节点,按其用途的不同大致可分为两类:造型节点和非造型节点。

1.造型节点与场景造型

我们通过基本的造型节点构造对象,并将各个对象按照一定的层次结构组织成场景,通过对节点域的属性值赋值,逼真地模仿现实世界的场景特性。造型节点分为三类:

(1)组节点

组节点用于创建复杂的造型,可以将所有节点包含其中,作为一个整体对象(造型)来处理。组节点包括group组节点、Transform空间坐标变换节点、shape空间物体造型节点、Inline内联节点、Switch开关节点、Billboard广告海报牌节点、Anchor锚节点、LOD细节层次节点以及Collision碰撞传感器节点等。

(2)几何节点

几何节点包括Box立方体、Sphere球体、Cylinder圆柱、Cone圆锥等几何造型和Text文本等。

(3)属性节点

属性节点包括用于造型的Appearance外观、Coordinate坐标、Fontstyle字体风格、Image Texture纹理贴图、Movie Texture电影贴图等。

2.非造型节点与动画、交互功能

在完成场景造型后,需要对其添加各种事件,从而实现动画和动态交互。要判定从当前场景跳转至下一场景的关键时刻,就需要使用非造型节点,它包括各种传感器/检测器、插值器及使用脚本。

(1)传感器/检测器

VRML的传感器节点用于“感知”用户的交互行为和目的,接受输入的信息等,它是计算机理解用户命令的关键所在。传感器节点包括触动检测器、Touch Sensor触摸传感器、Planesensor平面检测器、Cylindersensor圆柱检测器、Spheresensor球面检测器等节点。

感知检测器,用以感知用户与造型的接近程度,有Visibilitysensor能见度传感器、Proximititysensor亲近度传感器、Collision碰撞传感器等节点。

(2)插补器

该节点的原理与制作关键帧动画相同,用于使场景中的某些对象随着时间的变化而发生位置、大小、状态等的变化。根据插值类型的不同,插补器节点分为六种,其中最常用的是Positionlnterpolator位置插补器、Coordinatelnterolator坐标插补器和Color Interpolator颜色插补器。

(3)脚本(Script)

Script节点是事件处理的核心部分。由于VRML本身的程序描述能力不够强大,因此需要利用其他的编程语言(如Java、Java Script)完成接下来的复杂操作。而Java程序不会自动执行,因此设置Script节点并将其作为触发Java程序执行的关键,到达这些字段的事件会自动地转移到和该Script节点相关的程序中。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈