虚拟现实技术第4章要点课件.ppt

上传人:小飞机 文档编号:1615755 上传时间:2022-12-11 格式:PPT 页数:39 大小:335.50KB
返回 下载 相关 举报
虚拟现实技术第4章要点课件.ppt_第1页
第1页 / 共39页
虚拟现实技术第4章要点课件.ppt_第2页
第2页 / 共39页
虚拟现实技术第4章要点课件.ppt_第3页
第3页 / 共39页
虚拟现实技术第4章要点课件.ppt_第4页
第4页 / 共39页
虚拟现实技术第4章要点课件.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《虚拟现实技术第4章要点课件.ppt》由会员分享,可在线阅读,更多相关《虚拟现实技术第4章要点课件.ppt(39页珍藏版)》请在三一办公上搜索。

1、虚拟现实技术,第4章 虚拟现实建模语言VRML,4.1VRML语言概述4.2VRML的语法基础4.3VRML的空间造型4.4VRML的场景效果4.5VRML的动态交互,4.1VRML语言概述,VRML(Virtual Reality Modeling Language,虚拟现实建模语言)是一种用于创建三维造型和渲染的图形描述语言。,4.1.1 VRML的发展历程4.1.2 VRML的特点4.1.3 VRML编辑器4.1.4 VRML浏览器,4.1VRML语言概述,4.1.1 VRML的发展历程,1994年,Mark Pesce和Tony Parisi创建了可用来浏览Internet上三维画面的

2、浏览器原型,称为Labyrinth(迷宫),首次提出了VRML一词。1994年,由SGI公司的工程师Gavin Bell组织制订了VRML 1.0的规范草案,并于同年10月在芝加哥召开的第二届万维网国际会议上公布。VRML 2.0是以SGI公司的Moving Worlds提案为基础的,节点类型被扩展为54种,支持的对象也已包括动态和静态两大类。VRML的国际标准草案于于1998年1月正式获得ISO的认定和发布,通常被称为VRML 97。1998年,VRML组织更名为Web3D组织,并制订了一个新的标准X3D(Extensible 3D)。,4.1VRML语言概述,4.1.2 VRML的特点,基

3、于Internet共享的虚拟世界较低的配置需求 真正的动态交互适用于网络现状的技术开放式的标准,4.1VRML语言概述,4.1.3 VRML编辑器,编辑VRML源程序代码,可以使用几乎任何一种文本编辑器。在此推荐一个功能强大并且使用便捷的VRML编辑器VrmlPad。VrmlPad的安装与运行:VrmlPad的试用版可以从VRML的资源站点下载安装即可。VrmlPad主要功能包括文件管理、文本编辑、浏览等。,4.1VRML语言概述,4.1.4 VRML浏览器,浏览VRML虚拟空间,需要使用浏览器插件,常用的有:Cosmo Player VRML浏览器Microsoft VRML 2.0浏览器其

4、它浏览器,如SVR(兼容VRML97),Community Place,Liquid Reality等。,显示在Cosmo Player VRML浏览器中的三维虚拟会议大厅,4.2 VRML的语法基础,4.2.1 VRML的组成要素4.2.2 VRML的文件结构4.2.3 VRML的空间计量,4.2 VRML的语法基础,4.2.1 VRML的组成要素,1、节点(Node)和域(Field)节点是VRML文件中最基本也是最核心的组成部分。单个节点可描述造型、颜色、光照、视点、传感器等。VRML虚拟世界的对象往往是由一组具有一定层次结构关系的节点来构造。,4.2 VRML的语法基础,4.2.1 V

5、RML的组成要素,1、节点(Node)和域(Field)典型节点语法定义如下:,4.2 VRML的语法基础,4.2.1 VRML的组成要素,2、事件(Event)和路由(Route) 事件的接口类型有事件入口和事件出口两种:事件入口(eventIn,也称入事件)是节点的逻辑接收器,它负责监听和接收外界事件;事件出口(eventOut,也称出事件)是节点的逻辑发送器,它负责向外界发送节点产生的事件。,4.2 VRML的语法基础,4.2.1 VRML的组成要素,2、事件(Event)和路由(Route)事件出口和事件入口通过路径相连,这就是VRML文件中的另一个基本组成部分路由。路由为事件的传播提

6、供了传输通道,使事件在事件链中依次向前传递,每经过一个节点就改变该节点的一些域,从而引发VRML世界一系列的变化。,4.2 VRML的语法基础,4.2.1 VRML的组成要素,2、事件(Event)和路由(Route)典型的事件路由定义如下:DEF SENSOR TouchSensor # 定义一个触摸传感器 DEF SOUND Sound # 定义一个声音对象 ROUTE SENSOR.touchTime TO SOUND.startTime # 建立事件的路由,4.2 VRML的语法基础,4.2.1 VRML的组成要素,3、脚本(Script)Java、JavaScript行为脚本、插补器

