<NavigationInfo type=""EXAMINE" "ANY""/>
<Shape>
<Appearance>
<Material diffuseColor="0 1 0"/>
</Appearance>
<Sphere radius="1.0"/>
</Shape>
<Background skyColor="1 1 1"/>
</Scene>
</X3D>
其中头文档可有可无,Scene语句只能有一个,用来作为场景的根节点,所有场景中的节点都放在Scene根节点中。
3.文件注释
在编写X3D源代码时,为了使源代码结构更合理、更清晰、层次感更强,经常在源程序中添加注释信息。在X3D文档中允许程序员在源代码中的任何地方进行注释说明,以进一步增加源程序的可读性,使X3D源文件层次清晰、结构合理,形成的文档资料符合软件开发要求。
X3D文件注释,在X3D文档中加入注释的方式与XML的语法相同。如:<!--这是一个注释 -->X3D文件注释部分:以一个符号“<!--”开头,以“-->”结束于该行的末尾,文件注释信息可以是一行,也可以是多行,但不允许嵌套。同时,字符串“--”、“<”和“>”不能出现在注释中;浏览器在浏览X3D文件时将跳过注释部分的所有内容;另外,浏览器在浏览X3D文件时将自动忽略X3D文件中的所有空格和空行。
4.文件格式
X3D文件可由文本编辑器编写或由X3D-Edit专用编辑器编写。X3D文件格式分为三种,即x3d、x3dv、x3db,其扩展名为*.x3d或*.x3dv以及*.x3db等类型文件。用X3D编辑器可以直接浏览运行x3dv文件,利用Xj3D浏览器可以浏览x3d、x3dv以及x3db文件。
X3D文件类型(编码格式)有三种形式:
(1)X3D/XML编码格式,产生扩展名为.x3d文件,MIME类型为model/x3d+XML。
(2) X3D/VRML编码格式,产生扩展名为.x3dv文件,MIME类型为model/x3d+VRML。
(3)二进制编码格式,产生扩展名为.x3db文件,MIME类型为model/x3d+binary。
X3D/VRML文件格式有:
(1)*.x3d文件格式是以X3D/XML编码格式。
(2)*.x3dz文件格式是一种gzip压缩的X3D/XML编码格式。
(3)*.x3dv文件格式是以X3D/VRML编码格式。
(4)*.x3dvz文件格式是一种gzip压缩的X3D/VRML编码格式。
(5)*.x3db文件格式是一种X3D二进制编码格式。
文件名 |
扩展名 |
文件名. |
x3d |
文件名. |
x3dv |
文件名. |
x3db |
X3D文件名常用格式:
X3D文件名全称为:*.x3d或*.x3dv或*.x3db。X3D系统的关键技术有:XML编码、构件模型。
五、源程序
由于X3D提供丰富、灵活、快捷的各种文件格式,为充分发挥虚拟现实软件项目开发与设计的效率,利用同一个X3D源程序文件的常用三种不同文件格式进行软件项目开发与设计,在编写X3D源程序时,可以采用以下三种文件格式:
(1)*.x3d源程序文件。
(2)*.x3v源程序文件。
(3)*.x3db二进制源码程序文件。
利用文本编辑器或X3D-Edit专用编辑器直接编写*.x3d源程序,使用Xj3D浏览器或BS Contact VRML/X3D6.2 BS Contact VRML/X3D7.0浏览运行*.x3d、*.x3dv以及*.x3db文件。
X3D文件源程序实例。
利用X3D-Edit专用编辑器直接编写*.x3d源程序,在正确安装X3D-Edit专用编辑器前提下,启动X3D-Edit专用编辑器进行编程。利用X3D基本几何节点、复杂节点编写X3D源程序。在X3D源程序实例/目录下,提供X3D虚拟现实源程序:px3d1.x3d源程序。
【实例源程序】虚拟现实装饰灯三维立体场景造型设计px3d1.x3d源程序,利用X3D基本语法、几何节点开发与设计编写源程序,使用X3D球节点和圆柱节点设计编写,源程序展示如下:
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE X3D PUBLIC "http://www.web3d.org/specifications/x3d-3.1.dtd"
"file:///www.web3d.org/TaskGroups/x3d/translation/x3d-3.1.dtd">
3<!--Warning: transitional DOCTYPE in source .x3d file-->
4<X3D profile="Immersive" version="3.1"
xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="http://www.web3d.org/specifications/x3d-3.1.xsd">
5 <head>
6 <meta content="px3d1.x3d" name="filename"/>
7 <meta content="zjz-zjr-zjd" name="author"/>
8 <meta content="*enter name of original author here*" name="creator"/>
9 <meta content="*enter copyright information here* Example: Copyright (c) Web3D Consortium Inc. 2006" name="rights"/>
10 <meta content="*enter online Uniform Resource Identifier (URI) or Uniform Resource Locator (URL) address for this file here*" name="identifier"/>
11 <meta content="X3D-Edit, http://www.web3d.org/x3d/content/README.X3D-Edit.html" name="generator"/>
12 </head>
13 <Scene>
14 <Background skyColor="0.98 0.98 0.98"/>
15 <Transform translation="0 1.9 0">
16 <Shape>
17 <Appearance>
18 <Material ambientIntensity="0.1" diffuseColor="0 0 1"
19 shininess="0.15" specularColor="0.8 0.8 0.8"/>
20 </Appearance>
21 <Sphere radius="1"/>
22 </Shape>
23 </Transform>
24 <Transform translation="0 0 0">
25 <Shape>
26 <Appearance>
27 <Material ambientIntensity="0.4" diffuseColor="0.5 0.5 0.7"
28 shininess="0.2" specularColor="0.8 0.8 0.9"/>
29 </Appearance>
30 <Cylinder bottom="true" height="6" radius="0.3" side="true" top="true"/>
31 </Shape>
32 </Transform>
33 </Scene>
34</X3D>
源程序说明:
1-12行之前的程序不再赘述,从13-33之间的程序为主程序段,14行程序为背景节点,背景颜色为灰色;15-23行程序是坐标变换节点,用于确定物体造型位置;16-22行程序是模型节点,用于创建三维立体造型;17-20行程序描述三维立体造型的外观材料;21-22行程序是一个几何球节点,创建一个三维立体球形;24-32行程序用坐标变换节点、模型节点,创建一个圆柱体造型;30行程序为圆柱体造型。
虚拟现实装饰灯三维立体场景造型设计运行程序,首先,启动xj3d-browser或BS Contact VRML-X3D浏览器,然后打开“X3D源程序实例/px3d1.x3d”,即可运行虚拟现实装饰灯三维立体场景造型,如图3所示。

图3 虚拟现实装饰灯三维立体造型效果图
六、程序调试
X3D程序调试分为程序的静态调试和动态调试过程两大部分。X3D程序静态调试主要对X3D文件中的语法规范进行检查;X3D程序动态调试是在静态调试的基础上,进行动态调试。也就是运行X3D程序,在程序的执行过程中调试,主要排除软件设计中逻辑推理或算法错误等方面的问题,这种故障的排除需要一定的经验,在软件项目开发与设计过程中不断提高。
在运行BS Contact VRML X3D浏览器时,显示“Direct3D9 Fatal Error: Not enough video memory”,您运行的计算机系统没有足够内存资源。如图4所示。

图4 BS Contact VRML X3D浏览器故障处理
|