Introducción a hauzd - Parte 2

Introducción a hauzd - Parte 2


INFORMACIÓN MUY IMPORTANTE
Si estás usando la versión del editor 1.06.130 o más reciente, puedes importar tu escenas mucho más rápido:

• NO necesitas usar los prefixes geom_ o obj_
• NO necesitias hacer UV unwrap del canal 2 en cada elemento geométrico.
• NO necesitas definir una resolución o el tag BAKE=XXX 
• La mayoría de los errores de nombre son resueltos automáticamente en el proceso de importación.



Introduction to Hauzd - Part 2

Bienvenido a la segunda parte de nuestro entrenamiento! Te perdiste el primero? INGRESA ACÁ.

En esta oportunidad cubriremos todas las técnicas de modelado y preparación para importar sus escenas a hauzd Engine.

Esta es la primera parte del proceso de producción para crear un proyecto 3D interactivo.

Necesitaremos 3ds Max para crear todos nuestros archivos de arquitectura y exportar cada escena como .fbx, actualmente, este es el único software compatible con nuestros scripts y nuestro motor.

Por qué necesitamos modelado Low Poly?  

El producto final de Hauzd está diseñado y desarrollado para funcionar sin problemas en cualquier dispositivo, teléfonos inteligentes de gama media, PCs de gama baja, televisores inteligentes modernos, pantallas táctiles y más, la mayoría de los requisitos de los motores de juegos son costosos hardware de alta gama, este no es el caso con nuestro motor, por lo que debemos preparar nuestras escenas para que se ejecuten correctamente para el renderizado en tiempo real.

hauzd Engine puede ejecutar grandes proyectos con grandes masterplans y cientos de unidades, pero siempre debe tener en cuenta que debe garantizar a su cliente un buen rendimiento en todos los dispositivos disponibles.


Técnicas de Optimización

Nuestro motor usará la cuenta de tris como polycount final, puede inspeccionar este número yendo a Configure Viewport, Statistics y marcar "show".

Puede descargar e inspeccionar nuestra biblioteca para comprender cuántos polys recomendamos para cada tipo de objeto y verificar cómo están creados..

Cada objeto de escena Interior debe tener el asset 3D (objeto físico) y el objeto 2D que se utilizará para la opción de plano 2D.

3d Object
2d Object


Intenta usar siempre la cantidad más baja y precisa de poli necesaria para un objeto para que no se vea grueso, pero tenga en cuenta que estos activos se verán desde una cierta distancia, puede eliminar las caras inferiores o la geometría que el usuario no Alguna vez has visto.

También puede eliminar todos los detalles pequeños y crearlos como texturas utilizando el mapa de textura, con este método, puede agregar tantos detalles como desee. Puede crear estas texturas en Photoshop o en cualquier otro software de creación de imágenes, siempre usa dimensiones POWER OF TWO.


DIMENSIONES POWER OF TWO 

64x64
128x128
256x256
512x512
1024x1024
2048x2048





Evite usar más de 3000 tris en un objeto, guarde este número para algo realmente importante y un elemento altamente detallado de la escena.


Convenciones de Nombre


La convención de nombres para sus objetos 3d es:

prefijo_NombreDeObjeto(TAG,TAG)Numero

Numero se agrega al nombre de su objeto y lo ayudará a mantener su escena organizada, el motor Hauzd necesita nombres únicos para todos los objetos 3D, por lo que tener este número evitará errores de nombres duplicados.

Utilizará TAGS para definir algunas opciones e instrucciones del motor para sus Objetos 3d, los más utilizados son:

  1. BAKE = XXXX, este tag es uno de los más importantes, se usará para hacer bake a las luces y las sombras en su objeto, el valor de XXXX será la resolución para su lightmap, esto será independiente de su atlas de textura y de acuerdo para el tamaño de su objeto, un objeto pequeño puede usar un valor de 64, y un objeto grande como un piso de escena completo puede usar un valor de 1024, debe ser también acorde a las dimensiones de Power Of Two.



 

