虚拟现实技术第4章3942034.pptx
《虚拟现实技术第4章3942034.pptx》由会员分享,可在线阅读,更多相关《虚拟现实技术第4章3942034.pptx(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、虚拟现实技术4-2第4 章 虚拟现实建模语言VRML 4.1 VRML 语言概述4.2 VRML 的语法基础4.3 VRML 的空间造型4.4 VRML 的场景效果4.5 VRML 的动态交互4-34.1 VRML 语言概述 VRML VRML(Virtual Reality Modeling LanguageVirtual Reality Modeling Language,虚,虚拟现实建模语言)是一种用于创建三维造型和渲拟现实建模语言)是一种用于创建三维造型和渲染的图形描述语言。染的图形描述语言。4.1.1 VRML 的发展历程4.1.2 VRML 的特点4.1.3 VRML 编辑器4.1
2、.4 VRML 浏览器4-44.1VRML 语言概述4.1.1 VRML 的发展历程l l 1994 1994 年,年,Mark Pesce Mark Pesce 和 和Tony Parisi Tony Parisi 创建了可用来浏览 创建了可用来浏览Internet Internet 上三维 上三维画面的浏览器原型,称为 画面的浏览器原型,称为Labyrinth Labyrinth(迷宫),首次提出了(迷宫),首次提出了VRML VRML 一词。一词。l l 1994 1994 年,由 年,由SGI SGI 公司的工程师 公司的工程师Gavin Bell Gavin Bell 组织制订了 组
3、织制订了VRML 1.0 VRML 1.0 的规范 的规范草案,并于同年 草案,并于同年10 10 月在芝加哥召开的第二届万维网国际会议上公布。月在芝加哥召开的第二届万维网国际会议上公布。l l VRML 2.0 VRML 2.0 是以 是以SGI SGI 公司的 公司的Moving Worlds Moving Worlds 提案为基础的,节点类型被 提案为基础的,节点类型被扩展为 扩展为54 54 种,支持的对象也已包括动态和静态两大类。种,支持的对象也已包括动态和静态两大类。l l VRML VRML 的国际标准草案于于 的国际标准草案于于1998 1998 年 年1 1 月正式获得 月正
4、式获得ISO ISO 的认定和发布,通 的认定和发布,通常被称为 常被称为VRML 97 VRML 97。l l 1998 1998 年,年,VRML VRML 组织更名为 组织更名为Web3D Web3D 组织,并制订了一个新的标准 组织,并制订了一个新的标准X3D X3D(Extensible 3D Extensible 3D)。)。4-54.1VRML 语言概述4.1.2 VRML 的特点l l基于基于InternetInternet共享的虚拟世界共享的虚拟世界l l较低的配置需求较低的配置需求 l l真正的动态交互真正的动态交互l l适用于网络现状的技术适用于网络现状的技术l l开放式
5、的标准开放式的标准 4-64.1VRML 语言概述4.1.3 VRML 编辑器 编辑编辑VRMLVRML源程序代码,可以使用几乎任何一源程序代码,可以使用几乎任何一种文本编辑器。在此推荐一个功能强大并且使用便种文本编辑器。在此推荐一个功能强大并且使用便捷的捷的VRMLVRML编辑器编辑器VrmlPadVrmlPad。l l VrmlPad VrmlPad 的安装与运行:的安装与运行:VrmlPad VrmlPad 的试用版可以从 的试用版可以从VRML VRML的资源站点下载安装即可。的资源站点下载安装即可。l l VrmlPad VrmlPad 主要功能包括文件管理、文本编辑、浏览等。主要功
6、能包括文件管理、文本编辑、浏览等。4-74.1VRML 语言概述4.1.4 VRML 浏览器 浏览 浏览VRML VRML 虚拟空间,需要使用浏览器插件,常用的有:虚拟空间,需要使用浏览器插件,常用的有:l l Cosmo Player VRML Cosmo Player VRML 浏览器 浏览器l l Microsoft VRML 2.0 Microsoft VRML 2.0 浏览器 浏览器l l 其它浏览器,如 其它浏览器,如SVR SVR(兼容(兼容VRML97 VRML97),),Community Place Community Place,Liquid Reality Liquid
7、 Reality 等。等。显示在Cosmo Player VRML 浏览器中的三维虚拟会议大厅 4-84.2 VRML 的语法基础4.2.1 VRML 的组成要素4.2.2 VRML 的文件结构4.2.3 VRML 的空间计量4-94.2 VRML 的语法基础4.2.1 VRML 的组成要素 11、节点(、节点(NodeNode)和域()和域(FieldField)节点是 节点是VRML VRML 文件中最基本也是最核心的组成部分。单个 文件中最基本也是最核心的组成部分。单个节点可描述造型、颜色、光照、视点、传感器等。节点可描述造型、颜色、光照、视点、传感器等。VRML VRML 虚拟世界的对
8、象往往是由一组具有一定层次结构关 虚拟世界的对象往往是由一组具有一定层次结构关系的节点来构造。系的节点来构造。4-104.2 VRML 的语法基础4.2.1 VRML 的组成要素 11、节点(、节点(NodeNode)和域()和域(FieldField)典型节点语法定义如下:典型节点语法定义如下:4-114.2 VRML 的语法基础4.2.1 VRML 的组成要素 22、事件(、事件(EventEvent)和路由()和路由(RouteRoute)事件的接口类型有事件入口和事件出口两种:事件的接口类型有事件入口和事件出口两种:事件入口(事件入口(eventIn eventIn,也称入事件)是节点
9、的逻辑接收器,也称入事件)是节点的逻辑接收器,它负责监听和接收外界事件;它负责监听和接收外界事件;事件出口(事件出口(eventOut eventOut,也称出事件)是节点的逻辑发送器,也称出事件)是节点的逻辑发送器,它负责向外界发送节点产生的事件。它负责向外界发送节点产生的事件。4-124.2 VRML 的语法基础4.2.1 VRML 的组成要素 22、事件(、事件(EventEvent)和路由()和路由(RouteRoute)事件出口和事件入口通过路径相连,这就是 事件出口和事件入口通过路径相连,这就是VRML VRML 文件中 文件中的另一个基本组成部分 的另一个基本组成部分 路由。路由
10、。路由为事件的传播提供了传输通道,使事件在事件链中依 路由为事件的传播提供了传输通道,使事件在事件链中依次向前传递,每经过一个节点就改变该节点的一些域,从 次向前传递,每经过一个节点就改变该节点的一些域,从而引发 而引发VRML VRML 世界一系列的变化。世界一系列的变化。4-134.2 VRML 的语法基础4.2.1 VRML 的组成要素 22、事件(、事件(EventEvent)和路由()和路由(RouteRoute)典型的事件路由定义如下:典型的事件路由定义如下:DEF SENSOR TouchSensor#DEF SENSOR TouchSensor#定义一个触摸传感器 定义一个触摸
11、传感器 DEF SOUND Sound#DEF SOUND Sound#定义一个声音对象 定义一个声音对象 ROUTE SENSOR.touchTime TO SOUND.startTime#ROUTE SENSOR.touchTime TO SOUND.startTime#建立事件的路由 建立事件的路由4-144.2 VRML 的语法基础4.2.1 VRML 的组成要素 33、脚本(、脚本(ScriptScript)Java Java、JavaScript JavaScript 行为脚本、插补器、行为脚本、插补器、C+C+函数、函数、VRMLScript VRMLScript、LiveCon
12、nect LiveConnect、VRML VRML 外部制作界面等,都 外部制作界面等,都是用于生成动态、复杂及逼真的 是用于生成动态、复杂及逼真的VRML VRML 场景的技术、语言 场景的技术、语言和 和API API(Application Programming Interface Application Programming Interface)。)。Script Script 节点可以看作是一个节点的外壳:它拥有域、节点可以看作是一个节点的外壳:它拥有域、eventIn eventIn 事件、事件、eventOut eventOut 事件。其本身没有任何动作,但 事件。其本身没
13、有任何动作,但可以通过程序来赋予脚本节点动作。可以通过程序来赋予脚本节点动作。4-154.2 VRML 的语法基础4.2.1 VRML 的组成要素 44、原型(、原型(PrototypePrototype)用户还可以通过原型构造机制定义新的节点类型,例如新 用户还可以通过原型构造机制定义新的节点类型,例如新的几何节点、新的造型、新的材料和新的声音节点等。的几何节点、新的造型、新的材料和新的声音节点等。新节点类型既可以在该原型定义的文件中引用(即内部原 新节点类型既可以在该原型定义的文件中引用(即内部原型,型,PROTO PROTO),也可以在外部文件中定义后在其它),也可以在外部文件中定义后在
14、其它VRML VRML 文件中引用(即外部原型,文件中引用(即外部原型,EXTERNPROTO EXTERNPROTO)。)。4-164.2 VRML 的语法基础4.2.2 VRML 的文件结构典型的典型的VRMLVRML文件结构如下:文件结构如下:#VRML V2.0 utf8#VRML#VRML V2.0 utf8#VRML 文件头 文件头节点名 节点名#创建 创建VRML VRML 中各种类型的节点以构成 中各种类型的节点以构成 造型 造型 域名 域名 域值 域值#设置节点的各个域和域值 设置节点的各个域和域值 Scipt#Scipt#添加脚本节点,编写脚本程序 添加脚本节点,编写脚本程
15、序 ROUTE TO#ROUTE TO#建立出事件与入事件间的 建立出事件与入事件间的 路由 路由4-174.2 VRML 的语法基础4.2.2 VRML 的文件结构11、文件头、文件头头文件向浏览器表述了如下含义:头文件向浏览器表述了如下含义:本文件是一个 本文件是一个VRML VRML 文件。文件。本文件遵循 本文件遵循VRML VRML 规范的 规范的2.0 2.0 版本。版本。本文件使用国际 本文件使用国际UTF-8 UTF-8 字符集。字符集。4-184.2 VRML 的语法基础4.2.2 VRML 的文件结构22、造型、造型 物体的造型(又称场景图)由节点按一定的层次关系组成,物体
16、的造型(又称场景图)由节点按一定的层次关系组成,它用于构造虚拟世界的主体 它用于构造虚拟世界的主体 各种静态和动态对象。各种静态和动态对象。在造型层次模型中,上下层节点之间存在两种关系:包容 在造型层次模型中,上下层节点之间存在两种关系:包容关系和父子关系。关系和父子关系。节点的包容关系是指后代节点作为祖先节点的一个属性域而存在。节点的包容关系是指后代节点作为祖先节点的一个属性域而存在。在父子关系中,子节点并不直接出现在父节点的属性域中,它们 在父子关系中,子节点并不直接出现在父节点的属性域中,它们集中在父节点的 集中在父节点的MFNode MFNode(多节点数据类型)子域内,依次排列。(多
17、节点数据类型)子域内,依次排列。4-194.2 VRML 的语法基础4.2.2 VRML 的文件结构33、路由、路由 路由不是节点,路由语句可以放置在节点内域可以出现的 路由不是节点,路由语句可以放置在节点内域可以出现的任何地方。任何地方。建议将所有 建议将所有ROUTE ROUTE 语句集中放置在文件的末尾,以构成 语句集中放置在文件的末尾,以构成一个系统的事件体系。一个系统的事件体系。路由中引用的节点名称都应该在 路由中引用的节点名称都应该在ROUTE ROUTE 语句之前被定义。语句之前被定义。4-204.2 VRML 的语法基础4.2.2 VRML 的文件结构44、注释、注释 注释信息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟现实 技术 3942034
限制150内