Examinar, editar y validar archivos .x3d

El formato de archivo .x3d es un estándar basado en XML, desarrollado por la ISO/IEC, para la representación de imágenes tridimensionales. También conocido como X3D, los archivos .x3d se originaron como una forma de representar imágenes 3D para gráficos por ordenador. Con el tiempo, sus aplicaciones se han expandido desde la realidad virtual (VRML) hasta el diseño CAD, la representación arquitectónica, la impresión 3D, la imagenología médica y anatómica, la representación de estructuras químicas moleculares, la animación humana, y mucho más.

El Consorcio Web3D mantiene el estándar X3D, con esquemas XML documentados aquí. Las versiones actuales incluyen definiciones de más de 250 elementos XML, más de 100 tipos simples, 70 tipos complejos y más de 40 grupos de nodos definidos.

Se requiere esa complejidad para describir con precisión cualquier cosa, desde una pieza de maquinaria fabricada con precisión hasta un entorno virtual con gran riqueza de detalles, especialmente teniendo en cuenta la iluminación, la textura y el punto de vista. XMLSpy, la herramienta más popular del mundo para modelar, editar, transformar y depurar tecnologías relacionadas con XML y JSON, es compatible con archivos .x3d. XMLSpy ofrece herramientas basadas en estándares para cualquier persona que necesite examinar, intercambiar, utilizar o validar archivos .x3d. Veamos algunos ejemplos.

Primero, podemos personalizar el menú de herramientas de XMLSpy para crear una nueva opción de menú que permita visualizar de forma cómoda imágenes 3D a partir de archivos .x3d. Instalamos dos reproductores de X3D que aparecen en la página Recursos X3D de web3d.org, para poder comparar los resultados en cada uno. Esto crea las siguientes opciones de menú definidas por el usuario:

Ahora necesitamos un archivo .x3d. Hay muchos ejemplos disponibles en línea. El Instituto Nacional de la Salud (NIH) mantiene una biblioteca de archivos .x3d en su sitio web. Estos archivos incluyen una variedad de aplicaciones X3D, que abarcan desde modelos de estructuras químicas, objetos imprimibles en 3D, hasta representaciones reales de tejidos celulares y organismos.

Comencemos con una forma imprimible en 3D. En la captura de pantalla que se muestra a continuación, abrimos un archivo y, utilizando el menú Herramientas, también lo abrimos en la aplicación H3DViewer:

Observe la ventana de mensajes que se encuentra debajo de la pantalla principal de texto. XMLSpy validará automáticamente los archivos .x3d cuando los abra. En el visor H3D, podemos seleccionar la imagen y rotarla para verla mejor

Este objeto es un dispositivo que se coloca detrás de las orejas para evitar la presión y la irritación causadas por las mascarillas. Puede ser impreso en una impresora 3D. Está diseñado para proteger la piel detrás de las orejas de los usuarios de mascarillas.

Como vimos en la primera captura de pantalla, la mayor parte del archivo contiene definiciones de coordenadas, que comienzan en la línea 14. Si quisiéramos editar el archivo, por ejemplo, para cambiar el color de un objeto, podríamos optar por utilizar la vista "Editor de cuadrícula" de XMLSpy. Esta vista muestra la estructura jerárquica de los documentos XML y los DTD a través de un conjunto de contenedores anidados que se pueden expandir y contraer fácilmente. Dejaremos el contenedor que contiene todas las coordenadas de las formas colapsado para centrarnos en otras características del documento y evitar cambiar accidentalmente los valores de ninguna forma.

La captura de pantalla que se muestra a continuación ilustra lo que ocurre en el editor de cuadrícula cuando hacemos doble clic en el elemento "Forma":

XMLSpy abre una ventana emergente que muestra un asistente con una lista de todos los demás elementos definidos en el esquema que son elementos secundarios válidos del elemento "Group" en esa ubicación del archivo. Esto puede ser útil si se le ha asignado la tarea de crear o modificar un archivo .x3d de prueba para un entorno de diseño asistido por ordenador (CAD) o una escena en un juego inmersivo en primera persona.

Vamos a cambiar el color del objeto definido en este archivo. Cuando hacemos clic para editar los valores del atributo "diffuseColor" del elemento "Material", XMLSpy ofrece el valor predeterminado según el esquema XML. Podemos aceptar el valor predeterminado o introducir un nuevo valor.

XMLSpy incluye una opción para validar los archivos .x3d durante la edición. Si escribimos "3 3 3" e intentamos guardar el archivo, XMLSpy detecta inmediatamente un error:

Los valores para este atributo deben ser menores que 1. Podemos introducir 0.3, 0.2 y 0.1, y luego recargar la imagen en el visor H3D:

El objeto ahora es de color bronce en lugar de azul.

Otros archivos en el sitio web del NIH y en otros lugares muestran otras aplicaciones de X3D. A continuación, se muestra el modelo químico del remdesivir, un posible tratamiento para el ébola y la Covid-19. Esta forma se define de manera muy diferente a la del protector para las orejas:

Si se atreve, incluso puede enfrentarse al enemigo de toda la humanidad:

Conversión de archivos .x3d a formato JSON

El Consorcio Web3D está finalizando una norma para almacenar archivos X3D en formato JSON y ha publicado una hoja de estilo XSL para convertir archivos .x3d a JSON. XMLSpy incluye el procesador XSLT 3.0 RaptorXML, que es muy rápido y que puede utilizarse con la hoja de estilo XSL de Web3D para probar la conversión de archivos.

Primero, podemos cambiar la extensión de archivo predeterminada en el cuadro de diálogo de opciones de XMLSpy para el procesamiento de XSLT:

También desactivamos la opción de "Validar archivos XML", ya que hemos estado validando continuamente durante el proceso de edición.

Luego, con un archivo .x3d abierto, presione la tecla F10 o seleccione la opción "Transformación XSL" en el menú "XSL/XQuery".

La transformación se realiza y el archivo JSON resultante se abre en una nueva ventana. La imagen que se muestra a continuación ilustra el documento JSON generado a partir del modelo de mascarilla con protección para las orejas del NIH, tanto en la vista de texto de XMLSpy como en la vista del editor de cuadrícula JSON:

Si necesita examinar, editar o validar archivos .x3d, visite la página de demostraciones de XMLSpy para ver más vídeos y tutoriales detallados sobre el editor de cuadrícula y muchas otras funciones de XMLSpy. Cuando esté listo para sumergirse en un entorno 3D definido por un archivo .x3d, descargue una versión de prueba gratuita de XMLSpy, con una duración de 30 días.