El motor Hauzd hará todo lo posible para trazar automáticamente los objetos transparentes de manera correcta, pero puede aplicar las etiquetas TRANS y SORT a ciertas situaciones:

  1. TRANS=XXX  Esta etiqueta y valor se utilizan para ordenar la Transparencia. El valor de la transparencia de forma predeterminada para todos los objetos transparentes es 128. El motor Hauzd utiliza dibujado de atrás hacia adelante, por lo que el valor más bajo se dibujará primero y el valor más alto se dibujará de último. Por lo tanto, el objeto que desea dibujar directamente en frente de la cámara, debe tener el valor más alto y el objeto que está más lejos debe tener el valor más bajo.
Correct Back to Front Drawing
Correct Back to Front Drawing

Incorrect Back to Front Drawing

Incorrect Back to Front Setting

  1. SORT: Este TAG se usa para ordenar triángulos dentro de un solo objeto, esto almacenará automáticamente en caché múltiples órdenes de triángulos en función de diferentes ángulos de cámara, esto es particularmente útil para la geometría del follaje para evitar artifacts.
  1. MIRROR=10 Este TAG es para crear un plano de reflexión en el piso de su planta, solo funcionará con geometría plana y es costoso en rendimiento, así que úselo con cuidado.

MIRROR=10 Tag Active
NO mirror Tag


También debe establecer ciertos PREFIJOS para identificar qué tipo de asset es:

  1. obj_ esto marcará su asset como un "OBJETO 3D", cualquier asset marcado como "obj" en el motor, podrá ser utilizado como un intanceable y compartido entre escenas dentro del motor, esto ahorra mucha memoria y Optimiza el rendimiento.
  2. geom_ Recomendamos utilizar este prefijo para toda su geometría estructural no instanciable, terreno, paredes, techo, pisos o estructura parte de su edificio, casa o apartamento.
  3. plan_ Este prefijo es para la geometría que actuará como planos 2d en el motor. Si creó su plano de la estructura de la planta utilizando el Wall Generation Script, toda la geometría destinada al 2d se generará automáticamente con este prefijo.
  1. planObj_ este prefijo actúa igual que el "plan_", pero "planObj_" está destinado a mobiliario o representación de "accesorios", cualquier cosa que no sea paredes, puertas, ventanas o parte de la estructura del plano estructural debe tener este prefijo para que el motor pueda distinguir entre estas 2 categorías y poder ocultarlas si lo desea al visualizar las mediciones del apartmento.
  2. planDim_ Solo agregará este prefijo a las líneas (splines) que usará para marcar las medidas de su plano.
  3. part_ Este prefijo es para marcar cualquier geometría que se pretenda resaltar cuando se seleccione, en la mayoría de los casos usará el prefijo "part_" para marcar ventanas de apartamentos en la escena exterior de su edificio o pisos en los keyplan.
  4. partColl_ Este prefijo funciona junto con el prefijo "part_", ya que ningún objeto de geometría podrá resaltarse si no se selecciona primero, y el prefijo "partColl_" es preciso para marcar un objeto de geometría como un "volumen seleccionable" para que el el motor puede detectar su Collition para que los usuarios puedan tocarlo.

partColl_ object
part_ on Window Object

part_ and partColl_ in action


  1. cam_ Usarás este prefijo para marcar el objeto que usará el engine como referencia para la cámara con la que manipularás la vista 3d y el objeto.
  2. camLoc_ Este prefijo funciona exactamente como el objeto "cam" pero "camLoc_" está destinada a marcar el objeto NURB que será usado como referencia para la cámara de los Puntos de Interés.

cam_ object
camLoc_ Object


A diferencia de los motores de juego normales, con Hauzd puede tener un número prácticamente ilimitado de fuentes de luz en su escena, tendrá 2 prefijos para identificarlos.

  1. sun_ Este prefijo marcará su luz Omni como una "luz solar" que será reconocida por el motor.
  2. light_ Esto marcará elementos de luz estándar como iluminación interior.

Configuración de Materiales 

En este momento, solo los materiales estándar son compatibles con el motor, necesitaremos usar un atlas de texturas que contenga los mapas que necesita para varios objetos, debemos SIEMPRE usar Power of Two Dimensions, con un espacio apropiado, podemos organizar todos nuestros mapas diferentes dentro de ese lienzo.