7、、C+函数、VRMLScript、LiveConnect、VRML外部制作界面等,都是用于生成动态、复杂及逼真的VRML场景的技术、语言和API(Application Programming Interface)。Script节点可以看作是一个节点的外壳:它拥有域、eventIn事件、eventOut事件。其本身没有任何动作,但可以通过程序来赋予脚本节点动作。,4.2 VRML的语法基础,4.2.1 VRML的组成要素,4、原型(Prototype)用户还可以通过原型构造机制定义新的节点类型,例如新的几何节点、新的造型、新的材料和新的声音节点等。新节点类型既可以在该原型定义的文件中引用(即内

8、部原型,PROTO),也可以在外部文件中定义后在其它VRML文件中引用(即外部原型,EXTERNPROTO)。,4.2 VRML的语法基础,4.2.2 VRML的文件结构,典型的VRML文件结构如下:#VRML V2.0 utf8 # VRML文件头节点名 # 创建VRML中各种类型的节点以构成造型 域名 域值 # 设置节点的各个域和域值 Scipt # 添加脚本节点,编写脚本程序 ROUTE TO # 建立出事件与入事件间的路由,4.2 VRML的语法基础,4.2.2 VRML的文件结构,1、文件头头文件向浏览器表述了如下含义:本文件是一个VRML文件。本文件遵循VRML规范的2.0版本。本

9、文件使用国际UTF-8字符集。,4.2 VRML的语法基础,4.2.2 VRML的文件结构,2、造型物体的造型(又称场景图)由节点按一定的层次关系组成,它用于构造虚拟世界的主体各种静态和动态对象。在造型层次模型中,上下层节点之间存在两种关系:包容关系和父子关系。节点的包容关系是指后代节点作为祖先节点的一个属性域而存在。在父子关系中,子节点并不直接出现在父节点的属性域中,它们集中在父节点的MFNode(多节点数据类型)子域内,依次排列。,4.2 VRML的语法基础,4.2.2 VRML的文件结构,3、路由路由不是节点,路由语句可以放置在节点内域可以出现的任何地方。建议将所有ROUTE语句集中放置

10、在文件的末尾,以构成一个系统的事件体系。路由中引用的节点名称都应该在ROUTE语句之前被定义。,4.2 VRML的语法基础,4.2.2 VRML的文件结构,4、注释注释信息以符号“#”开始,结束于该行的末尾,VRML不支持多行注释。文件头中的“#”不代表注释含义。,4.2 VRML的语法基础,4.2.3 VRML的空间计量,1、VRML空间坐标系 VRML的立体空间采用三维坐标系。该坐标系的原点位于VRML浏览器的中心,X轴的正向水平向右,Y轴的正向垂直向上,Z轴的正向垂直向前,即指向浏览者,如图所示。,4.2 VRML的语法基础,4.2.3 VRML的空间计量,2、VRML的计量单位VRML

11、描述长度的计量单位是VRML单位。它与现实世界或其它三维建模工具的计量单位都没有可比性。VRML描述旋转等角度的计量单位是弧度。常用角度与弧度的对应关系如表所示。,4.2 VRML的语法基础,4.2.3 VRML的空间计量,3、VRML的色彩规范VRML使用红绿蓝(RGB)颜色规范来描述造型、光线和背景等的色彩。RGB颜色包含三个域值均在0.01.0之间的浮点数,它们分别对应红、绿、蓝三种颜色的取值。0.0值表示该颜色被关闭,1.0值表示该颜色完全打开。,4.3 VRML的空间造型,任何一个VRML虚拟场景中的空间造型都必须使用Shape(形状)节点加以创建。 Shape节点的语法格式如下:

12、Shape appearance NULL # SFNode geometry NULL # SFNode ,4.3 VRML的空间造型,4.3.1 基本造型4.3.2 空间变换4.3.3 文本造型4.3.4 复杂造型,4.3 VRML的空间造型,4.3.1 基本造型,VRML的基本几何造型节点有4种:Box(立方体)节点Cone(圆锥体)节点Cylinder(圆柱体)节点Sphere(球体)节点 例4-1 制作灯笼 参见教材P 57。,4.3 VRML的空间造型,4.3.2 空间变换,利用Transform (变换)节点可以在VRML空间创建新的坐标系,可以随意translation(平移)

