Funciones de enmascaramiento de dispersión
La dispersión es la función más utilizada de Dash, y sus capacidades de enmascaramiento son la razón. ¡Vamos a profundizar en ellas!
Dash contiene varias herramientas de dispersión, cada una adaptada a propósitos específicos. La mayoría de las herramientas tienen capacidades básicas de enmascaramiento, y Surface Scatter es la que tiene prácticamente todas las funciones descritas en esta página.
Surface Scatter es una solución de dispersión de primer nivel que opera sobre las superficies de tus mallas. 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 en Dash, y contiene funciones solicitadas por varios grandes estudios AAA, artistas individuales talentosos y la incansable búsqueda de nuestro equipo por la vanguardia en creación de mundos.
A diferencia de Surface Scatter, Path Scatter solo dispersa a lo largo de curvas. Puedes darle una malla, y si tiene bordes, dispersará a lo largo de ellos procesando internamente los bordes como curvas.
Decal Scatter hace exactamente lo que dice: dale una superficie para dispersar encima y algunos decals para dispersar, y tu superficie quedará cubierta de decals.
Grid Scatter es una herramienta práctica para crear patrones más uniformes. Tienes control total sobre las dimensiones y divisiones XYZ, 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 en 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 ellas, ajustar sus propiedades concéntricas para asegurarte de que se sumen correctamente en cada anillo, usar enmascaramiento por proximidad/objetos, etc...
Funciones de enmascaramiento
Las herramientas de dispersión de Dash contienen varias funciones de enmascaramiento, y aunque la mayoría de ellas 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, "enmascarar" 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 calidad.
En el ejemplo anterior, estamos usando mallas y curvas para enmascarar, pero depender de instancias es igual de fácil: selecciónalas en la vista y añádelas a los objetos de proximidad. En el ejemplo a continuación, 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 mantenerías algunas helechos y hojas debajo de ellos, luego usarías una curva como máscara de proximidad en caso de que necesites un sendero, luego dispersarías algunas rocas en los bordes de ese sendero, etc...
Desde Dash 1.8.5, Surface Scatter tiene la capacidad de añadir un número infinito de máscaras de proximidad, lo cual se hace 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 la máscara.
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 desde arriba o desde abajo.
Enmascaramiento por objetos
A diferencia del enmascaramiento por proximidad, que simplemente se basa en distancias, el enmascaramiento por objeto utiliza trazado de rayos para determinar cuándo tus instancias están dentro, fuera o cerca de un objeto. Si deseas 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 ya sea 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 escala hasta frecuencia, estiramiento por ejes, suavizado de ruido, deformación, etc...
Si estás dispersando hierba, árboles o incluso basura, te recomendamos encarecidamente usar esta función para que tus resultados se vean más naturales.
Enmascaramiento por agrupamiento
El enmascaramiento por agrupamiento funciona seleccionando 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
Enmascaramiento de bordes detecta los bordes fronterizos de la geometría de tu superficie y enmascara todos los objetos cercanos a esos bordes.
Esta función es realmente útil para configuraciones de dispersión hechas por el hombre como jardines, donde podrías crear alguna geometría subyacente con forma, dispersar algunas plantas sobre ella y luego ocultar esa geometría. Cada bucle de borde en tu geometría se trata por separado, y el Border Min/Max propiedades te permiten añadir 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 y que hayas añadido garantizará que las instancias alcanzadas por ese rayo se mantengan. También puedes invertir el efecto. Los casos de uso van desde mantener instancias que están debajo de 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 de capas de paisaje
Esta función de enmascaramiento te permite alimentar el nombre de una capa de pintura a Surface Scatter, y la herramienta entonces usa la capa como máscara. Puedes alimentar hasta tres capas.
Enmascaramiento por textura
El enmascaramiento por textura es bastante sencillo: selecciona una textura en el navegador de contenido de UE, dásela a la Ruta de textura propiedad 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 degradado y azulejar 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 intentas 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 luego todos los canales RGB están disponibles en este grupo de enmascaramiento. Además, tienes cierto control de umbral de píxeles para ajustar cómo se comporta el enmascaramiento en píxeles en degradado, y también un Modos de fusión 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 simple de enmascaramiento que nos permite añadir o eliminar instancias al azar. Por ejemplo, podrías usar enmascaramiento por proximidad para despejar un camino de plantas, pero luego usar la máscara de adición con un valor bajo para mantener unas pocas plantas salpicadas 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 comprenderla. 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 nazca en la carretera, y así sucesivamente.
La forma de hacer esto es creando propiedades de referencia. Las cubrimos en la Comenzando 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, 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.
Última actualización
¿Te fue útil?