Puede usar Photoshop para ensamblar su atlas y, para definir el valor de reflexión, puede usar el valor de opacidad, siendo 2 el valor más bajo para la reflectividad y 100 el valor más alto. Aprenderemos a usar esto un poco más tarde.

Por ahora, solo puede usar el input de diffuse para su color y valor de reflexión, y el input ALPHA si el objeto tiene algún tipo de transparencia basada en textura.

Para organizar mejor nuestras escenas, configuraremos un Material Multi/Sub , que contendrá nuestros materiales para que podamos asignarlos en la sección de "Material ID" de la geometría. Las convenciones de nombre para este material serán:

nombredematerial(TAG=0.0,TAG

Utilizará TAGS para definir algunas opciones para sus materiales, las más utilizadas son:

ENVMAP Esto activará la reflexión y usará el objeto envmap en función del valor especular o el valor de opacidad png que asignó en Photoshop.

ENVPULL=X.X esta etiqueta es para que el reflejo de el envmap no permanezca fijo con la cámara, el valor recomendado es 0.7

BAKEOPAC=X.X  este tag hace que el material sea translúcido a la luz que recibe, un valor de 1.0 impedirá que la luz pase a través del objeto y creará una sombra sólida, un valor de 0, hará que no castee sombras.

TWOSIDE Esta etiqueta hará que el material gire los polígonos del objeto visibles por sus 2 lados.


Lightmaps



Para configurar y usar los lightmaps, primero, en el proceso de modelado, debe agregar un segundo canal UV donde se realizará el bake de las sombras, puede usar nuestro script para esto, asegúrese de que ninguna de las partes de los UV se superpongan, esto puede causar visualizaciones extrañas o artifacts, después de configurar las etiquetas, debe ejecutar el comando "BAKE" en nuestro motor y esperar unos minutos, después de que esté listo, puede hacer clic en VIEW y ver los resultados.

Si se ve pixelado, sucio o con ruido, puede aumentar la resolución en la etiqueta de BAKE y ejecutar el comando nuevamente.



Instalación de scripts y descripción general

Para 3ds max, debe ir a su carpeta de script y copiar todo el contenido dentro de ella, de esta manera, el script hauzd principal se cargará cada vez que abra el software.

Desde este script puede exportar su escena correctamente y hacer los unwraps correspondientes de canales UV.

De la misma manera para el script de UI de Illustrator, debe ir a su disco local y pegar el archivo en la carpeta de PRESETS.

Este script se usará para exportar los assets e imágenes de su interfaz para el motor Hauzd.

Para el Wall Generation Script, puede pegar los archivos en una carpeta separada y abrirlo cuando lo necesite.


Scenes Hierarchy / Linking

Necesita crear su proyecto utilizando diferentes niveles de detalles que vamos a organizar de mayor escala a menor.

Masterplan - > Buildings -> Keyplans -> Unit
                                                                  House/ Office / Apartment / Floor

Vincularemos todas estas escenas mediante colisiones interactivas con los prefijos part_ y partColl_. De esta manera, el usuario puede entrar y salir de cada unidad después de configurar el emparejamiento con hauzdEdit.

Puede comenzar su pipeline de producción 3D con la unidad más pequeña y la escena exterior más grande, la forma más rápida de trabajar sus escenas interiores es usar nuestro wall generation script, este script generará automáticamente las paredes, puertas, ventanas, texturas, realizará los unwraps de UV para textures y lightmaps, y establecerá todos los nombres y etiquetas que necesitará para su estructura.

Después de limpiar su archivo CAD, puede importarlo en 3ds max, necesitará trazar splines, esta es la forma en que el script reconocerá dónde construir un muro y cómo hacerlo.
Usando los IDs, la secuencia de comandos reconocerá dónde crear una pared sólida, una puerta o una ventana.

Lo más importante es que siempre debes colocarte frente a la pared que dibujarás, y dibuja SIEMPRE a la derecha.

Hay disponibles varios tutoriales en video y documentación para este script en nuestro help desk, este script de generación de muros puede facilitar su trabajo para planos interiores, crea todo lo que necesita y solo necesitaría de su parte agregar y colocar muebles, elementos adicionales y listo!.

Antes de exportar, asegúrese de que todo lo que necesita agregar al engineesté en la capa EXPORT adecuada, verifique las etiquetas y use el botón "E" para exportar desde el 3ds Max Script.

Para los Keyplans, necesitará hacer la estructura de todo el piso, también puede usar el Wall Generation Script en esta parte, pero puede omitir los muebles, también necesitará configurar sus colisiones para que el usuario final pueda ingresar cada unidad desde este keyplan.

Para el modelado exterior, necesitamos usar otro workflow, el Wall Generation Script no será útil en esta parte, necesitamos optimizar tanto como podamos uniendo múltiples objetos cercanos y tener criterios claros al momento de crear nuestra vegetación, también necesitamos establecer nuestros objetos de colisión para esta escena, estas colisiones conducirán a nuestros planos o apartamentos (los objetos part_ y partColl_).

Recuerde, puede usar nuestras bibliotecas de objetos para sus escenas o crear sus propios activos.

Errores Comunes

Los errores más comunes en esta parte de producciones 3d son:

Nombres de Materiales Duplicados.
Ocurre principalmente cuando una copia de un material se arrastra a una escena que ya tiene el mismo material con el mismo nombre, puede evitar esto cambiando el nombre el nombre manualmente o usando la opción "Use Scene Material" en la ventana de diálogo al momento de importargeal importar su biblioteca de objetos si desea el material que ya tiene en su escena.


Pivots Desplazados.
Puede notar este problema cuando la ubicación de la primera escena no coincide con la ubicación de la segunda escena y se ve un notable desplazamiento en la posición durante la transición entre ambas escenas. Para resolver esto, en la colisión que conduce a su escena, debe hacer coincidir ese centro de pivot, con World Transform 0 de su escena (El punto 0 de origen de la escena).

Eso significa que si coloca su pivote, arriba a la derecha en su primera escena, el world transform 0 de su segunda escena debe estar en ese mismo punto exacto. Si nota que es más grande o más pequeño, entonces tiene un problema de escala que también debe solucionar.


Nombres con más de 15 carácteres.
Siempre debes mantener los caracteres de tu nombre limpios y cortos.

Para ver más errores comunes, pueden entrar a nuestra sección de  forum  y usar la barra de búsqueda para encontrar el error específico que hauzd Engine le está comunicando.

    • Related Articles

    • Introducción a hauzd Engine - Parte 1

      ¡Hauzd es la forma más fácil de crear presentaciones 3D interactivas de bienes raíces y me alegra poder mostrales el proceso de producción para que pueda comenzar a crear sus proyectos más rápido y más fácil que nunca!. Si aún no tiene Hauzd Engine, ...
    • Introducción a hauzd - Parte 3

      Para ver el video con subtítulos en español , actívalos en youtube. Introducción a Hauzd - Parte 3  ¡Bienvenido a la tercera parte de nuestra curva de aprendizaje! ¿Te perdiste el segundo?  INGRESA ACÁ. ¡En este tutorial aprenderemos cómo ensamblar ...
    • Introducción a hauzd - Parte 4

      Para ver el video con subtítulos en español, actívalos en youtube Introducción a Hauzd - Parte 4 En este video, aprenderemos cómo modificar y usar nuestra plantilla de interfaz para crear un look and feel único para su cliente. Sus clientes siempre ...
    • Recomendaciones de Calidad para hacer una excelente App Interactiva

      Con la última actualización de hauzd, crear una app interactiva es más fácil y rápido que nunca, puedes construir esta app utilizando los renders e imágenes estáticas que ya creaste para tu cliente o incluso usar fotos reales del proyecto. Solo ...
    • Creando una aplicación interactiva 2D con hauzd

      En este tutorial vamos a aprender paso a paso cómo crear una aplicación interactiva 2D con hauzd. Recomendamos ver todos los videos en orden uno a uno y activar los subtítulos en español. Antes de Empezar  ...