Dispersión procedural
Dash contiene varias herramientas de dispersión, cada una orientada a propósitos específicos. Y en esta página explicaremos por qué estas herramientas de dispersión son las más utilizadas en Dash.
Surface Scatter es una solución de dispersión de clase mundial que opera sobre las superficies de tu malla. La idea es darle algo de geometría (malla estática, paisaje, malla procedural, etc...) como tu superficie/suelo sobre la que dispersar, y algunos actores que quieras dispersar, y hará su magia.
Esta es la herramienta más extensa de Dash, y contiene características solicitadas por varios grandes estudios AAA, artistas individuales talentosos y la incansable búsqueda de nuestro equipo por lo último en creación de mundos.
A diferencia de Surface Scatter, Path Scatter sólo dispersa a lo largo de curvas. Pero puedes darle una malla, y si tiene bordes, dispersará a lo largo de ellos al procesar internamente los bordes como curvas. Y otra diferencia importante con Path Scatter es que también admite la dispersión de actores, lo que significa que puedes dispersar Decals, Blueprints y otros actores. Simplemente cambia el Tipo de Dispersión de Instancias a Actores y asigna tus actores como Objetos de Dispersión. Pero para Decals, también tenemos una herramienta dedicada, Decal Scatter -->
Decal Scatter hace exactamente lo que dice: dale alguna superficie para dispersar, y algunas calcomanías para dispersar, y tu superficie quedará cubierta de calcomanías.
Grid Scatter es una herramienta práctica para patrones más uniformes. Tienes control total sobre las dimensiones XYZ y las divisiones, y funciones básicas de enmascaramiento por proximidad.
Volume Scatter te ayuda a llenar cualquier malla con instancias de otra malla. A diferencia de Surface Scatter, esta herramienta no dispersa sobre mallas, sino dentro de ellas. Un caso de uso común es crear formas únicas como cinturones de asteroides, o realmente cualquier malla flotante que quieras en tu escena.
Radial Scatter te permite crear anillos de mallas instanciadas alrededor de un origen. Luego puedes crear filas de ellos, ajustar sus propiedades concéntricas para asegurar que encajen bien en cada anillo, usar enmascaramiento por proximidad/objeto, etc...
Asegúrate de leer la Introducción página para digerir fácilmente la información en esta página. La sección sobre creación de entornos cubre los conceptos básicos del uso de las herramientas Dash, que asumiremos que sabes cómo usar en esta página.
Además de tener herramientas de dispersión dedicadas y fáciles de usar para casos de uso específicos, la razón principal por la que la gente ama nuestras herramientas de dispersión se debe a sus capacidades de enmascaramiento. La mayoría de las herramientas comparten algunos ajustes básicos de enmascaramiento, pero Surface Scatter es la que tiene prácticamente todas las características, ¡así que repasémoslas una por una!
Características de Enmascaramiento
Las herramientas de dispersión de Dash contienen varias funciones de enmascaramiento, y aunque la mayoría residen solo en Surface Scatter, las otras herramientas aún tienen algunas, y estamos ampliando activamente las funciones de enmascaramiento a ellas. Veamos todas las principales funciones de enmascaramiento, cómo funcionan y qué puedes hacer con ellas.
Antes de profundizar, "enmascaramiento" aquí significa eliminar instancias dispersas. Además, la mayoría de los grupos de enmascaramiento te dan la capacidad de invertir el resultado de la máscara. Notarás que algunas propiedades tienen un pequeño círculo oscuro en su esquina inferior derecha, lo que significa que puedes hacer clic derecho en la propiedad y seleccionar Invertir Máscara.

Enmascaramiento por Proximidad
Esta función te permite enmascarar por curva, mallas e instancias.
Tiene una Distancia propiedad que controla la distancia de proximidad y se basa en las unidades nativas de UE. La otra propiedad es Muestreo. Este valor controla la calidad del enmascaramiento. Un valor más alto significa mayor calidad, y un valor más bajo significa menor.
En el ejemplo arriba, estamos usando mallas y curvas para el enmascaramiento, pero confiar en instancias es igual de fácil: selecciónalas en la vista y agrégalas a los objetos de proximidad. En el ejemplo abajo, hemos dispersado algunas esferas, luego dispersado algunos discos, y solo mantuvimos los discos cerca de las esferas.

