# Herramientas de malla procedimental

Dash contiene varias herramientas que generan geometría: Road Tool, Terrain Tool, Cable Tool, etc...

## Baking

Todas estas herramientas generan un actor de tipo `DashPreviewMeshComponent`. Este tipo personalizado nos permite tener control total sobre el rendimiento y los algoritmos de generación de la malla.

Lo primero que hay que saber sobre las herramientas basadas en mallas es que un icono de baking <img src="https://1088481602-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYp9tAkqjcwFDufAaviIa%2Fuploads%2F9ANCQGpYmXbpLX6dXgVz%2Fbake_color.png?alt=media&#x26;token=1339c809-31ab-46e8-9bb8-2f1c20b64b6c" alt="" data-size="line"> en el Panel de Herramientas siempre está a solo un clic, y eliminará la herramienta adjunta a tu malla, y luego convertirá la malla de Dash en una malla estática normal de UE5.

Hay muchas razones por las que podrías querer hornear tus mallas generadas por Dash:

* Hacerlas utilizables/visibles en otros ordenadores que no tienen Dash instalado.
* Usar Nanite, pintura de vértices y otras funciones de UE.
* Limpiar tu escena de herramientas que ya no necesites una vez que termines de editarlas.

<figure><img src="https://1088481602-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYp9tAkqjcwFDufAaviIa%2Fuploads%2FflmoSeFJ5NWWbAtxNh6D%2Fimage.png?alt=media&#x26;token=7f121558-6311-4645-8cc8-e615944fae62" alt=""><figcaption></figcaption></figure>

Además de la función de baking en el panel de Herramientas, también puedes seleccionar el componente de esta malla, y tendrá un botón **Crear malla estática** para convertirla en una malla estática.

<figure><img src="https://1088481602-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYp9tAkqjcwFDufAaviIa%2Fuploads%2FhO18k76eIgchjbFsdewi%2Fimage.png?alt=media&#x26;token=baeafbbd-db1c-4dae-bc97-b5571bf3da06" alt=""><figcaption></figcaption></figure>

## Terrain Tool

Crea una malla procedural para usarse como suelo - Este terreno puede ajustarse como quieras con los controles fáciles de usar dentro de Terrain Tool. Por ejemplo, puedes controlar la Altura, la Turbulencia y la Escala UV, pero también puedes deformarlo con un mapa de alturas o con splines. Puedes encontrar la herramienta de terreno buscándola en Dash o encontrándola en el menú Crear.&#x20;

{% embed url="<https://streamable.com/0nb3xh>" %}

## Cable Tool

Crea cables procedurales entre splines, objetos o dispersos sobre mallas - Viene con un montón de ajustes diferentes que hacen que puedas crear cables de forma totalmente procedural más fácilmente que nunca. Perfecto para entornos urbanos o de jungla en Unreal Engine 5. Por supuesto, tienes control total sobre la cantidad de cables, su tamaño, su gravedad y mucho más. Puedes encontrar la herramienta de cables buscándola en Dash o en el menú Crear.

{% embed url="<https://streamable.com/e6dnv0>" %}

## Vine Tool

Crea vides en las superficies especificadas - Esto es perfecto para cualquier bosque o entorno cubierto de vegetación, ya que te permite crear vides procedurales en 2 segundos sobre cualquier superficie o recurso. Como las vides suelen tener hojas, hemos hecho súper fácil simplemente arrastrar y soltar con CTRL un atlas de hojas de la Biblioteca de Contenido de Dash sobre una superficie y, en 1 segundo, tienes vides con hojas adjuntas repartidas por todo el recurso/superficie. Luego puedes controlar la cantidad de crecimiento, el tamaño de las ramas y las hojas, y mucho más. ¡Tan fácil como puede ser!&#x20;

Por supuesto, también puedes abrir la herramienta Vine buscando en Dash. Luego puedes asignar un origen (puede ser un actor vacío o una curva) y una superficie sobre la que quieres que crezcan las vides. La tercera forma de abrirla es buscando Draw Vines en Dash; esto abre nuestro Modo de Dibujo y, una vez que dibujes una curva, verás que creamos automáticamente vides a lo largo de esa curva. Puedes salir de este Modo de Dibujo pulsando ESC o el botón STOP.&#x20;

{% embed url="<https://youtu.be/Y_Ja4n3RSf0>" %}

## Road Tool

