Cómo crear datos 3D para klar.land

·

·

Aquí te explicamos qué opciones están disponibles actualmente en klar.land para mostrar datos 3D y cómo deben procesarse los datos en consecuencia para conseguir resultados satisfactorios.

Programm

Recomendamos el programa blender para la generación de datos 3D.

Se exporta un archivo glb desde blender, que debe contener las texturas bakeadas y todas las animaciones y materiales comprimidos lo mejor posible.

El mejor rendimiento de la visualización 3D en el navegador web se consigue mediante la mayor compresión y reducción posibles de los componentes/vértices. Esto sirve, en última instancia, a la experiencia positiva del usuario.

Formato de los datos

klar.land procesa datos en formato glb/gltf con nombres de objetos específicamente enumerados en ellos, que sirven de base para la interacción. La designación se indica más adelante en este manual.

Cargar datos

A través del menú de administración, las personas con los derechos de acceso adecuados pueden crear un nuevo «escenario» para cargar los datos 3D.

Para ello, puedes cargar el archivo glb en el campo previsto simplemente arrastrando y soltando. La barra de carga muestra el progreso de la carga. Mientras esto esté en marcha y la carga aún no se haya completado, la ventana del navegador no debe cerrarse.

En el campo de texto «JSON» se definen los comandos de interacción individuales para el archivo glb/gltf y el entorno 3D. Las distintas posibilidades de configuración y ajuste del «Escenario» se encuentran en las instrucciones JSON.

Material

1. Para los materiales cambiables, hay que crear un objeto llamado «MaterialHolder» que contenga todos los materiales entre los que se puede cambiar.

Cámara

La cámara inicial (la vista que ves al cargar la escena) debe llamarse Defaultcam.

2. todos los demás nombres de cámara deben terminar en cam.

Iluminación

1. los nombres de las arealuces deben empezar por Arealight y

2. luces puntuales con luz puntual.

Objetos

Los nombres de los objetos también deben asignarse a las mallas correspondientes.

Si varios objetos tienen el mismo nombre, por ejemplo en el caso de varios huevos, los nombres serán «Huevo_1, Huevo_2, Huevo_3», etc.

3. los objetos deben tener una escala de 1 antes de la exportación.

Para objetos con texturas de vídeo, se recomienda crear planos simples (rectángulos) con mapeado UV estándar. Éstos deben tener materiales diferentes si se van a mostrar distintos objetos con distintos vídeos cada uno. Los objetos con los mismos materiales también reciben el mismo vídeo.

Material/Texturas

1. para los materiales de vidrio, el nombre debe empezar por Vidrio.

2. Los mapas de oclusión ambiental horneados serían importantes para el rendimiento, ya que el cálculo dinámico de las sombras es intensivo desde el punto de vista computacional.

3. se utiliza un nodo especial, no estándar en Blender, para los Mapas de Oclusión Ambiental horneados. Lo mejor es extraerlo de un archivo blend existente. Si no tienes un archivo de mezcla adecuado, ponte en contacto con nosotros.

Navegación en el escenario

Si se desea navegar por el suelo (es decir, hacer clic en cualquier parte del suelo), el objeto suelo debe llamarse «_suelo» y el pivote del objeto debe estar centrado. Atención: en la jerarquía de Blender, sólo el objeto malla debe llamarse «_suelo».

Como alternativa al objeto _suelo, también puedes nombrar un objeto como «_navMesh». Se hace invisible automáticamente y, mediante el parámetro «userScale» del código Json, puedes especificar la altura deseada en metros por encima de la _navMesh. Así, en comparación con el objeto _suelo, se tienen más posibilidades de adaptación.

Para apartamentos/habitaciones o similares, se recomienda utilizar groundpots. Entre otras cosas, impiden la navegación contra las paredes. Para ello, basta con crear varios planos (=rectángulos) sin material justo encima del objeto suelo llamado «_suelo», que contengan la cadena «suelopunto» en sus nombres. Además, el código Json debe contener lo siguiente:

{
  "Stage3dData": [
    {
	  "navigationmode":2,
	  .....
    }
  ]
}
Navegación mediante Groundspots

Animaciones

Los nombres de las animaciones deben empezar por el nombre del objeto correspondiente.

Así, por ejemplo

Huevo_1 vuela sobre la mesa del comedor

Huevo_2 en olla

IMPORTANTE: ¡Asegura la coherencia en la denominación de animaciones y objetos! ¡Tanto durante la creación como durante el postprocesado/cambios!

¡No dupliques las animaciones!

Información en una lista separada para las animaciones:

1. nombre de la animación (cualquier nombre de animación)

2. grupo de animación (si se puede hacer clic en varios objetos después de hacer clic en un objeto, todos deben tener el mismo nombre de grupo).

3. capa de animación (se pulsa el botón y la cámara vuela al punto de la cámara => capa 0, se pulsa el objeto y se reproduce la animación => capa 1, se pulsa el subobjeto y se reproduce)

4. estado de la animación (si se quiere reproducir una animación diferente cuando se vuelve a hacer clic sobre un objeto que cuando se hizo clic sobre él la primera vez, se debe asignar a la primera animación el estado 0 y a la segunda el estado 1 (por ejemplo, primer clic => la puerta se abre, segundo clic => la puerta se cierra).

5. objeto desencadenante de la animación (objeto que debe desencadenar la animación al hacer clic)

6. Cámara de animación (cámara a la que se cambiará cuando se pulse el objeto activador).

7. animaciones con código de tiempo (los nombres exactos de las animaciones tal y como figuran en el programa 3D, incluidos los códigos de tiempo en que deben reproducirse).

(para más información sobre las animaciones y su denominación, consulta las instrucciones JSON).