10

我正在开发一个管理 VRML 文件的 Web 应用程序。我还想让用户看到上传的文件,而不需要特定的插件或播放器。X3DOM 允许在大多数浏览器上查看没有插件的 X3D 文件,所以我想使用它。

唉,它适用于 X3D 文件,而不是 VRML 文件。我需要将 VRML 文件转换为 X3D 格式。

X3DOM 背后的同一个人发布了一个名为 InstantReality 的包,该包具有将 VRML 转换为 X3D 的实用程序。但是,我宁愿不使用外部实用程序(我什至不确定是否可以在商业环境中使用它,我找不到它的使用条款),而是从我的应用程序代码中调用转换例程.

4

7 回答 7

9

网格实验室有一个名为MeshLab的开源项目,它对3D 网格进行各种处理。它还有一个名为MeshlabServer的命令行工具。

运行meshlabserver.exe -i <wrl file> -o <x3d file>执行转换(非常快)。由于它是开源的,因此我没有任何许可问题。

于 2013-02-18T14:30:43.900 回答
6

你说的是这个在线转换器吗? http://doc.instantreality.org/tools/x3d_encoding_converter/ 您可能会构建一些脚本来将 vrml 转换为 x3d/x3dom,然后存储和/或显示

以及搅拌机 aopt 和其他人应该能够在命令行上将 vrml 转换为 x3d。根据您的服务器操作系统,这也可以是批处理/脚本化的

我急于完成一些其他工作,但希望这会有所帮助。

如果您需要更多信息或示例,请告诉我,看看我能做什么

于 2013-02-13T20:05:57.977 回答
2

好的,所以我认为这是您的完整解决方案

1)用户上传一个vrml文件

2)该文件被保存到(文件或数据库)

3) 在确认 vrml 文件已被保存(并可能验证为正确的 vrml 语法)后,它被转换并保存到 x3d(再次作为文件或 db),使用 aopt 这将通过 aopt -i input.wrl -o 完成输出.x3d

仅供参考:aopt 适用于 linux windows 和 mac

因为你使用 python 这也许是一种你可以用搅拌机做的方式虽然没有 vrml 到 x3d 的完整示例,这个链接应该让你开始 http://wiki.blender.org/index.php/Extensions:2.6/ Py/脚本/导入导出/Wavefront_OBJ#Command_Line_Converting

4) 通过 x3dom 显示 x3d

于 2013-02-16T18:57:29.407 回答
2

我还需要将 VRML .wrl 转换为 .x3d;我试过meshlabmeshlabserver),但不幸的是,我拥有的版本(.deb 2016.12~trusty2在 Ubuntu 14.04 上)将所有内容压缩到一个网格中,并在此过程中失去颜色。

我发现view3dscene可以从命令行进行转换,其中材料/颜色保存在 中.x3d,因为它们在.wrl

view3dscene mymodel.wrl --write --write-encoding xml > mymodel.x3d

由于view3dscene既可以作为文件的查看器.wrl.x3d也可以立即使用它来检查转换后的(或原始)文件是否有颜色。

于 2018-01-11T15:02:08.030 回答
1

如果您只是想将 X3D XML 编码文件转换为 VRML Classic 编码文件,您可以使用 Titania,http ://titania.create3000.de/ 。打开您的 .x3d 文件并将其另存为 .x3dv 或 .wrl。

Titania 还带有一个命令行实用程序 »x3dtidy«,它也可以进行转换。

于 2014-10-11T16:47:39.557 回答
1

您可以使用此工具(可以从命令行运行的 java jar)将 VRML 转换为 X3D:

http://www.deem7.com/vrmlmerge/howto.php

java -jar VrmlMerge-[version].jar -convert inputfile.wrl [outputfile.x3d] 

执照:_

VrmlMerge 可免费用于非商业用途。如果您以某种方式从 VrmlMerge 中赚钱,那么我希望您与我联系以就某些使用条款达成一致。VrmlMerge 是“按原样”提供的,对于它可能对您、您的计算机、文件、数据、妻子、大脑等造成的任何损害,我不承担任何责任。

于 2015-10-28T20:08:23.487 回答
1

由于 ClassicVRML X3D 编码是 VRML97 标准的直接继承者,因此在大多数情况下,您可以复制文件,将.wrl文件扩展名重命名为.x3dv文件扩展名,并将场景标题从

#VRML V2.0 utf8

#VRML V3.3 utf8
PROFILE Immersive

存在许多转换器,包括商业和开源的。完整列表保存在

于 2017-01-21T01:40:51.457 回答