Publicar documentación 3D: X3D y X3DOM
Sábado, 16 de Febrero de 2013 23:30
Para profundizar un poco más en las estrategias de publicación de modelos 3D, voy a profundizar un poco, en esta ocasión, en la tecnología X3DOM, que como su nombre deja entrever, se trata de un formato de intercambio de datos 3D orientado a web.
Actualmente la moda de digitalizar artefactos, obras o escenarios tales cómo abrigos rupestres o yacimientos arqueológicos en 3D, se esta extendiendo considerablemente como una práctica, a veces motivada por el afán de la documentación exhaustiva pero muchas otras por el simple alarde tecnológico, promociones de equipos o simple moda. Muchas veces la falta de objetivos claros en la documentación de 3D de patrimonio se le suma la dificultad para hacer públicos dichos modelos 3D por lo que con frecuencia, costosos proyectos de modelado 3D de yacimientos o abrigos rupestres acacaban “cayendo en saco roto” por la dificultades que el 3D tiene para su divulgación. En este punto X3DOM puede ofrecernos una interesante alternativa para hacer llegar nuestro proyectos 3D al público de forma altamente accesible, sin necesidad de plugins ni visores propietarios, eso si a costa de sacrificar un importante grado de detalle en nuestros modelos con el fin de hacer lo más ligero posible nuestros archivos.
X3DOM aunque lanzado entorno a 2010 se puede considerar un proyecto experimental orientado a superar las dificultades de publicación de contenidos 3D en la web de forma accesible, o lo que es lo mismo, sin la necesidad de plugins o visores adicionales, ya que se encuentra perfectamente integrado con HTML5. Dicho estándar de intercambio esta basado en X3D que a su vez se basa en XML, y aunque la conversión entre X3D a X3DOM se puede realizar manualmente podemos usar herramientas como AOPT que acompaña a Instant Player para automatizar el proceso. En MacOsX dicha herramienta se encuentra en la ruta:
Player.app/Contents/MacOS/
Para realizar la conversión podemos usar la siguiente línea de comandos
./aopt -i diosa.x3d -N diosa.html
Las estructuras de X3D y X3DOM son bastante sencillas, por ejemplo para este último podemos tener una estructura muy similar a esta:
<!DOCTYPE html> <html> <head> <meta http-equiv='X-UA-Compatible' content='chrome=1'></meta> <meta http-equiv='Content-Type' content='text/html;charset=utf-8'></meta> <link rel='stylesheet' type='text/css' href='http://www.x3dom.org/x3dom/release/x3dom.css'></link> <script type='text/javascript' src='http://www.x3dom.org/x3dom/release/x3dom.js'></script> </head> <body> <x3d id='x3dElement' showStat='false' showLog='false' width="400px" height="400px"> <scene> <viewpoint centerOfRotation="0 0 -2" position='0.5 -0.8 0' fieldOfView='0.950022'></viewpoint> <background skyColor='0 0 0'></background> <shape> <appearance> <imageTexture url='"diosaTextura6.jpg"'></imageTexture> </appearance> <indexedFaceSet normalPerVertex='false' solid='false' texCoordIndex='...'></coordinate> <normal vector='...'></normal> <textureCoordinate point='...'></textureCoordinate> </indexedFaceSet> </shape> </scene> </x3d> </body> </html>
Y X3D tendría el siguiente formato:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.1//EN" "http://www.web3d.org/specifications/x3d-3.1.dtd"> <X3D profile="Immersive" version="3.1" xsd:noNamespaceSchemaLocation="http://www.web3d.org/specifications/x3d-3.1.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance"> <head> <meta content="diosa.0.mesh_low_6.6_textura.x3d" name="title"/> <meta content="Generated from Meshlab X3D Exported" name="description"/> <meta content="16 febrero 2013" name="created"/> </head> <Scene> <Shape> <Appearance> <ImageTexture url="diosaTextura6.png"/> </Appearance> <IndexedFaceSet coordIndex=”..."/> <Normal vector="...."/> <TextureCoordinate point="..."/> </IndexedFaceSet> </Shape> </Scene> </X3D>
Donde los “...” sustituyen a las largas ristras de números que describen la geometría y textura de nuestros modelos.
Como vemos ambas estructuras se parecen considerablemente con la salvedad que X3DOM incorpora las clásicas etiquetas HTML además de información relativas a las condiciones de visualización de nuestro modelo, desde las características de nuestro Background al punto de vista del observado o viewpoint a través de la cual podemos personalizar el punto de vista que queremos ofrecer inicialmente de nuestro modelo. Además en X3DOM debemos incluir la librería que permite la interpretación de los datos X3D denominada x3dom.js desarrollada por la empresa Fraunhofer, y que por ahora se hace imprescindible para el correcto funcionamiento.
Los documentos X3D se pueden generar fácilmente desde MeshLab y soportan tanto texturas proyectadas en la maya como texturas UV separadas en archivos jpeg o png.
Desafortunadamente el tamaño de dichos archivos es un condicionante importante a la hora de distribuir dichos modelos por la Red, por lo que aunque por X3DOM podemos trabajar con modelos altamente complejos o precisos, el tamaño final que pueden llegar a ocupar dichos datos, imposibilitan en cierta forma la publicación web, por lo que dicha técnica puede servir de utilidad para la publicación de pequeños objetos o modelos, tal y como lo hace el proyecto Europeana a través de su apartado 3D donde se puede acceder a numerosos objetos del Victoria & Albert Museum, donde se pueden observar las posibilidades de dicha técnica. De la misma forma, a través de la propia web de X3DOM se puede acceder a un pequeño showcase de sitios web que integran esta tecnología. Diseñar mayas con el número mínimo de polígonos es esencial para conseguir documentos lo más lijeros posibles, obviamente el sacrificio de texturas y relieves es severo, pero la accesibilidad de esta tecnollogia y la posibilidad de usar texturas UV de calidad fotorealística, hacen de X3DOM una opción a considerar en proyectos de virtualización o divulgación de patrimonio.
Al tratarse de una estrategia perfectamente integrada en DOM (Document Object Model) es posible interaccionar con nuestros modelos a través de las habituales técnicas del mundo del diseño web, como javascript, CSS, etc.
Para ver un ejemplo del funcionamiento de dicha herramienta accede a este enlace: The Queen of Night
Esta tecnología sólo esta soportada por navegadores que dispongan de WEBGL dicha cualidad esta soportada por Firefox y Chrome, en Safari hay que activar explicitamente el soporte WEBGL, pero en Internet Explorer la cosa, como siempre, se complica, pues en un principio no esta claro que IE vaya a dar soporte a WEBGL, en la web de X3DOM puedes leer más sobre el soporte a exploradores
< Prev | Próximo > |
---|