Crea una malla de carretera/camino a lo largo de la curva/spline de entrada - Si alguna vez has sentido la necesidad de tener una carretera procedural en UE5, ¡te encantará usar esto! Solo dibuja un spline con Dash, asígnalo a la herramienta de carretera y voilà, tendrás una carretera que encaja perfectamente con la forma de tu spline. Si necesitas que se alinee aún más con tu superficie, puedes encontrar una Máscara de Proyección en la sección de Geometría. Luego, si cambias el spline o la superficie subyacente, la carretera se ajusta automáticamente. Puedes encontrar la Road Tool buscándola en Dash.

Y, como siempre, puedes personalizar la carretera con los deslizadores y conmutadores normales, obteniendo el resultado perfecto para tu entorno. Consejo profesional: después de crear una carretera, puedes asignarla como una máscara de proximidad en Surface Scatter, asegurándote de que no haya hierba, etc. en la carretera.

{% embed url="<https://streamable.com/587zqa>" %}

## Quick Pipe

Crea tuberías de malla a lo largo de las curvas de entrada - Si crees que es fácil dibujar splines exactamente como te gustaría tener tuberías/cables, Quick Pipe es para ti. Solo asigna uno o varios splines a la herramienta y obtendrás instantáneamente mallas creadas a lo largo de los splines. ¡Estas mallas, por supuesto, son personalizables con nuestros deslizadores y conmutadores normales! Puedes encontrar Quick Pipe buscándolo en Dash.

{% embed url="<https://streamable.com/zqn10t>" %}

## Draw Mesh

Si necesitas una malla con una forma personalizada, nuestra herramienta Draw Mesh te permite dibujar cualquier forma y nosotros creamos una malla básica con esa forma. Puedes abrirla a través del Menú Crear o buscándola. Una vez iniciada, estarás en nuestro Modo de Dibujo y, en cuanto dibujes cualquier forma, crearemos una malla correspondiente para ti. Puedes seguir creando tantas como quieras y luego salir del Modo de Dibujo con ESC o el botón STOP y eliminar las que no te gusten.&#x20;

{% embed url="<https://streamable.com/oyz2os>" %}

## Mesh Pattern

Mesh Pattern es una herramienta diseñada para crear patrones procedurales y repetibles, ya sea usando los preajustes incluidos o creando los tuyos propios con activos y patrones personalizados. Es perfecta para techos, paredes, suelos o cualquier otra superficie artificial que necesite más profundidad y detalle que un material simple.

Puedes encontrarla buscando o desde la barra de Dash, en la categoría Crear -> Herramientas de Malla. Para empezar a usarla, simplemente asigna una o varias superficies y, por defecto, usará el preajuste Tile A en tu superficie.

{% embed url="<https://streamable.com/3xd1jm>" %}
Configuración básica de Mesh Pattern
{% endembed %}

#### Preajustes

Para cubrir la mayoría de los casos de uso de Mesh Pattern, hemos incluido más de 30 preajustes de alta calidad con diferentes activos y patrones. Por ejemplo, preajustes para Broken Floor, HerringBone, Tiles y Bricks. Para cambiar a otro preajuste, simplemente despliega la lista desplegable en la parte superior de Mesh Pattern y selecciona otro preajuste. Si los activos de ese preajuste aún no están presentes en el nivel, se añaden automáticamente.&#x20;

{% embed url="<https://streamable.com/u9rfbk>" %}
Lista desplegable de preajustes de Mesh Pattern
{% endembed %}

#### Mesh Pattern en curvas/splines

En lugar de asignar una malla o una superficie plana como objeto de superficie en Mesh Pattern, también puedes usar una curva o spline, perfecto para crear vallas o muros. Cuando uses las curvas de nuestra herramienta Draw Curves, obtendrás los mejores resultados si dibujas curvas mayormente rectas. Si quieres formas más redondeadas, es mejor usar nuestra herramienta Draw Spline.&#x20;

{% hint style="info" %}
Cuando se usa un spline como objeto de superficie, se crea una malla implícita, extruyendo el spline con la altura determinada por la escala Z de los objetos de activo utilizados para crear el patrón.&#x20;
{% endhint %}

{% embed url="<https://streamable.com/8buczm>" %}
Uso de curvas y splines con Mesh Pattern
{% endembed %}

#### Ajustes

Como con cualquier herramienta de Dash, por supuesto puedes ajustar los resultados exactamente a tu gusto. Recomendamos experimentar con los ajustes y leer sus descripciones al pasar el cursor sobre ellos, pero aquí tienes un resumen de los ajustes disponibles:

