<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: on the code</title>
    <description>The latest articles on DEV Community by on the code (@onthecode).</description>
    <link>https://dev.to/onthecode</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3257514%2F43a04053-3f6d-4a6d-9ed9-f34d30ac4ff5.png</url>
      <title>DEV Community: on the code</title>
      <link>https://dev.to/onthecode</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/onthecode"/>
    <language>en</language>
    <item>
      <title>Cómo integrar modelos 3D en tu sitio web utilizando sólo HTML y CSS</title>
      <dc:creator>on the code</dc:creator>
      <pubDate>Thu, 12 Jun 2025 07:16:06 +0000</pubDate>
      <link>https://dev.to/onthecode/como-integrar-modelos-3d-en-tu-sitio-web-utilizando-solo-html-y-css-3a1i</link>
      <guid>https://dev.to/onthecode/como-integrar-modelos-3d-en-tu-sitio-web-utilizando-solo-html-y-css-3a1i</guid>
      <description>&lt;p&gt;En este articulo quiero mostrarte como visualizar elementos 3d en tu sitio web de una forma muy simple.&lt;/p&gt;

&lt;p&gt;Tengo un video al respecto, si te interesa podes verlo, y si no también voy a ir a paso a paso en este articulo.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/mSB2scT6fTY?start=156"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Vamos con el paso a paso:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Cómo conseguir un modelo 3d para tu web
&lt;/h2&gt;

&lt;p&gt;La internet esta llena de modelos 3d para descargar de forma gratuita o de pago. Un lugar muy conocido es &lt;a href="https://sketchfab.com/feed" rel="noopener noreferrer"&gt;sketchfab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg7gkoemcdsv9bxkg15rj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg7gkoemcdsv9bxkg15rj.png" alt="sketchfab website"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;yo encontré un dragon 3D muy bueno y me lo pude descargar de forma gratuita (agradecimientos al creador del modelo en el video)&lt;/p&gt;

&lt;p&gt;Te recomiendo descargar con el formato en formato .gltf o .glb&lt;/p&gt;

&lt;p&gt;Si descargas .glb se te va a descargar directamente un archivo con la extensión .glb. En cambio con .gltf se te va a descargar una carpeta con varios archivos dentro, hay que descomprimirla. Si bien el importante es es el scene.gltf no elimines ningún archivo, dependen uno de otro y esta bien dejarlos dentro de la carpeta.&lt;/p&gt;

&lt;p&gt;Una vez que tenes tu modelo 3D vamos al paso dos:&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Cómo insertar un modelo 3D en el HTML
&lt;/h2&gt;

&lt;p&gt;No existe por default una etiqueta HTML que pueda cargar elementos 3D en la web, sería un sueño, pero lo bueno es que google se encargo de solucionar esto creando una poderosa etiqueta web llamada &lt;a href="https://modelviewer.dev/" rel="noopener noreferrer"&gt;model-viewer&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Qué es model-viewer?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo054pm0o8wm9znhg8xgu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo054pm0o8wm9znhg8xgu.png" alt="model-viewer website"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;model-viewer&amp;gt;&lt;/code&gt; Es un componente web que te permite incrustar modelos 3D directamente en tu HTML sin necesidad de librerías como Three.js. Es compatible con los principales navegadores modernos y soporta formatos como .glb y .gltf.&lt;/p&gt;

&lt;p&gt;Como dice la documentación en la pagina de &lt;a href="https://modelviewer.dev/" rel="noopener noreferrer"&gt;model-viewer&lt;/a&gt; hay que importarse el script con el componente model viewer y luego de ello ya se puede usar &lt;code&gt;&amp;lt;model-viewer&amp;gt;&lt;/code&gt; como cualquier otro elemento de HTML.&lt;/p&gt;

&lt;p&gt;Hay que tener en cuenta que como estamos trabajando sin ningun framework, solo con un poco de HTML. Entonces tenemos que visualizar nuestro proyecto levantando un servidor, sin un servidor esto no funciona. La extension &lt;a href="https://marketplace.visualstudio.com/items?itemName=ritwickdey" rel="noopener noreferrer"&gt;live server&lt;/a&gt; es mas que suficiente.&lt;/p&gt;

&lt;p&gt;Entoces:&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Insertar el modelo 3D en el HTML con model-viewer
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1.0"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Document&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- Use it like any other HTML element --&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;model-viewer&lt;/span&gt;
    &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"shenron_dragon_ball/scene.gltf"&lt;/span&gt;
    &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"avatar"&lt;/span&gt;
    &lt;span class="na"&gt;shadow-intensity=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;
    &lt;span class="err"&gt;camera-controls&lt;/span&gt;
     &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/model-viewer&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- Import the component --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;script&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"module"&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://ajax.googleapis.com/ajax/libs/model-viewer/4.0.0/model-viewer.min.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;El elemento &lt;code&gt;&amp;lt;model-viewer&amp;gt;&lt;/code&gt; tiene varios atributos y propiedades que se pueden utilizar. Se pueden encontrar dentro del apartado de &lt;a href="https://modelviewer.dev/docs/index.html" rel="noopener noreferrer"&gt;API REFERENCE&lt;/a&gt; de la documentación.&lt;/p&gt;

&lt;p&gt;Pero los mas elementales para agregar casi de forma obligatoria son los siguientes&lt;/p&gt;

&lt;p&gt;&lt;code&gt;src&lt;/code&gt; Para poner la ruta de nuestro archivo 3d, si descargaste glb sera simplemente el archivo. Si descargaste gltf entonces la ruta sera a la carpeta descargada y dentro de ella al archivo scene.gltf&lt;/p&gt;

&lt;p&gt;Hay que tener mucho cuidado de no fallar con la ruta del archivo 😅&lt;/p&gt;

&lt;p&gt;&lt;code&gt;shadow-intensity&lt;/code&gt; Es quien controla la opacidad de la sombra del modelo 3d, si por ejemplo dejaras el valor en 0, debería desactivar la sombra por completo.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;camara-controls&lt;/code&gt; Le permiten al usuario mover y controlar al modelo 3d&lt;/p&gt;

&lt;p&gt;Pero hay muchos otros que te van a encantar si te da ganas de probarlos :) búscalos aca: &lt;a href="https://modelviewer.dev/docs/index.html" rel="noopener noreferrer"&gt;API REFERENCE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;También al model-viewer se le pueden aplicar estilos sin problemas, a modo de ejemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
   model-viewer {
       width: 100vw;
       height: 100vh;
   }
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Comentarios finales
&lt;/h2&gt;

&lt;p&gt;Queda marcar que model-viewer es compatible con las últimas versiones principales de todos los navegadores.&lt;/p&gt;

&lt;p&gt;Los únicos limites están en si lo queres utilizar en modelos de realidad aumentada especialmente con los navegadores safari y mozilla. Pero con 3D todo funciona de maravilla!&lt;/p&gt;

&lt;p&gt;Eso es todo y muchas gracias!&lt;/p&gt;

&lt;p&gt;Saludos, Pablo&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>spanish</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