Puedes aprovechar el enmascaramiento por proximidad para construir bosques realistas. Primero, dispersarías árboles, luego conservarías algunos helechos y hojas debajo de ellos, luego usarías una curva como máscara de proximidad en caso de que necesites un camino, luego dispersarías algunas rocas en los bordes de ese camino, etc...
Desde Dash 1.8.5, Surface Scatter tiene la capacidad de agregar un número infinito de máscaras de proximidad, lo cual se realiza a través de la Tabla de Proximidad. Esto reemplazó las anteriores 3 Máscaras de Proximidad. En la Tabla de Proximidad, puedes crear grupos, cada uno con su propio objeto, distancia y valores de ancho. Podrías, por ejemplo, usar el primer grupo para enmascarar algunos objetos con una distancia específica, y hacer lo mismo con los otros dos grupos.

Por último, el enmascaramiento por proximidad se presta muy bien a la inversión de máscaras.
Enmascaramiento por Ángulo
El enmascaramiento por ángulo es bastante sencillo: se basa en la superficie subyacente para determinar el ángulo y eliminar cualquier objeto disperso en esa área. Esto es ideal para mantener las pendientes libres de árboles y otros objetos al dispersar en montañas.
Enmascaramiento por Altura
Herramientas como Surface Scatter tienen Máscara de Altura Mínima y Máscara de Altura Máxima propiedades, que te permiten recortar los objetos dispersos por encima o por debajo.
Enmascaramiento por Objeto
A diferencia del enmascaramiento por proximidad, que simplemente se basa en distancias, el Enmascaramiento por Objeto usa trazado de rayos para determinar cuando tus instancias están dentro, fuera o cerca de un objeto. Si quieres dibujar una curva y mantener todas tus instancias dentro de esa curva, esta función es perfecta. También puedes usarla para mantener instancias que estén dentro/fuera de una malla o volumen.
Este método de enmascaramiento también tiene una Mantener Dentro propiedad booleana, que puedes alternar para asegurar que el enmascaramiento mantenga las instancias dentro o fuera de tus objetos de entrada. También puedes usar la Distancia propiedad para mantener instancias cercanas.
Enmascaramiento por Ruido
El Enmascaramiento por Ruido te permite romper rápidamente la uniformidad de tus objetos dispersos. Se te proporciona una amplia gama de parámetros, desde escalado hasta frecuencia, estiramiento por eje, suavizado de ruido, deformación, etc...
Si estás dispersando hierba, árboles o incluso basura, te recomendamos usar esta función para que tus resultados se vean más naturales.
Enmascaramiento por Agrupamiento
El Enmascaramiento por Agrupamiento funciona eligiendo instancias aleatorias y usándolas como punto central de un agrupamiento. Se te proporciona un valor para ajustar la densidad de instancias a muestrear y otro para controlar el radio de tus agrupamientos. Combinado con ruido y otras máscaras, esto puede ser una herramienta muy potente para configuraciones de dispersión realistas.
Enmascaramiento de Bordes
El Enmascaramiento de Bordes detecta los bordes límite de la geometría de tu superficie y enmascara todos los objetos cerca de esos bordes.
Esta función es muy útil para configuraciones de dispersión hechas por humanos como jardines, donde podrías crear alguna forma de geometría subyacente, dispersar algunas plantas sobre ella y luego ocultar esa geometría. Cada borde de bucle en tu geometría se trata por separado, y las propiedades Mín/Máx de Borde te permiten agregar algo de aleatoriedad al enmascaramiento para cada bucle de borde. Noise es un efecto de ruido simple para romper la uniformidad del borde.
Enmascaramiento por Proyección
El enmascaramiento por proyección funciona haciendo que el punto de cada instancia dispare un rayo hacia arriba, y cualquier malla que golpee que hayas agregado asegurará que las instancias alcanzadas por el rayo se mantengan. También puedes invertir el efecto. Los casos de uso van desde mantener instancias que estén bajo objetos, como plantas o basura bajo un coche, hasta eliminar todas las instancias que estén debajo de cualquier conjunto de objetos en tu escena.
Enmascaramiento por Capas de Paisaje
Esta función de enmascaramiento te permite suministrar el nombre de una capa de pintura a Surface Scatter, y la herramienta luego usa la capa como máscara. Puedes suministrar hasta tres capas.
Enmascaramiento por Textura
El Enmascaramiento por Textura es bastante sencillo: selecciona una textura en el navegador de contenido de UE, introdúcela en la propiedad Ruta de Textura en el grupo de Enmascaramiento por Textura, y voilà. Puedes elegir qué canal usar como máscara, ajustar el umbral de color para ayudar con píxeles en gradiente y repetir (tile) la máscara de textura. Todo lo que tienes que hacer es asegurarte de que tu textura contenga píxeles blancos sobre negro, y los píxeles blancos se usarán como máscara. Si estás intentando crear una estructura como un pequeño jardín decorado con formas muy específicas, recomendamos este enfoque donde podrías dispersar sobre un plano, ocultar el plano y luego darle la textura que representa la forma de tu jardín de flores.
Enmascaramiento por Color de Vértice
Los colores de vértice pueden aplicarse en mallas estáticas y entonces todos los canales RGB están disponibles en este grupo de enmascaramiento. Además, tienes cierto control de umbral de píxel para ajustar cómo se comporta el enmascaramiento en píxeles con gradiente, y también un Modos de Mezcla desplegable desde el cual puedes elegir cómo el color de vértice afecta tu lógica de enmascaramiento.
Enmascaramiento Direccional
A diferencia del enmascaramiento por ángulo, el Enmascaramiento Direccional te permite usar tu luz solar (o cualquier actor) para enmascarar objetos según la rotación del sol. Esto puede usarse para eliminar objetos que son sensibles a la luz solar, siendo el musgo el caso de uso más común.
Agregar / Quitar Enmascaramiento
Este es un truco de enmascaramiento simple que nos permite agregar o quitar instancias aleatoriamente. Por ejemplo, podrías usar enmascaramiento por proximidad para despejar un camino de plantas, pero luego usar máscara de adición con un valor bajo para mantener unas pocas plantas aquí y allá.
Referencias de Propiedades
Al crear una configuración compleja, como por ejemplo un bosque con un Surface Scatter para los árboles, otro para los arbustos, otro para la hierba, etc... luego un Path Scatter para algunos postes de madera a lo largo del bosque, y una carretera, etc... Esa complejidad puede volverse rápidamente abrumadora, y usamos referencias para dar sentido a esto. Tu carretera tendrá un ancho, y querrás que los postes de madera respeten ese ancho, incluso si tienen un ligero desplazamiento. Lo mismo con la vegetación del bosque: querrás que no aparezca en la carretera, y así sucesivamente.
La forma de hacerlo es creando propiedades de referencia. Las cubrimos en la Introducción página, pero el flujo de trabajo es bastante simple: Crearías alguna propiedad Distancia o Ancho que dicte el ancho de la carretera, y todas esas herramientas la usarían. Cuando una propiedad usa una referencia, le damos un peso, lo que te permite extender el valor de tu propiedad más allá de lo que la referencia proporciona. Por ejemplo, si tu Ancho es 320, los postes de madera podrían tener un peso de 0.1, lo que los haría ligeramente más grandes que el ancho, ya que el peso actúa como un multiplicador porcentual sobre él.
Tabla de Dispersión
En las versiones posteriores (desde Dash 1.8.5), hemos empezado a añadir tablas de datos a ciertas herramientas. La principal es la tabla de dispersión en Surface Scatter. En lugar de simplemente asignar varios objetos de dispersión con el icono + en la propiedad de dispersión, puedes abrir la tabla de dispersión pulsando el botón Editar Tabla.
Aquí, puedes crear varias filas de propiedades, asignar uno o varios objetos de dispersión a cada una, y entonces tendrás la capacidad de controlar un desplazamiento de densidad y un desplazamiento de escala por fila de propiedad. Así que esto significa que puedes tener un Surface Scatter con un control muy específico de los objetos dispersos en lugar de tener que crear varios Surface Scatters.
Esta lógica de Tabla de Datos se está expandiendo lentamente a otras herramientas y ajustes para darte el control granular que a veces necesitas.
Última actualización
¿Te fue útil?