13、、rotation(旋转)和scale(缩放)。 例4-2 制作茶几 参见教材P 58。,4.3 VRML的空间造型,4.3.3 文本造型,Text(文本)节点用来创建文本造型,通常使用Shape节点的geometry域的域值。VRML文本造型是一个没有厚度的平面造型,但也可以具有不同的外观和材质属性。 例4-3 恭贺新年 参见教材P 60。,4.3 VRML的空间造型,4.3.4 复杂造型,VRML提供了一些非常灵活的节点使用户能够通过使用点、线和面等来构造所需的几何形体。这些节点主要包括:PointSet(点)、IndexedLineSet(线)、IndexedFaceSet(面)以及El

14、evationGrid(海拔栅格)、Extrusion(挤出造型)。 例4-4 制作椅子 参见教材P 62。,4.4 VRML的场景效果,4.4.1 纹理映射4.4.2 声音技术4.4.3 光照效果4.4.4 其它效果,4.4 VRML的场景效果,4.4.1 纹理映射,纹理是一种位图,把纹理图按照一定规则包裹到几何体造型表面的过程称为纹理映射。VRML提供了3种纹理节点,包括ImageTexture(图像纹理)节点、PixelTexture(像素纹理)节点和MovieTexture(电影纹理)节点。 例4-5 制作书柜 参见教材P 64。,4.4 VRML的场景效果,4.4.2 声音技术,在V

15、RML中加入声音涉及到两个部分:声源和声音发射器。Sound(声音)节点用于创建声音发射器,并指定场景中声源的位置以及立体化的表现形式。AudioClip节点和MovieTexture节点则用于提供声源,仅可以作为Sound节点中source域的域值。VRML场景中可引用的声音文件类型主要包括WAV、MID和MPEG等3种。 例4-6 放映电影 参见教材P 66。,4.4 VRML的场景效果,4.4.3 光照效果,在VRML中创建光源时,除了要指定光源的空间位置、光线的发射方向等,还需要设置发射光线的颜色和亮度等。VRML中光源节点的分类及特点如下:PointLight点光源Direction

16、alLight平行光源SpotLight锥光源 例4-7 光照与阴影 参见教材P 67。,4.4 VRML的场景效果,4.4.4 其它效果,Background(背景)节点:可以控制VRML世界中天空和地面的颜色,指定一组全景图放置在VRML世界的上方、下方或四周。Viewpoint(视点)节点:用来设置浏览者在VRML世界中的观察位置、空间朝向和视野范围等。NavigationInfo(导航)节点,用来提供浏览者的替身信息以及该替身如何在VRML世界中进行导航。 例4-8 宇宙飞行 参见教材P 70。,4.5 VRML的动态交互,4.5.1 动画设计4.5.2 传感器交互4.5.3 脚本设计

17、,4.5 VRML的动态交互,4.5.1 动画设计,在VRML中,通过时间传感器和插补器节点,即可实现最常用的线性关键帧动画。VRML提供了诸如PositionInterpolator(位置)、OrientationInterpolator(朝向旋转)、ColorInterpolator(颜色)、ScalarInterpolator(标量)等多个插补器节点来控制动画。TimeSensor(时间传感器)节点的作用是创建一个虚拟时钟。 例4-9 地月运行 参见教材P 72。,4.5 VRML的动态交互,4.5.2 传感器交互,VRML提供了一系列传感器来检测用户在虚拟场景中的动作,再通过事件的传递

18、,实现用户与虚拟世界之间的交互。接触型传感器:用于检测用户对于鼠标的各种操作,如单击、拖动等动作,节点包括TouchSensor(触摸)、PlaneSensor(平面)、CylinderSensor(圆柱体)和SphereSensor(球体)传感器。感知型传感器用于检测用户与造型的接近程度或造型在场景中是否可见等,节点包括VisibilitySensor(可视)、ProximitySensor(接近)传感器及Collision(碰撞)编组。 例4-10 自动门 参见教材P 74。,4.5 VRML的动态交互,4.5.3 脚本设计,Script节点的操作包括事件接收、数据操作、数据存储和事件产生等4个步骤,与之对应的脚本可以由4个部分组成:一定数目的eventIn,当接收到事件时引发脚本的执行。与eventIn对应的同名函数,当接收到一个eventIn时执行其中的脚本程序;函数可以用于设置Script节点内部的域,实现复杂的算法,以及向其它节点发送事件。在脚本执行过程中,各个函数存储中间数据所使用的域。在脚本执行过程中,各个函数所发送的eventOut。 例4-11 家具选色 参见教材P 76。,本 章 结 束谢 谢 大 家,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号