Преобразование VRML в X3D

Я работаю над веб-приложением, которое управляет VRML файлами. Я также хочу, чтобы пользователи видели загруженные файлы, не требуя определенного подключаемого модуля или проигрывателя. X3DOM позволяет просматривать файлы X3D без подключаемых модулей в большинстве браузеров, поэтому я хотел бы использовать его.

Увы, он работает с файлами X3D, а не с файлами VRML. Мне нужно преобразовать файлы VRML в формат X3D.

Те же люди, стоящие за X3DOM, выпустили пакет под названием InstantReality, в котором есть утилита, которая преобразует VRML в X3D. Тем не менее, я бы предпочел не использовать внешнюю утилиту (я даже не уверен, что мне разрешено использовать ее в коммерческой среде, я не мог найти ее условия использования), но вызывать процедуру преобразования из моего кода приложения,

Ответ 1

MeshLab! Существует проект с открытым исходным кодом MeshLab, который выполняет все виды обработки трехмерных сеток. Он также имеет инструмент командной строки под названием MeshlabServer.

Запуск meshlabserver.exe -i <wrl file> -o <x3d file> выполняет преобразование (очень быстро). Поскольку у меня открытый исходный код, у меня нет проблем с лицензированием.

Ответ 2

вы говорите об этом онлайн-конвертере? http://doc.instantreality.org/tools/x3d_encoding_converter/, возможно, вы могли бы создать некоторые скрипты для преобразования vrml в x3d/x3dom, а затем сохранить и отобразить

а также blender aopt и другие должны иметь возможность конвертировать vrml в x3d в командной строке. в зависимости от ваших серверов. os можно также загрузить

im в спешке, чтобы получить некоторые другие работы, но надеюсь, что это поможет.

сообщите мне, если вам нужна дополнительная информация или примеры, и я вижу, что я могу сделать

Ответ 3

ОК, так что я думаю, что это полное решение для вас

1) пользователь загружает файл vrml

2) этот файл сохраняется в файле (файл или db)

3) после подтверждения того, что файл vrml был сохранен (и, возможно, подтвержден как правильный синтаксис vrml), он преобразуется и сохраняется в x3d (снова как файл или db), причем это можно сделать с помощью aopt -i input.wrl [ CN01] output.x3d

FYI: aopt - для окон linux и mac

так как вы используете python, это может быть способ, которым вы могли бы это сделать, а также с blender, хотя нет полного примера vrml для x3d. Эта ссылка должна начать вас. http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Импорт-Экспорт/Wavefront_OBJ # Command_Line_Converting

4) отобразить x3d через x3dom

Ответ 4

Мне также нужно было преобразовать VRML.wrl в.x3d; Я попробовал meshlab (meshlabserver), но, к сожалению, версия, которую я имею (.deb 2016.12~trusty2 на Ubuntu 14.04), сжимает все до одной сетки и теряет цвет в процессе.

Я обнаружил, что view3dscene может выполнять преобразование из командной строки, где материалы/цвета сохраняются в .x3d, так как они были в .wrl:

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

Поскольку view3dscene функционирует как программа для просмотра как .wrl и .x3d файлов, она также может быть использована немедленно, чтобы проверить, если конвертируются (или оригинал) файл имеет цвета или нет.

Ответ 5

Если вы просто хотите конвертировать X3D XML-кодированные файлы в VRML Classic закодированные файлы, вы можете использовать Titania, http://titania.create3000.de/. Откройте файл.x3d и сохраните его как.x3dv или.wrl.

В Titania также есть утилита командной строки "x3dtidy", которая также может выполнять преобразование.

Ответ 6

Вы можете использовать этот инструмент (java jar, который может быть запущен из командной строки) для преобразования VRML в X3D:

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

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

Лицензия:

VrmlMerge является бесплатным для некоммерческого использования. Если вы как-то заработаете деньги из VrmlMerge, тогда я хочу, чтобы вы связались со мной, чтобы договориться о некоторых условиях использования. VrmlMerge предоставляется "как есть", и я не несу ответственности за любой ущерб, который он может вам принести, ваш компьютер, файлы, данные, жена, мозг и т.д.

Ответ 7

Поскольку ClassicVRML X3D Кодирование является прямым преемником стандарта VRML97, в большинстве случаев вы можете скопировать файл, переименовать .wrl расширение файла на расширение .x3dv файла и изменить заголовок сцены из

#VRML V2.0 utf8

в

#VRML V3.3 utf8
PROFILE Immersive

Существует множество преобразователей, как коммерческих, так и открытых. Полный список поддерживается на