* Propiedades base: Puedes ajustar la escala del mosaico, el ángulo, el relleno y la profundidad.&#x20;
* Ruido: Puedes añadir ruido tanto a los puntos como a las propias mallas.
* Proyección: Puedes proyectar/empujar el patrón sobre uno o varios objetos.&#x20;
* Slice Tiles: Usa una malla booleana para cortar los objetos del patrón en una forma específica, por ejemplo, con un cubo o una esfera.&#x20;
* Máscara de proximidad: Enmascara un área alrededor de un objeto/curva o mantenla justo al lado del objeto/curva.&#x20;
* Máscara de ruido: Elimina objetos aleatorios del patrón según un ruido controlado.&#x20;
* Enmascarado de objetos: Enmascara un área alrededor de un objeto o mantenla justo a su lado usando raycasting.
* Detalles del patrón: Añade y controla la variación del patrón. Y crea una malla de área para los preajustes personalizados.&#x20;

{% embed url="<https://streamable.com/zd5aww>" %}
Demostración de ajustes de Mesh Pattern
{% endembed %}

Puede ocurrir que la repetición del patrón no encaje bien con la superficie, y entonces puedes usar la función de corte para recortar tus mosaicos en cualquier forma arbitraria usando una malla booleana. Esta función también es útil si quieres "cortar" un patrón cuadrado o circular perfecto en tu patrón.&#x20;

{% embed url="<https://streamable.com/z5rr1i>" %}
Función de corte de Mesh Pattern
{% endembed %}

{% hint style="warning" %}
Cuando usas la función Slice de Mesh Pattern, creamos nuevas mallas deformadas para esto en el outlier. Estas mallas son mallas especiales de Dash y, por tanto, necesitan ser horneadas antes de publicar el juego. Simplemente selecciona las mallas cortadas y busca Bake Meshes en Dash para convertirlas en mallas estáticas normales. \
\
Usar la función de corte es un proceso pesado, así que cuando no sea necesario, asegúrate de desmarcar la opción Enable para obtener el mejor rendimiento posible de Mesh Pattern.&#x20;
{% endhint %}

Cuando uses mallas 3D en lugar de planos, el patrón se aplica a la superficie planar más grande en el espacio local. Si quieres controlar exactamente dónde aparece el patrón, puedes usar Mesh Pattern sobre un plano y proyectarlo sobre la malla 3D y una superficie/lado específicos. Para obtener los mejores resultados posibles, haz coincidir el ángulo del plano con el ángulo de la superficie y luego experimenta con el valor Max Distance para asegurarte de que no se proyecte sobre nada que no sean los lugares previstos.&#x20;

{% embed url="<https://streamable.com/js2euf>" %}

{% hint style="warning" %}
Cuando uses la función de Proyección de Mesh Pattern, puede que necesites usar el conmutador de invertir dependiendo de si tu malla de proyección está por debajo o por encima de la malla de superficie.&#x20;
{% endhint %}

#### Preajustes personalizados

Si nuestros objetos y patrones preajustados no cubren tu caso de uso, también puedes crear tus propios patrones con cualquier activo. Estos luego pueden guardarse y usarse fácilmente a través de la lista de preajustes, en todos tus proyectos.&#x20;

{% hint style="warning" %}
Intenta crear los preajustes personalizados en la versión más baja posible de Unreal, ya que no podrás usarlos en una versión inferior de Unreal.&#x20;
{% endhint %}

Para crear un preajuste personalizado, simplemente selecciona uno o más objetos en tu escena y asígnalos como Pattern Objects. Una vez hecho esto, notarás que la colocación de estos activos importa, tanto en relación entre sí como con el eje Z. Cuando mueves, rotas y escalas los objetos, puedes ver cómo el patrón se ajusta en tu superficie.&#x20;

{% hint style="warning" %}
Necesitas colocar tus activos personalizados en la ubicación Z 0.0; de lo contrario, flotarán sobre tu superficie. Puedes intentar moverlos hacia arriba/abajo para controlar a qué altura sobre tu superficie aparecerán.&#x20;
{% endhint %}

{% embed url="<https://streamable.com/n4xk9w>" %}
Configuración de preajuste personalizado de Mesh Pattern
{% endembed %}

{% hint style="warning" %}
Obtendrás los mejores resultados rotando solo los Pattern Objects en incrementos completos de 90 grados.&#x20;
{% endhint %}

