VRML的文件特征是由VRML规范决定的,这种规范的最新版本为VRML2.0 (VRML97)。VRML文件主要包括文件头、造型(定义节点和引用节点)、脚本和路由等部分,但不是每一个VRML文件都必须包括这些部分,只有文件头是每个VRML文件必须的部分。
1.VRML文件头
位于文件的第一行,且为:
#VRML V2.0uft8
说明该文件为符合VRML2.0规范和UFT 8字符集的VRML文件。
2.VRML的节点
(1)节点的基本组成:节点是VRML的最基本组成部分,VRML的主要内容是节点的定义和节点的层层嵌套。VRML2.0的节点可分为九类:Grouping Nodes、Sensors、Appearance、Special Groups、Geometry、Interpolators、Common Nodes、Geometryproperties、Bind able No-des。节点的基本组成如下:
节点的类型名{
域1域1的值
域2域2的值
......
}
节点中域有以下的特点:①无序性。即各域之间不分先后顺序。②可选性。即各个域都有自己的省缺值。
此外,域值是有类型的。在VRML中域值的类型包括SFFBool、SFFloat/MF Float、SFColor/MFColor、SFRotation/MFRotation、SFString/MFString、SFVec2f/ MFVec2f、SFVec3f/MFVec3f、SFInt32/MFInt32、SFImage、SFTime、SFNode/MFNode。其中以SF开头的是单值类型,而以MF开头的是多值类型。
(2)节点的定义和引用:在VRML中可以为一个节点定义一个名称,然后在该文件的后续部分可以多次引用。这对需要创造多个造型的VRML特别有用。被定义的节点为原始节点,节点的域在原始节点中应已设定,在引用中这些域值不能修改。
3.路由
路由(Route)的作用是将多个不同的节点绑定在一起,使场景具有动感和交互性。大多数的节点具有输出接口Enent Out和输入接口Enent In。且一些节点通常具有多个不同的输入和输出接口。Enent Out和Enent In也具有一定的数据类型。
路由绑定两个节点后,被绑定的两个节点一直处于休眠状态,直到被触发时事件可以从一个节点传递给另外一个节点。通过多个节点的绑定来创造复杂的路线,以便完成场景中更为复杂的交互。
另外,VRML文件中包含有注释行,它是以#开头的语句。VRML浏览器会将注释行和空行一起忽略掉。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。