VRML基本知识.ppt_第1页
VRML基本知识.ppt_第2页
VRML基本知识.ppt_第3页
VRML基本知识.ppt_第4页
VRML基本知识.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VRML基本知识 研发部专业技术培训 内容简介 VRML文件VRML造型节点VRML编组节点VRML声音节点VRML光源节点VRML其他节点原型及其应用VRML插补器节点 动画 VRML传感器节点 交互 VRML脚本节点 VRML文件 VRML文件体系VRML文件基本内容VRML空间VRML关键字 VRML文件体系 VRML文件类型VRML文件头 VRMLV2 0utf8VRML造型VRML事件 Event 路由 Route 事件体系VRML脚本 Script VRML原型 Proto VRML文件基本内容 VRML节点造型节点声音节点光源节点插补器节点传感器节点编组节点脚本节点其他节点VRML数据类型SFBoolSFColorSFFloatSFImageSFInt32SFNodeSFRotationSFStringSFTimeSFVec2fSFVec3fMFColorMFFloatMFInt32MFNodeMFRotationMFStringMFTimeMFVec2fMFVec3f程序注释以 字符开头 结束于该行未尾不支持多行注释并非所有VRML编辑系统支持中文注释 VRML空间 空间坐标系X正方向屏幕右侧Y正方向屏幕上方Z正方向垂直屏幕指向用户空间计量单位长度单位 VRML单位角度单位 弧度 VRML造型节点 VRML基本造型Shape appearanceNULL exposedFieldSFNodegeometryNULL exposedFieldSFNode Appearance外观属性Appearance materialNULL exposedFieldSFNodetextureNULL exposedFieldSFNodetextureTransformNULL exposedFieldSFNode Geometry几何造型 material域 使用指定造型使用的材质属性 常作为Appearance节点煌material域的域值使用 定义Material diffuseColor0 80 80 8 exposedFieldSFColoremissiveColor0 80 80 8 exposedFieldSFColorspecularColor0 80 80 8 exposedFieldSFColorambientIntensity0 80 80 8 exposedFieldSFColorshininess0 80 80 8 exposedFieldSFColortransparency0 exposedFieldSFFloat textrue域 纹理坐标系取值ImageTextruePixelTextureMovieTexture S T 1 1 1 1 0 0 textrue域 ImageTextrue url exposedFieldMFStringrepeatSTRUE fieldSFBoolrepeatTTRUE fieldSFBool PixelTexture image000 exposedFieldSFImagerepeatSTRUE fieldSFBoolrepeatTTRUE fieldSFBool textrue域 MovieTexture loopFALSE exposedFieldSFBoolspeed1 0 exposedFieldSFFloatstartTime0 exposedFieldSFTimestopTime0 exposedFieldSFTimeurl exposedFieldMFStringrepeatSTRUE fieldSFBoolrepeatTTRUE fieldSFBoolduration changed eventOutSFTimeisActive eventOutSFBool textrueTransform域 使用对映射的纹理进行坐标变换 定义TextrueTransform translation0 00 0 exposedFieldSFVec2frotation0 0 exposedFieldSFFloatscale0 00 0 exposedFieldSFVec2fcenter0 00 0 exposedFieldSFVec2f Geometry几何造型 基本几何造型BoxSphereCylinderCone文字造型 Text任意几何造型PointSetIndexedLineSetIndexedFaceSetElevationGridExtrusion 基本几何造型 Box size2 02 02 0 fieldSFVec3f Sphere radius1 0 fieldSFFloat Cylinder radius1 0 fieldSFFloatheight2 0 fieldSFFloattopTRUE fieldSFBoolsideTRUE fieldSFBoolbottomTRUE fieldSFBool Cone bottomRadius1 0 fieldSFFloatheight2 0 fieldSFFloatsideTRUE fieldSFBoolbottomTRUE fieldSFBool 文字造型 Text string exposedFieldMFStringlength exposedFieldMFFloatmaxExtent0 0 exposedFieldSFFloatfontStyleNULL exposedFieldSFNode FontStyle family SERIF fieldSFStringstyle PLAIN fieldSFStringsize1 0 fieldSFStringspacing1 0 fieldSFStringhorizontalTRUE fieldSFBoolleftToRightTRUE fieldSFBooltopToBottomTRUE fieldSFBooljustify BEGIN fieldMFStringlanguage fieldSFString 任意几何造型 节点描述由离散点集构造的空间几何造型PointSet coordNULL exposedFieldSFNodecolorNULL exposedFieldSFNode Coordinate point exposedFieldMFVec3f Color color exposedFieldMFColor 任意几何造型 节点描述由离散点集经索引而构造构造的空间线造型IndexedLineSet coordNULL exposedFieldSFNodecoordIndex fieldMFInt32colorNULL exposedFieldSFNodecolorIndex fieldMFInt32colorPerVertexTRUE fieldSFBoolset coordIndex eventInMFInt32set colorIndex eventInMFInt32 Coordinate point exposedFieldMFVec3f Color color exposedFieldMFColor 任意几何造型 IndexedFaceSet coordNULL exposedFieldSFNodecoordIndex fieldMFInt32texCoordNULL exposedFieldSFNodetexCoordIndex fieldMFInt32colorNULL exposedFieldSFNodecolorIndex fieldMFInt32colorPerVertexTRUE fieldSFBoolnormalNULL exposedFieldSFNodenormalIndex fieldMFInt32normalPerVertexTRUE fieldSFBoolccwTRUE fieldSFBoolconvexTRUE fieldSFBoolsolidTRUE fieldSFBoolcreaseAngle0 0 fieldSFFloatset coordIndex eventInMFInt32set texcoordIndex eventInMFInt32set colorIndex eventInMFInt32set normalIndex eventInMFInt32 任意几何造型 地形标高造型ElevationGrid在XOZ坐标平面上创建一个栅格 然后再任意改变每下栅格在Y轴上的高度 以创建不规则的相对于地平面的山脉或低谷造型 工业挤出造型Extrusion在XOZ坐标平面上构造一个二维的平面折线 再在VRML空间中指定一条曲线作为二维平面折线的运动轨迹 二维折线的运动方向始终与空间曲线上对应点的切线方向一致 VRML编组节点 节点定义与使用GroupTransformInlineSwitchBillboardLODAnchor 节点定义与引用 定义语法DEF节点名节点 命名规则节点名由字母和数字序列组成 但必须以字母打头 字母区分大小写允许使用下划线 但不能使用单引号 双引号 数字运算符号 英镑符号和VRML中的关键字引用语法USE节点名 Group节点 功能描述将多个相同或不周的VRML节点进行编组 以捆绑创建复杂造型 Group children exposedFieldMFNodebboxCenter0 00 00 0 fieldSFVec3fbboxSize 1 0 1 0 1 0 fieldSFVec3faddChildren eventInMFNoderemoveChildren evenInMFNode Transform节点 功能描述对VRML空间坐标系进行变换 以建立一个或多个相对于已有坐标系 父坐标系 的新坐标系 子坐标系 Transform children exposedFieldMFNodetranslation0 00 00 0 exposedFieldSFVec3frotation0 00 01 00 0 exposedFieldSFRotationscale1 01 01 0 exposedFieldSFVec3fscaleOrientation0 00 01 00 0 exposedFieldSFRotationcenter0 00 00 0 exposedFieldSFVec3fbboxCenter0 00 00 0 fieldSFVec3fbboxSize 1 0 1 0 1 0 fieldSFVec3faddChildren eventInMFNoderemoveChildren evenInMFNode Inline节点 功能描述将一个复杂的VRML场景造型文件分割成相对简单的一些独立的场景造型文件分别设计并存储 之后再使用VRML内联技术将其整合在一起以简化一个复杂场景的设计与调试工作 并方便与维护与多人开发 Inline url exposedFieldMFStringbboxCenter0 00 00 0 fieldSFVec3fbboxSize 1 0 1 0 1 0 fieldSFVec3f Switch节点 功能描述将多个VRML场景造型节点并列排放在Switch编组节点中 浏览器渲染时一次只能选择其中之一加以创建 Switch choice exposedFieldMFNodewhichChoice 1 exposedFieldSFInt32 如果whichChoice域值小于0或者大于choice域中的节点列表娄 则不创建任何造型 Billboard节点 功能描述随浏览者的移动而自动的加以旋转以始终朝向浏览者 从而保证其中的内容始终处于可视方位 就象真实世界中的布告牌 总是设置中场景中易于观察到的位置和朝向Billboard children exposedFieldMFNodeaxisOfRotation0 01 00 0 exposedFieldSFVec3fbboxCenter0 00 00 0 fieldSFVec3fbboxSize 1 0 1 0 1 0 fieldSFVec3faddChildren eventInMFNoderemoveChildren eventInMFNode Log节点 功能描述对同一个场景或场景中的对象 使用具有不同细节的描述方法建立一组模型 供浏览器渲染时动态选择使用 Log level exposedFieldMFNodecenter0 00 00 0 fieldSFVec3frange fieldMFFloat 若level域设置了n个层次节点 则range域中就应该有n 1个距离值与之对应 Anchor节点 功能描述使用Anchor编组节点组织场景中的锚点造型 并通过锚点造型链接到相应的URL地址上去 以实现VRML文件间的相互调用 Anchor children exposedFieldMFNodedescription exposedFieldSFStringurl exposedFieldMFStringparameter exposedFieldMFStringbboxCenter0 00 00 0 fieldSFVec3fbboxSize 1 0 1 0 1 0 fieldSFVec3faddChildren eventInMFNoderemoveChildren eventInMFNode WorldInfo节点 功能描述用于对VRML文件进行说明 该节点即不影响场景的视觉效果 也不影响交互机制的正常运行 其主要作用是对VRML文件的标题 作者 内容 版权 设计说明等辅助信息进行标示或注释 WorldInfo title fieldSFStringinfo fieldMFString WorldInfo节点通常放置在VRML文件的顶部 作为场景中的第一个节点加以设置 VRML声音节点 支持格式 wav midi mpeg 1Sound sourceNULL exposeFieldSFNodelocation0 00 00 0 exposeFieldSFVec3fdirection0 00 00 0 exposeFieldSFVec3fintensity1 0 exposeFieldSFFloatmaxBack10 0 exposeFieldSFFloatmaxFront10 0 exposeFieldSFFloatminBack1 0 exposeFieldSFFloatminFront1 0 exposeFieldSFFloatpriority0 0 exposeFieldSFFloatspatializeTRUE exposeFieldSFBool VRML声音节点 AudioClip url exposedFieldMFStringdescription exposedFieldSFStringloopFALSE exposedFieldSFBoolpitch1 0 exposedFieldSFFloatstartTime0 0 exposedFieldSFTimestopTime0 0 exposedFieldSFTimeduration changed eventOutSFTimeisActive eventOutSFBool VRML声音节点 MovieTexture loopFALSE exposedFieldSFBoolspeed1 0 exposedFieldSFFloatstartTime0 exposedFieldSFTimestopTime0 exposedFieldSFTimeurl exposedFieldMFStringrepeatSTRUE fieldSFBoolrepeatTTRUE fieldSFBoolduration changed eventOutSFTimeisActive eventOutSFBool VRML光源节点 点光源节点平行光源节点锥光源节点 点光源节点 功能描述由一个点向整个空间发射光线 PointLight onTRUE exposedFieldSFBoollocation0 00 00 0 exposedFieldSFVec3fradius100 0 exposedFieldSFFloatcolor1 01 01 0 exposedFieldSFColorintensity1 0 exposedFieldSFFloatambientIntensity0 0 exposedFieldSFFloatattenuation1 00 00 0 exposedFieldSFVec3f 平行光源节点 功能描述如同激光 始终朝一个方向发射 DirectionalLight onTRUE exposedFieldSFBooldirection0 00 0 1 0 exposedFieldSFVec3fcolor1 01 01 0 exposedFieldSFColorintensity1 0 exposedFieldSFFloatambientIntensity0 0 exposedFieldSFFloat 锥光源节点 功能描述从一个点向一个方向照射 但只有在照明锥体中的造型才能被完全照亮 SpotLight onTRUE exposedFieldSFBoollocation0 00 00 0 exposedFieldSFVec3fdirection0 00 0 1 0 exposedFieldSFVec3fradius100 0 exposedFieldSFFloatcutOffAngle0 785398 exposedFieldSFFloatbeamWidth1 570796 exposedFieldSFFloatcolor1 01 01 0 exposedFieldSFColorintensity1 0 exposedFieldSFFloatambientIntensity0 0 exposedFieldSFFloatattenuation1 00 00 0 exposedFieldSFVec3f VRML其它节点 Background节点Fog节点ViewPoint节点NavigationInfo节点 Background节点 功能描述产生VRML中的虚拟空间背景 Background节点可以是任意编组节点的子节点 它在当前坐标系中构造空间背景 Background skyAngle exposedFieldMFFloatskyColor 0 00 00 0 exposedFieldMFColorgroundAngle exposedFieldMFFloatgroundColor 0 00 00 0 exposedFieldMFColorfrontUrl exposedFieldMFStringbackUrl exposedFieldMFStringleftUrl exposedFieldMFStringtopUrl exposedFieldMFStringbottomUrl exposedFieldMFStringset bind evenInSFBoolisBound eventOutSFBool Fog节点 功能描述产生VRML空间中的虚拟大气效果 通过雾的生成可使远近有另 从而产生空间距离感 Fog color1 01 01 0 exposedFieldSFColorfogType LINEAR exposedFieldSFStringvisibilityRange0 0 exposedFieldSFFloatset bind evenInSFBoolisBound eventOutSFBool Viewpoint节点 功能描述在所浏览的场景中预先由用户定义的观察位置及空间朝向 ViewPoint position0 00 01 0 exposedFieldSFVec3forientation0 00 01 00 0 exposedFieldSFRotationfieldOfView0 785398 exposedFieldSFFloatjumpTRUE exposedFieldSFBooldescription fieldSFStringset bind evenInSFBoolisBound eventOutSFBoolbindTime eventOutSFTime NavigationInfo节点 功能描述提供浏览者化身信息以及该化身如何使用当前的视点进行系统导航 NavigationInfo headLightTRUE exposedFieldSFBooltype WALK ANY exposedFieldMFStringspeed1 0 exposedFieldSFFloatvisibilityLimit0 0 exposedFieldSFFloatavatarSize 0 251 60 75 exposedFieldMFFloatisBound eventOutSFBoolbindTime eventOutSFTime ViewPoint节点所在空间坐标系的scale域值将影响NavigationInfo节点的speed visibilityLimit和avatarSize域值的作用范围 原型及其应用 理解原型Proto语句原型引用EXTERNPROTO 理解原型 代码重用机制节点扩展机制场景动态机制造型与行为打包机制网络运营机制 Proto语句 PROTO语句基本语法PROTONodeTypeName nodeInterFace NodeBody PROTONodeTypeName fieldfieldTypefieldNamedefaultValueexposedFieldfieldTypefieldNamedefaultValueeventInfieldTypefieldNamedefaultValueeventOutfieldTypefieldNamedefaultValue NodeBody Proto定义 PROTONotePad fieldSFVec3fposition0 00 00 0fieldSFColorbodyColor0 30 30 3fieldMFStringlcdTexture fss jpg Transform translationISpositionchildren shape appearanceAppearance textureImageTexture urlISlcdTexture 原型引用 遵循先定义 后引用的系统原则定义时可重新按需设置接口元素中的域值如果没有重新赋值 则默认使用缺省域值自定义原型节点的适用范围由其节点体中设置的第一个节点类型加以确定 引用NodePad position4 00 01 0bodyColor0 40 60 8lcdTexture hnd jpg EXTERNPROTO语句 功能描述将其它或网络上的 wrl文件中定义的原型节点引入到当前文件中 外部原型语句提供了一种使节点能够跨越网络定义并引用的巨大能力 进一步提高了VRML工功能范畴 EXTERNPROTP语句EXTERNPROTPNodeTypeName fieldfieldTypefieldNameexposedFieldfieldTypefieldNameeventInfieldTypefieldNameeventOutfieldTypefieldName urlorurlList EXTERNPROTO引用 外部原型引用NodeTypeName为外部 wrl文件中由PROTO语句定义的自定义节点类型名称方括号内的接口元素部分应该是PROTO定义中接口元素部分的子集 且必须与PROTO中的定义保持一致所有私有域及公共域无需设置缺省值相对于PROTO定义 EXTERNPROTO节点体部分只需设置外部 wrl文件的url地址或url地址列表如果在指定的外部文件中包含多个PROTO定义 则EXTERNPROTO引用可以通过以下语法格式进行声明 VRML文件名 PROTO节点类型名 EXTERNPROTO案例 Myproto wrl VRMLV2 0utf8PROTOproto1 PROTOproto2 Proto wrl VRMLV2 0utf8EXTERNPROTOproto1 http myproto wrl proto2 VRML插补器 事件路由时间传感器动画插补器颜色插补器ColorInpterpolator位置插补器PositionInterpolator朝向插补器OrientationInterpolator标量插补器ScalarInterpolator坐标插补器CoordinateInterpolator法向量插补器NormalInterpolator 事件 事件事件由事件值和时间戳组成节点属性域属性私有域field公共域exposedFieldset 事件名入事件事件名 change出事件事件属性入事件EventIn要求节点改变自己某个域的值出事件EventOut要求改变其他节点的域值 路由 路由某个节点的事件出口和其他节点的事件入口之间用于传递事件的通道称为路由 Route 语句语法构件 ROUTE TO 使用事项可以出现在节点内任何地方或原型定义中ROUTE语句所引用的节点必须在ROUTE语句之前就已定义由一个出事件传递给一个入事件 两事件的类型必须匹配节点必须使用DEF预先定义好一个名字 场景中所有使用USE语句引用此节点的域都会受到该事件的影响可以将一个事件发送到当前并未显示的节点的相应域不能事件传递到另一个由Inline节点嵌入的VRML文件中的选定节点中去 时间传感器 功能描述控制时间规律变化 对动画插补器实施时间控制 可以在一个指定的时间引发一个动作或者以固定的时间间隔产生输出事件 TimeSensor enabledTRUE exposedFieldSFBoolloopFALSE exposedFieldSFBoolcycleInterval1 0 exposedFieldSFTimestartTime0 0 exposedFieldSFTimestopTime0 0 exposedFieldSFTimeisActive eventOutSFBooltime eventOutSFTimecycleTime eventOutSFTimefraction changed eventOutSFFloat ColorInpterpolator 功能描述用以产生颜色改变动画ColorInpterpolator key exposedFieldMFFloatkeyValue exposedFieldMFColorset fraction eventInSFFloatvalue changed eventOutSFColor PositionInterpolator 功能描述用以产生空间位置改变动画PositionInterpolator key exposedFieldMFFloatkeyValue exposedFieldMFVec3fset fraction eventInSFFloatvalue changed eventOutSFVec3f OrientationInterpolator 功能描述用以产生空间朝向旋转动画OrientationInterpolator key exposedFieldMFFloatkeyValue exposedFieldMFVec3fset fraction eventInSFFloatvalue changed eventOutSFVec3f ScalarInterpolator 功能描述用以产生标量改变动画 适合于任何用单精度浮点值 宽度 高度 半径或亮度 定义的节点域值参数的动画控制ScalarInterpolator key exposedFieldMFFloatkeyValue exposedFieldMFFloatset fraction eventInSFFloatvalue changed eventOutSFFloat CoordinateInterpolator 功能描述用以产生VRML基于坐标点的复杂造型改变动画CoordinateInterpolator key exposedFieldMFFloatkeyValue exposedFieldMFVec3fset fraction eventInSFFloatvalue changed eventOutMFVec3f NormalInterpolator 功能描述用以产生法向量改变从而导致光线明暗变化动画NormalInterpolator key exposedFieldMFFloatkeyValue exposedFieldMFVec3fset fraction eventInSFFloatvalue changed eventOutMFVec3f VRML交互传感器 接触传感器TouchSensor环境传感器PlaneSensorSphereSensorCylinderSensor感知传感器VisibilitySensorProximitySensor碰撞编组Collision 接触传感器 功能描述检测用户基于点设备 鼠标 操纵杆 的动作 并将其转换后以各种形式的事件加以输出 TouchSensor enabledTRUE exposedFieldSFBoolisOver exposedFieldSFBoolisActive exposedFieldSFBooltouchTime exposedFieldSFTimehitPoint changed exposedFieldSFVec3fhitNormal changed exposedFieldSFVec3fhitTexCoord changed exposedFieldSFVec3f 当一个接触传感器正在处理某一事件时 场景中的其他接触传感器将不产生任何事件输出 环境传感器 功能描述环境传感器在浏览者选取 保持选取 并移动指点设备时产生事件输出 环境传感器并不限制指点设备的移动范围每个环境传感器都把来自于指点设备的输入数据映射到一个三维造型的表面不能将其放置在一个受此传感器影响而改变其域值属性的Transform节点中 环境传感器对移动的解释是基于局部坐标系的 平面传感器 功能描述用以检测用户操纵指点设备的动作 并将指点设备的选取 移动解释为造型在PlaneSensor节点所在局部坐标系XOY平面上的平移 PlaneSensor enabledTRUE exposedFieldSFBooloffset0 00 00 0 exposedFieldSFVec3fautoOffest0 00 00 0 exposedFieldSFBoolminPosition0 00 0 exposedFieldSFVec2fmaxPosition 1 0 1 0 exposedFieldSFVec2fisActive eventOutSFBooltrackPoint changed eventOutSFVec3ftranslation changed eventOutSFVec3f 平面传感器在激活状态下 VRML其他指点设备传感器不产生任何事件输出 球体传感器 功能描述用来检测用户操纵指点设备的动作 并将该动作转换成造型在围绕以某一点为中心的一个球体表面上所产生的旋转 使浏览者像是在一个转动的球体上进行观察 该中心点为SphereSensor节点所在局部坐标系的坐标原点 SphereSensor enabledTRUE exposedFieldSFBooloffset0 00 00 0 exposedFieldSFRotationautoOffest0 00 00 0 exposedFieldSFBoolisActive eventOutSFBooltrackPoint changed eventOutSFVec3frota

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论