Para la mayoría de los patrones, necesitarás un objeto especial de “área” para definir qué tan grande es el patrón en relación con los Pattern Objects.&#x20;Puedes crear y añadir un actor de área con el botón de utilidad "Create Area" en la parte inferior de la herramienta Mesh Pattern.&#x20;

<figure><img src="https://1088481602-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYp9tAkqjcwFDufAaviIa%2Fuploads%2FO3IM0R6IK2f45x7LKukL%2Fimage%20(17).png?alt=media&#x26;token=ebe31b09-ff3b-427e-bd58-13241d224b0a" alt="" width="563"><figcaption><p>El rojo serán los puntos de dispersión, en relación con el área verde definida por el actor de área</p></figcaption></figure>

Por ejemplo, puedes ver cómo mis resultados se ven afectados por ajustes en mi objeto de área o en mis activos en relación con mi objeto de área.&#x20;

{% embed url="<https://streamable.com/jiha9c>" %}

Ahora que has definido tu patrón con una repetición correcta, quizá quieras añadirle algo de variación.&#x20;Al colocar otros objetos muy cerca de los que definen el patrón y añadirlos como Pattern Objects, puedes indicar a la herramienta que los trate como variación mediante la sección Pattern Details. Establece el Variation Threshold por encima de cero y experimenta con la cantidad de variaciones y la colocación de los activos de variación.&#x20;

{% embed url="<https://streamable.com/2slctw>" %}
Ejemplo de variación de Mesh Pattern
{% endembed %}

Una vez que estés satisfecho con tus Pattern Objects y su patrón, puedes guardar este patrón como un preajuste personalizado para reutilizarlo fácilmente. Simplemente abre el desplegable de preajustes y usa el botón Create Pattern para añadir tu preajuste a la lista desplegable. Al cargar este preajuste personalizado en otro proyecto, si los objetos no forman parte de ese proyecto, se añadirán automáticamente.&#x20;

{% hint style="warning" %}
Si no ves que tu patrón aparezca al seleccionarlo, es posible que hayas obtenido un error LoadAsset en el registro de salida. Para solucionarlo, elimina estos objetos recién añadidos del outlier y vuelve a asignar el preajuste personalizado, y funcionará como debería.
{% endhint %}

{% embed url="<https://streamable.com/j7hoob>" %}
Carga y guardado de preajustes personalizados de Mesh Pattern
{% endembed %}

#### Ajuste de materiales de patrón

Si quieres ajustar los materiales en las mallas preajustadas incluidas en Mesh Pattern, eso es posible mediante la herramienta Material Edit. Selecciona la salida de Mesh Pattern en el viewport y luego abre Material Edit a través de la lista de Active Tools en la esquina superior izquierda del Panel de Herramientas.&#x20;

Aquí podrás ajustar los parámetros básicos como Tono, Saturación, Brillo, etc., pero también añadir una capa de Suciedad, Nieve o Lluvia. Y una nueva incorporación es la posibilidad de añadir una variación de color directamente desde la herramienta Material Edit. Por defecto, está habilitada y configurada con la máxima intensidad para dar a los preajustes el mejor aspecto posible, pero si quieres desactivarla o cambiar la intensidad de la variación, puedes hacerlo a través de los ajustes de variación en Material Edit para Mesh Pattern.&#x20;

{% embed url="<https://streamable.com/5eg5af>" %}

## FAQ

<details>

<summary>¿Puedo editar las herramientas de malla procedural después de cerrarlas?</summary>

Sí, por supuesto puedes seguir editando las herramientas de malla en Dash mientras no las hayas horneado ni roto la conexión con la herramienta. Abre el Panel de Herramientas con el botón Edit en Dash y luego simplemente selecciona tu malla.&#x20;

Si esto no muestra tu herramienta como esperabas, asegúrate de que otra herramienta no esté fijada en el Panel de Herramientas y también comprueba si puedes encontrar la herramienta abriendo la Lista de Herramientas Activas con el botón superior izquierdo del Panel de Herramientas.

</details>

<details>

<summary>¿Puedo dispersar o usar otras herramientas de Dash encima de estas herramientas de malla?</summary>

Si, por ejemplo, has creado un terreno con Dash, entonces puedes dispersar algo de hierba sobre él con Surface Scatter y crear y proyectar una carretera con la herramienta de carretera. Si luego ajustas el terreno de nuevo desde el Panel de Herramientas, tanto la dispersión como la carretera proyectada se ajustarán, por supuesto, en consecuencia.&#x20;

</details>
