检查、编辑和验证 .x3d 文件

.x3d 文件格式是一种基于 XML 的国际标准(ISO/IEC),用于表示三维图像。该格式,也称为 X3D,最初是为了在计算机图形领域表示三维图像而开发的。 随着时间的推移,其应用范围不断扩大,从虚拟现实(VRML)发展到 CAD 设计、建筑渲染、3D 打印、医学和解剖成像、分子化学结构表示、人体动画等。

Web3D 联盟 维护着 X3D 标准,相关 XML 模式的文档在此处提供。当前版本包含了超过 250 个 XML 元素、超过 100 种简单类型、70 种复杂类型,以及超过 40 组定义的节点。

要准确地描述任何事物,从精密制造的机器零件到细节丰富的虚拟环境,都需要相当的复杂性,尤其是在考虑光照、纹理和视角时!XMLSpy是全球最受欢迎的用于建模、编辑、转换和调试 XML和JSON相关技术的工具,它支持.x3d文件。XMLSpy为所有可能需要检查、交换、使用或验证.x3d文件的用户提供符合标准的工具。下面我们来看一些例子。

首先,我们可以自定义 XMLSpy 工具菜单,创建一个新的菜单项,以便方便地从 .x3d 文件中渲染 3D 图像。我们安装了两个在 web3d.org 上的 X3D 资源 页面上列出的 X3D 播放器,以便我们可以比较它们的结果。这样,我们就可以创建以下用户自定义的菜单选项:

现在我们需要一个 .x3d 文件。网上有很多示例可供参考。美国国立卫生研究院 (NIH) 维护着一个 .x3d 文件库 这些文件包括各种X3D应用,例如化学结构模型、可3D打印的物体,以及细胞组织和生物体的实际渲染图像,您可以在他们的网站上找到这些文件。

我们先从一个可3D打印的形状开始。在下面的截图所示,我们打开了一个文件,并使用“工具”菜单将其也打开在H3DViewer应用程序中:

请注意位于主文本显示区域下方的消息窗口。当您打开 .x3d 文件时,XMLSpy 会自动验证这些文件。在 H3D 视图器中,我们可以拖动图像并旋转,以便更好地观察

这款产品是一种用于口罩的耳部保护装置,可以通过3D打印机制作。它的设计目的是为了减轻佩戴口罩时耳朵后部可能产生的刺激感。

正如我们在第一个截图中所看到的,该文件的大部分内容包含坐标定义,从第14行开始。如果我们要编辑该文件,例如更改对象的颜色,我们可以切换到 XMLSpy 的网格编辑器视图。网格编辑器视图通过一系列嵌套的容器,展示了 XML 文档和 DTD 的层级结构,这些容器可以轻松展开和折叠。为了专注于文档的其他特性,并避免意外更改任何形状的值,我们将包含所有形状坐标的容器保持折叠状态。

以下截图展示了在网格编辑器中,当我们双击“形状”元素时会发生的情况:

XMLSpy 会弹出一个窗口,显示所有其他与当前文件位置的 Group 元素相对应的、在 schema 中定义的有效子元素。 如果您需要创建或修改用于 CAD 软件或第一人称沉浸式游戏场景的 .x3d 样板文件,了解这些信息会很有帮助。

让我们修改这个文件中定义的对象的颜色。当我们点击编辑“Material”元素中“diffuseColor”属性的值时,XMLSpy会根据XML Schema提供默认值。我们可以选择接受默认值,也可以输入新的数值。

XMLSpy 软件提供了一个选项,可以在编辑过程中验证 .x3d 文件。如果我们在文件中输入 "3 3 3" 并尝试保存,XMLSpy 会立即检测到错误:

该属性的值必须都小于1。我们可以输入0.3、0.2和0.1,然后在H3D查看器中重新加载图像

现在,这个物件的颜色已经变成了青铜色,而不是蓝色。

美国国立卫生研究院(NIH)网站和其他地方的资料展示了其他X3D应用。以下展示的是瑞德西韦的化学模型,这是一种可能的埃博拉和新冠病毒治疗药物。与耳罩模型不同,该模型的形状定义方式截然不同

如果您足够勇敢,甚至可以直面所有人类的共同敌人:

将 .x3d 文件转换为 JSON 格式

Web3D 联盟正在完成一项关于以 JSON 格式存储 X3D 数据的标准,并已发布了一份 XSL 样式表 将 .x3d 文件转换为 JSON 格式. XMLSpy 包含非常快速的 RaptorXML XSLT 3.0 处理器,您可以将其与 Web3D XSL 样式表结合使用,以尝试文件转换。

首先,我们可以在 XMLSpy 的“选项”对话框中更改 XSLT 处理的默认文件扩展名:

我们还取消了“验证 XML 文件”的选项,因为我们在编辑过程中一直在进行验证。

然后,打开一个 .x3d 文件后,您可以按 F10 键,或者在“XSL/XQuery”菜单下选择“XSL 转换”选项。

转换完成后,生成的 JSON 文件将在新窗口中打开。下图展示了从 NIH 面罩耳挂转换而成的 JSON 文档,分别以 XMLSpy 的文本视图和 JSON 网格编辑器视图显示:

如果您需要检查、编辑或验证 .x3d 文件,请访问 XMLSpy 演示 页面,那里有更多视频和深入教程,内容涵盖网格编辑器以及 XMLSpy 的许多其他功能。 当您准备好沉浸在由 .x3d 文件定义的 3D 环境中时,可以下载 XMLSpy 的免费 30 天试用版