La biblioteca de secuenciación de comandos de geometría contiene una amplia gama de funciones, desde la construcción de mallas y consultas de bajo nivel (como construir una malla triángulo a triángulo o contando sus vértices) hasta operaciones de alto nivel como operaciones booleanas de mallas y pruebas de intersección.
Para obtener más información sobre cómo usar la biblioteca de secuenciación de comandos de geometría, consulta la Guía del usuario de secuenciación de comandos de geometría.
La mayoría de funciones están disponibles tanto en el editor como en tiempo de ejecución. Sin embargo, algunas solo están disponibles mientras se trabaja en el editor y como se indica en las tablas de abajo.
Para obtener más información sobre las distintas funciones, consulta las API de Blueprint y Python.
Lectura/escritura de recursos y componentes
Puedes usar estas funciones para leer y escribir instancias de malla dinámica, como leer y escribir en recursos o componentes existentes o nuevos.
| Nombre de nodo | Descripción |
|---|---|
Copiar malla desde malla estática | Extrae una malla dinámica de un recurso de malla estática. |
Copiar malla en malla estática | Actualiza un recurso de malla estática con nueva geometría convertida a partir de una malla dinámica. |
Copiar malla desde componente | Extrae un actor de malla dinámica de cualquier tipo de componente compatible, ya sea en el espacio local o en el mundo. |
Crear un nuevo volumen desde malla | Crea un nuevo actor de volumen, como un volumen de bloqueo, a partir de un actor de malla dinámica. Este nodo solo funciona en el editor. |
Crear un nuevo recurso de malla estática desde malla | Crea un nuevo recurso de malla estática a partir de un actor de malla dinámica. Este nodo solo funciona en el editor. |
Establecer colisión de malla estática desde malla | Genera formas de colisión simple para una malla estática basada en la malla de entrada. |
Establecer colisión dinámica de malla desde malla | Generar formas de colisión simples para un componente de malla dinámica a partir de la malla de entrada. |
Copiar mallas de colisión desde objeto | Extrae la geometría de colisión de `From Object` y la copia con las mallas almacenadas en `To Dynamic Mesh`.
|
Restablecer colisión de malla dinámica | Borra las colisiones simples del componente de malla dinámica. |
Copiar malla desde malla esquelética | Copia la malla esquelética en la malla dinámica de destino. |
Copiar malla en malla esquelética | Copia la malla dinámica indicada en la malla esquelética. |
Crear nuevo recurso de malla esquelética desde malla | Crea un nuevo recurso de malla esquelética a partir de la malla objetivo. Este nodo solo funciona en el editor. |
Comprobar si la malla estática tiene LOD disponible | Comprueba si un recurso de malla estática tiene disponible el LOD solicitado. Es decir, si **Copy Mesh From Static Mesh** será capaz de operar correctamente para el tipo e índice de LOD dados. |
Obtener LOD de malla estática numérica de tipo | Determina el número de LOD disponibles del tipo de LOD solicitado en un recurso de malla estática. |
Determinar oclusión de malla | Determina qué mallas están totalmente ocultas por otras mallas del conjunto cuando se ven desde fuera. |
Obtener la lista de materiales LOD desde malla esquelética | Extrae la lista de materiales y los índices de materiales correspondientes del LOD especificado del recurso de malla esquelética. |
Obtener lista de materiales desde malla estática | Obtiene los materiales del recurso de malla estática. |
Obtener lista de materiales desde malla esquelética | Obtiene los materiales del recurso de malla esquelética. |
Convertir mapa de materiales en lista de materiales | Convierte el mapa de materiales en una lista de materiales y una lista de nombres de ranuras. Los materiales nulos se mantendrán en la lista, que tendrá el mismo número de elementos que el mapa. |
Convertir lista de materiales en mapa de materiales | Convierte la lista de materiales y la lista de nombres de ranuras en un mapa de materiales, que es el formato previsto por CreateNewSkeletalMeshAssetFromMesh. |
Copiar Morph Target en malla esquelética | Añade un Morph Target de malla dinámica a un recurso de malla esquelética. |
Copiar perfil de peso de piel en malla esquelética | Añade un perfil de peso de piel de la malla dinámica a un recurso de la malla esquelética. |
Generación de elementos primarios
Puedes usar estas funciones para generar y añadir una malla primaria a la malla dinámica de entrada.
| Nombre de nodo | Descripción |
|---|---|
Anexar caja | Añade una caja 3D a una malla dinámica especificada. |
Anexar longitud de la latitud de la esfera | Añade una esfera 3D triangulada usando una topología de latitud y longitud a una malla dinámica. |
Anexar caja de esfera | Añade una esfera 3D triangulada usando una topología de caja a una malla dinámica. |
Anexar cápsula | Añade una cápsula 3D a una malla dinámica. |
Anexar cilindro | Añade un cilindro 3D (con tapas opcionales en los extremos) a una malla dinámica. |
Anexar cono | Añade un cono 3D a una malla dinámica. |
Anexar toroide | Añade un toroide 3D (anillo) o un toroide parcial a una malla dinámica. |
Anexar rectángulo XY | Añade un rectángulo plano a una malla dinámica. |
Anexar rectángulo redondeado XY | Añade un rectángulo plano con esquinas redondeadas (RoundRect) a una malla dinámica. |
Anexar disco | Añade un disco plano a una malla dinámica. |
Anexar polígono triangulado | Añade una triangulación de Delaunay de un polígono plano 2D a una malla dinámica. |
Anexar polígono giratorio | Añade la superficie de revolución de un polígono 2D, ya sea una revolución completa o una revolución parcial con límite opcional, a una malla dinámica. |
Anexar polígono giratorio en espiral | Gira un polígono 2D en una trayectoria helicoidal, como la que se utiliza para crear una espiral vertical. |
Anexar ruta de giro | Hace girar una ruta 2D abierta, con los límites superior e inferior opcionales. |
Anexar polígono de extrusión simple | Extruye un polígono 2D a lo largo de una ruta vertical usando una malla dinámica seleccionada. |
Anexar polígono barrido simple | Hace un barrido con un polígono 2D a lo largo de una ruta 3D arbitraria usando una malla dinámica seleccionada. |
Anexar escaleras rectas | Añade una escalera lineal usando una malla dinámica seleccionada. |
Anexar escaleras curvas | Añade una escalera circular ascendente usando una malla dinámica seleccionada. |
Anexar malla con transformación | Aplica cada transformación a la malla de anexión y, a continuación, añade su geometría a la malla de destino. |
Anexar polígono de barrido | Realiza un barrido y rota un polígono 2D a lo largo de la ruta de barrido para crear una malla 3D que se añade a la malla proporcionada. |
Anexar diagrama de Voronoi 2D | Genera celdas de Voronoi trianguladas a partir de los sitios de Voronoi proporcionados, identifica cada una con poligrupos y las añade a la malla proporcionada. |
Anexar polilínea de barrido | Realiza un barrido con los vértices de la polilínea 2D dada a lo largo de la ruta de barrido especificada como un conjunto de FTransforms. Si los vértices 2D son (U,V), en el espacio de coordenadas de FTransform, los puntos X apuntan "a lo largo" de la ruta, los puntos Y apuntan "a la derecha" (U) y los puntos Z apuntan "hacia arriba" (V). |
Anexar caja delimitadora | Añade una caja 3D a la malla de destino con las dimensiones y el origen tomados de la caja de entrada. |
Anexar triangulación de Delaunay 2D | Genera una triangulación de Delaunay de los vértices proporcionados y la añade a la malla objetivo. |
Anexar triangulación de lista de polígonos | Genera una triangulación Delaunay de la lista de polígonos proporcionada y la añade a la malla de destino. |
Anexar polígono triangulado 3D | Anexa un polígono triangulado (con vértices especificados en 3D) a la malla de destino. Utiliza la triangulación basada en el método ear-clipping. Los vértices de salida siempre serán 1:1 con los vértices de entrada. El punto final del polígono no se repite. |
Anexar formas de colisión simple | Anexa formas de colisión simples a la malla de destino, trianguladas como se especifica en las opciones de triangulación. |
Anexar cobertura de esferas | Anexa las esferas de la cobertura de esferas a la malla de destino. |
Anexar caja con colisión | Anexa una caja 3D a la malla de destino y crea una colisión simple de emparejamiento. |
Anexar caja delimitadora con colisión | Anexa una caja 3D a la malla de destino con dimensiones y origen extraídos de la caja de entrada. También crea una colisión simple de emparejamiento. |
Anexar longitud de la latitud de la esfera con colisión | Anexa una esfera 3D triangulada utilizando topología de latitud/longitud a la malla de destino. También crea una colisión simple de emparejamiento. |
Anexar caja de esfera con colisión | Anexa una esfera 3D triangulada utilizando la topología de caja a la malla de destino. También crea una colisión simple de emparejamiento. |
Anexar cápsula con colisión | Anexa una cápsula 3D a la malla de destino. También crea una colisión simple de emparejamiento. |
Crear bucle de bordes restringidos | Diseñado para utilizarse con Anexar triangulación de Delaunay 2D. Crea un bucle de bordes a través de vértices secuenciales. Por ejemplo, un bucle (3,0) construye los bordes (2,0), (0,1) y (1,2). |
Crear cadena de bordes restringidos | Diseñado para utilizarse con Anexar triangulación de Delaunay 2D. Crea una cadena de bordes a través de vértices secuenciales. Por ejemplo, una cadena (3,0) construirá los bordes (0,1) y (1,2). |
Transformación y deformación
Puedes usar estas funciones para manipular las posiciones de los vértices de una malla dinámica. Estas manipulaciones no cambian la topología de la malla ni la conectividad.
| Nombre de nodo | Descripción |
|---|---|
Trasladar malla | Aplica la traslación proporcionada a los vértices de una malla. |
Escalar malla | Aplica una transformación de escala a los vértices de una malla. |
Transformar malla | Aplica una transformación FTransform arbitraria a los vértices de una malla. |
Aplicar deformación de pliegue a la malla | Aplica una deformación de curvas alrededor de un eje definido por una transformación. |
Aplicar deformación de torsión a la malla | Aplica una deformación de torsión alrededor de un eje definido por una transformación. |
Aplicar deformación de ensanchamiento a la malla | Aplica una deformación de ensanchamiento o de abombamiento. |
Aplicar deformación matemática a la malla | Aplica varias deformaciones simples basadas en funciones matemáticas, actualmente una onda sinusoidal 1D o 2D con orientación arbitraria. |
Aplicar ruido Perlin a la malla | Aplica un desplazamiento de ruido Perlin 3D a toda la malla o a regiones de la malla definidas por la selección opcional. |
Aplicar suavizado iterativo a la malla | Aplica varias iteraciones de suavizado de malla a toda la malla o a un subconjunto definido por la selección opcional. |
Aplicar desplazamiento desde mapa de texturas | Aplica un desplazamiento a una malla dinámica basado en una Texture2D y un canal UV. |
Rotar malla | Rota la malla respecto al origen especificado. |
Trasladar punto de traslación a ubicación | Establecer la ubicación del punto de traslación de la malla. Dado que el punto de traslación de un objeto de malla siempre es el punto en (0,0,0), esta función simplemente traslada la malla con `-PivotLocation`. |
Crear transformación a partir del eje Z | Crea una transformación en la ubicación proporcionada, con el vector ZAxis como eje Z de la transformación, y el eje X o Y orientado al vector tangente, en función del parámetro |
Crear transformación a partir de ejes | Crea una transformación en la ubicación proporcionada, con el vector ZAxis como eje Z de la transformación, y el eje X o Y orientado al vector de la tangente, en función del parámetro |
Obtener vector del eje de transformación | Obtiene el vector para la dirección de los ejes X, Y y Z de la transformación. |
Obtener rayo del eje de transformación | Obtiene el rayo en la ubicación de la transformación alineado con la dirección de los ejes X, Y y Z de la transformación. |
Obtener plano del eje de transformación | Obtiene el plano en la ubicación de la transformación con el plano normal alineado con la dirección de los ejes X, Y y Z de la transformación. |
Composición y descomposición
Puedes usar estas funciones para combinar mallas o separarlas.
| Nombre de nodo | Descripción |
|---|---|
Copiar malla en malla | Copia la malla de una malla dinámica a otra. |
Obtener submalla de la malla | Copia una lista de triángulos de una malla dinámica a otra. |
Dividir la malla por componentes | Separa una malla en partes, una para cada componente conectado, extraídas de un conjunto de mallas dinámicas. |
Dividir malla por ID de materiales | Separa una malla en partes, una para cada ID de material, extraídas de un conjunto de mallas dinámicas. |
Anexar malla | Añade la geometría de una malla a otra con la opción de transformación. |
Anexar malla repetida | Añade la geometría de una malla a otra en función del número de veces que deba repetirse y acumula una transformación cada vez. Esta operación es útil para crear patrones. |
Modelado de mallas
Estas funciones proporcionan operaciones estándar de modelado de alto nivel, pero generalmente llaman al código de procesamiento de malla de bajo nivel al que llamaría la herramienta con el mismo nombre en el modo de modelado.
| Nombre de nodo | Descripción |
|---|---|
Aplicar booleano de malla | Aplica una operación booleana (como unión, intersección y sustracción) a una malla dinámica en función de una segunda malla. |
Aplicar corte de plano de malla | Aplica un corte de plano a una malla y, opcionalmente, rellena los agujeros creados. |
Aplicar segmentación de plano de malla | Corta una malla en dos mitades y, opcionalmente, rellena los agujeros creados. |
Aplicar espejo de la malla | Refleja una malla a través de un plano y, opcionalmente, corta o suelda los triángulos. |
Aplicar desfase de malla | Mueve los vértices de una malla a una superficie de desfase. |
Aplicar caparazón de malla | Desplaza una copia de los triángulos de la malla a una superficie de desfase y los une a los triángulos originales. Por ejemplo, para crear una capa engrosada. |
Aplicar extrusión de malla | Realiza la extrusión de los triángulos de una malla a lo largo de la dirección de una constante. Por ejemplo, crea un sólido a partir de un polígono de triángulos abierto. |
Aplicar solidificación de malla | Sustituye la malla por una aproximación voxelizada y con malla (operación VoxWrap). |
Aplicar morfología de malla | Sustituye la malla por una aproximación de la malla de desfase en función de SDF. |
Aplicar unión propia de malla | Un objeto realiza una operación de unión booleana consigo mismo y calcula acciones como la reparación de autointersecciones y la eliminación de geometría flotante. |
Aplicar bisel de poligrupo de malla | Aplica la operación de biselado de malla a todos los bordes del poligrupo. |
Aplicar desconexión de caras de malla en los bordes | Desconecta los triángulos de la malla de destino a lo largo de los bordes de la selección. La selección de entrada sigue identificando los mismos elementos geométricos después de la desconexión. |
Aplicar biselado de malla a selección de bordes | Aplica una operación de biselado de malla a partes de la TargetMesh utilizando la configuración de las opciones de biselado. |
Selecciones de malla
Estas funciones identifican regiones de una malla para diferentes herramientas para que puedan operar localmente. Hay varias funciones que pueden actuar sobre la malla entera o sobre un subconjunto definido por una selección. Los tipos de selección son: triángulo, vértices y poligrupos.
| Nombre de nodo | Descripción |
|---|---|
Invertir selección de malla | Invierte la selección en la malla de destino. |
Crear selección completa de malla | Crea una selección del tipo de selección indicado que contiene todos los elementos de la malla de destino. |
Convertir selección de malla | Convierte una selección de malla a un tipo diferente. De forma predeterminada, los vértices se asignan a triángulos dentro de una vecindad de one-ring y los triángulos a todos los vértices contenidos. |
Combinar selecciones de malla | Combina dos selecciones de malla en una nueva selección de malla. Las dos entradas, Selección A y Selección B, deben ser del mismo tipo. |
Convertir matriz de índices en selección de malla | Crea una selección de malla a partir de la matriz de índices. |
Convertir conjunto de índices en selección de malla | Crea una selección de malla a partir del conjunto de índices. |
Convertir selección de malla en matriz de índices | Convierte una selección de malla en una matriz de índices. |
Convertir lista de índices en selección de malla | Crea una selección de malla a partir de la lista de índices. En los casos en los que el tipo de lista de índices no coincida con el tipo de selección, se usa la selección de malla con |
Convertir selección de malla en lista de índices | Convierte una selección de malla en una lista de índices. |
Seleccionar elementos de malla en la caja | Crea una nueva selección de malla con el tipo de selección para la malla objetivo y busca todos los elementos contenidos en la caja. |
Seleccionar elementos de malla en caja con BVH | Crea una nueva selección de malla del tipo de selección para la malla objetivo y busca todos los elementos contenidos en la caja. Es similar a Seleccionar elementos de malla en la caja, pero requiere un BVH para que funcione más rápido. |
Seleccionar elementos de malla en la esfera | Crea una nueva selección de malla con el tipo de selección para la malla objetivo y busca todos los elementos contenidos en la esfera. |
Seleccionar elementos de malla con plano | Crea una nueva selección de malla con el tipo de selección para la malla objetivo y busca todos los elementos en un lado del plano, en concreto el lado hacia el que apunta la normal a la superficie de un plano. |
Seleccionar elementos de malla por ángulo de normal | Crea una nueva selección de malla con el tipo de selección para la malla objetivo y busca todos los elementos que tengan un vector normal que esté dentro de un umbral de desviación angular de la normal dada. Para las selecciones de triángulos y poligrupos, se utiliza la normal de faceta de triángulo; para las selecciones de vértices, se utiliza la normal promediada por vértice. |
Seleccionar elementos de malla dentro de la malla | Crea una nueva selección de malla con el tipo de selección para la malla objetivo y busca todos los elementos dentro de una segunda malla de selección. |
Expandir la selección de malla a elementos conectados | Expande la selección de la malla objetivo a las regiones conectadas y devuelve la nueva selección. |
Obtener la caja delimitadora de selección de malla | Obtiene la caja delimitadora 3D de una selección de malla. |
Obtener bucles de los límites de la selección de malla | Calcula el conjunto de bucles de vértice que delimitan una selección de malla. Para cada bucle se devuelven tanto las polilíneas 3D como las listas de índices de vértices. Para una selección de vértices, esta función devuelve los bordeados cíclicos alrededor de la vecindad de un anillo único de la selección de vértices. |
Obtener información de selección de malla | Consulta información sobre una selección de malla. |
Impresión de depuración de la selección de malla | Imprime información sobre la selección de malla en el registro de salida. |
Expandir contraer selección de malla | Amplía o reduce la selección en la malla de destino a los vecinos conectados. En las selecciones de vértices, la función Expandir incluye los vértices del anillo único de vértices seleccionado, mientras que Contraer elimina cualquier vértice que tenga un vecino de un anillo que no esté seleccionado. Para las selecciones de triángulos, añade o elimina triángulos conectados a los triángulos seleccionados. * Para las selecciones de poligrupos, añade o elimina poligrupos conectados a los seleccionados. |
Obtener información de selección única de malla | Consulta información sobre una selección de malla y obtiene un recuento de elementos seleccionados únicos. |
Seleccionar elementos de malla por ID de material | Crea una selección del tipo de selección que contiene todos los elementos de malla que hacen referencia a los triángulos con el ID de material indicado. |
Seleccionar elementos de malla por poligrupo | Crea una selección del tipo SelectionType que contiene todos los elementos de malla que hacen referencia a los triángulos con el ID del poligrupo indicado en la GroupLayer dada. |
Seleccionar bordes agudos de la malla | Crea una nueva selección para la malla objetivo de todos los bordes agudos en los que las normales de los triángulos adyacentes del borde difieren al menos en MinAngleDeg. |
Seleccionar bordes límite de la malla | Crea una nueva selección, para TargetMesh, de todos los bordes límite de la malla. |
Seleccionar bordes límite de selección | Crea una nueva BoundarySelection, para la TargetMesh, de los bordes en el límite de otra selección. |
Cómo modificar mallas mediante selección
Funciones para editar la geometría de una selección determinada.
Transformación de mallas
| Nombre de nodo | Descripción |
|---|---|
Transformar selección de malla | Aplica la transformación indicada a la parte seleccionada de la malla. |
Trasladar selección de malla | Aplica la traslación indicada a la parte seleccionada de la malla. |
Rotar selección de malla | Rota la parte seleccionada de la malla respecto al origen especificado. |
Escalar selección de malla | Aplica la escala dada a la parte seleccionada de la malla. |
Materiales y poligrupos
| Nombre de nodo | Descripción |
|---|---|
Establecer ID de material para selección de malla | Establece un nuevo ID de material en todos los triángulos de la selección indicada. |
Establecer poligrupo para selección de malla | Establece un nuevo grupo de polígono en todos los triángulos de la selección especificada para la capa de grupo especificada. |
Modelado de mallas
| Nombre de nodo | Descripción |
|---|---|
Aplicar desconexión a caras de malla | Desconecta los triángulos de la malla de destino identificados por la selección. |
Aplicar duplicación a caras de malla | Duplica los triángulos de la malla objetivo identificados por la entrada de la selección. |
Aplicar extrusión lineal a caras de malla | Aplica extrusión lineal a los triángulos de la malla objetivo identificados por la selección. |
Aplicar desfase a caras de malla | Aplica un desfase a las caras de la malla objetivo identificadas por la selección o a todas las caras si la selección está vacía. |
Aplicar desfase hacia dentro o hacia fuera a caras de malla | Aplica un desfase hacia dentro o hacia fuera a las caras de la malla objetivo identificadas por la selección, o a todas las caras si la selección está vacía. |
Aplicar selección de biselado de malla | Aplica una operación de biselado de malla a partes de la TargetMesh utilizando la configuración de las opciones de biselado. |
Subdivisión
Estas funciones aplican varias estrategias de subdivisión de malla a una malla dinámica.
| Nombre de nodo | Descripción |
|---|---|
Aplicar subdivisión Catmull Clark a poligrupo | Aplica la subdivisión Catmull Clark a la topología de poligrupos de la malla (descarta la triangulación de entrada). Este nodo solo funciona en el editor. |
Aplicar subivisión en bucle de triángulos | Aplica subdivisión en bucle a la malla de entrada. Este nodo solo funciona en el editor. |
Aplicar teselado selectivo | Tesela la selección de malla especificada utilizando el tipo de patrón indicado. |
Aplicar teselado de normal a punto | Aplica un teselado de normal a punto a la malla de entrada. |
Aplicar teselado uniforme | Aplica un teselado uniforme a la malla entrada. |
Simplificación
Estas funciones simplifican una malla mediante varias estrategias.
| Nombre de nodo | Descripción |
|---|---|
Aplicar simplificación al número de triángulos | Simplifica la malla hasta alcanzar un número de triángulos objetivo. |
Aplicar simplificación al número de vértices | Simplifica la malla hasta alcanzar un número de vértices objetivo. |
Aplicar simplificación a la tolerancia | Simplifica la malla a una tolerancia geométrica objetivo. Por ejemplo, cualquier otra simplificación daría como resultado una desviación de la malla de entrada mayor que la tolerancia. |
Aplicar simplificación a plano | Simplifica las zonas planas de la malla que tienen más triángulos de los necesarios. Esto no cambia la forma 3D de la malla. |
Aplicar simplificación a la topología del poligrupo | Simplifica la malla hasta la topología del poligrupo. Por ejemplo, las caras de alto nivel de los poligrupos de la malla. Otro ejemplo sería en una caja-esfera predeterminada, en la que la simplificación a la topología de poligrupo da lugar a una caja. |
Box (caja)
Funciones de utilidad para calcular funciones matemáticas básicas para objetos de caja.
| Nodo | Descripción |
|---|---|
Crear caja a partir del tamaño del centro | Crea una caja a partir de un punto central y tiene dimensiones X, Y y Z. |
Crear caja a partir del tamaño de las extensiones | Crea una caja a partir de un punto central y extents X, Y y Z. Las extensiones son semidimensiones. |
Obtener el tamaño del centro de la caja | Obtiene el punto central y las dimensiones X, Y y Z de una caja. |
Obtener esquina de caja | Obtiene la posición de una esquina de la caja. Las esquinas se indexan del 0 al 7 usando un orden como el siguiente:
|
Obtener el centro de la cara de la caja | Obtiene la posición del centro de una cara de una caja. Las caras se indexan del 0 al 5 usando un orden como el siguiente:
|
Obtener el área del volumen de la caja | Obtiene el volumen y el área de la superficie de una caja. |
Obtener caja expandida | Obtiene la caja de entrada ampliada y añade el parámetro Expandir por tanto al valor mínimo como al máximo. Las dimensiones se anclarán al punto central si cualquier parámetro ExpandBy es mayor que la mitad del tamaño de la caja. |
Obtener caja transformada | Aplica la transformación de entrada a las esquinas de la caja de entrada y devuelve la caja nueva que contiene esos puntos. |
Probar intersección de cajas | Comprueba si la caja 1 y la caja 2 intersecan. |
Buscar intersección de cajas | Encuentra la caja formada por la intersección de la caja 1 y la caja 2. |
Obtener distancia entre cajas | Calcula la distancia mínima entre la caja 1 y la caja 2. |
Probar punto dentro de caja | Comprueba si un punto está dentro de la caja; en caso afirmativo, el nodo se activa y, en caso contrario, se desactiva. |
Encontrar punto más cercano en la caja | Busca el punto de las caras de la caja que está más cerca del punto de entrada. Si el punto está dentro de la caja, se devuelve. |
Obtener distancia del punto de la caja | Calcula la distancia mínima entre la caja y el punto. |
Probar intersección de esfera y caja | Comprueba si la caja interseca una esfera definida por el centro de la esfera y el radio de la esfera. |
Normales
Estas funciones recalculan las normales de una malla.
| Nombre de nodo | Descripción |
|---|---|
Voltear normales | Voltea las normales de malla al invertir la orientación de cada cara. |
Establecer normales por vértice | Define las normales de la malla como normales por vértice. Por ejemplo, no hay normales divididas en ningún vértice. |
Establecer normales facetadas para malla | Establece que las normales de la malla sean normales por cara/triángulo. Por ejemplo, hay normales divididas a lo largo de cada borde de la malla. |
Calcular normales divididas | Calcula las normales divididas para la malla en función de una tolerancia de ángulo u otros factores, como la topología de los poligrupos. |
Recalcular normales | Vuelve a calcular las normales de malla existentes. Conserva las normales divididas existentes. Se usarán después de deformar la malla, por ejemplo. |
Calcular tangentes | Vuelve a calcular las tangentes de la malla (varios métodos). |
Establecer normales por vértice de malla | Establece que todas las normales de la superposición de normales de la malla objetivo sean las normales por vértice especificadas. |
Obtener tangentes de malla | Comprueba si la malla de destino tiene una capa de atributos de tangentes habilitada. |
Descartar tangentes | Elimina las capas de atributos de tangentes existentes de la malla de destino. |
Calcular tangentes | Vuelve a calcular las tangentes de la malla de destino mediante el método especificado. |
Establecer tangentes por vértice de malla | Establece que todas las tangentes de la superposición de tangentes de la malla objetivo sean las tangentes por vértice especificadas. |
Obtener tangentes por vértice de malla | Calcula la posición interpolada, |
Actualizar normal de vértice | Actualizar las normales y las tangentes en VertexD de la malla de destino. |
Recalcular normales para la selección de malla | Vuelve a calcular las normales de la malla objetivo en todos los triángulos o vértices de la selección dada usando las opciones de cálculo indicadas. Este método conserva las aristas fijas existentes, es decir, cada normal de vértice de triángulo compartido se recalcula promediando las normales de las caras de los triángulos que hacen referencia a esa normal de vértice de triángulo compartido. |
Definición de las normales divididas a lo largo de los bordes seleccionados | Establece o elimina las normales divididas (también conocidas como normales nítidas) para todos los bordes de la selección. |
Limpieza y reparación
Puedes usar estas funciones para solucionar problemas en una malla o para aplicar otras reparaciones estándar.
| Nombre de nodo | Descripción |
|---|---|
Compactar malla | Compacta los vértices y triángulos de la malla para eliminar los «huecos» en las listas de ID de vértices o ID de triángulos (consulta la explicación en la sección Consultas de malla de bajo nivel). |
Descartar atributos de la malla | Elimina el conjunto de atributos de una malla dinámica, como todos los UV, las normales, los ID de material, los colores de los vértices y las capas de los poligrupos ampliados. Ten en cuenta que esto puede impedir el funcionamiento correcto de muchas funciones. |
Reparar normales automáticamente | Esta función intenta reorientar automáticamente las normales de una malla para que sean coherentes, por ejemplo, mediante la corrección de las normales invertidas. |
Soldar los bordes de la malla | Suelda los bordes abiertos de la malla, si es posible, para eliminar las «grietas». |
Rellenar todos los agujeros de la malla | Intenta rellenar todos los bucles de límites abiertos (como agujeros en la superficie de la geometría) de una malla. |
Eliminar componentes pequeños | Elimina los componentes conectados de la malla que tienen un volumen, área o número de triángulos por debajo de un umbral. |
Eliminar triángulos ocultos | Elimina todos los triángulos de la malla que no son visibles desde el exterior, según las distintas definiciones de «visible» y «exterior». |
Resolver uniones en T de malla | Intenta resolver las uniones en T en la malla de destino. |
Dividir mariposas de malla | Divide los vértices de la malla de destino que, de otro modo, producirían una geometría de mariposa en la que solo un único vértice conecta regiones de la malla. |
Reparar geometría degenerada de malla | Modifica la malla de destino y elimina triángulos pequeños o fusiona triángulos hasta que todos los bordes sean mayores que una longitud mínima especificada. |
Eliminar vértices sin usar | Eliminar vértices que no ha utilizado ningún triángulo. No actualiza los ID de los vértices restantes. Usa la opción **Compactar malla** para hacerlo. |
Acoplar límites abiertos de malla | Acoplar los vértices de las aristas abiertas al límite abierto compatible más cercano, si se encuentra dentro de la distancia de tolerancia. |
Consultas de malla de bajo nivel
Estas funciones proporcionan información de bajo nivel sobre los elementos de una malla. En este contexto, VertexID y TriangleID son enteros.
En una malla dinámica, puede haber huecos en el intervalo de ID de vértice o ID de triángulo (después de eliminar los vértices/triángulos) y algunas operaciones (como la simplificación) pueden devolver una malla con espacios. Los huecos en los rangos de ID se limpian con la función Compactar malla.
| Nombre de nodo | Descripción |
|---|---|
Obtener recuento de vértices | Obtiene el número de vértices de la malla. |
Obtener número de ID de vértices | Obtiene la cantidad de ID de vértices en la malla, que podría ser mayor que el recuento de vértices, si la malla no es densa. Por ejemplo, después de eliminar vértices. |
Es un ID de vértice válido | Se cumple si un ID de vértice hace referencia a un vértice válido. |
Obtener todos los ID de vértices | Devuelve una IndexList de todos los ID de vértices en la malla. |
Obtener posición de vértice | Obtiene la posición 3D de un vértice de la malla por ID de vértice. |
Obtener todas las posiciones de los vértices | Devuelve una lista de vértices con todas las posiciones de los vértices de la malla. (probablemente sea una lista larga). |
Obtener cantidad de triángulos | Devuelve el número de triángulos de la malla. Ten en cuenta que se trata de una función que se ejecuta directamente en la malla dinámica. |
Obtener número de ID de triángulos | Obtiene la cantidad de ID de triángulo en la malla. El número podría ser mayor que el recuento de triángulos si la malla no es densa, incluso después de eliminar triángulos. |
Es un ID de triángulo válido | Se cumple si un ID de triángulo hace referencia a un triángulo válido. |
Obtener todos los ID de triángulo | Devuelve una lista de índices con todos los ID de triángulos de una malla. |
Obtener índices de triángulos | Devuelve el triplete de índices de los vértices de un triángulo. |
Obtener todos los índices de triángulos | Devuelve una TriangleList de todos los tripletes de índices de triángulos en una malla. |
Obtener posiciones de triángulo | Devuelve las posiciones de las tres esquinas de un triángulo. |
Obtener normal de cara de triángulo | Devuelve la normal facetada/la cara de un triángulo. |
Obtener UV de triángulo | Devuelve los UV de las tres esquinas de un triángulo. |
Obtener ID de material del triángulo | Devuelve el ID de material actual de un triángulo. |
Obtener todos los ID de materiales de triángulos | Devuelve una lista de índices con todos los ID de materiales de triángulos. |
Obtener ID de poligrupo de triángulo | Devuelve el ID del poligrupo actual de un triángulo en una capa de poligrupo determinada. |
Obtener si hay espacios de ID de vértice | Se cumple si hay espacios en la lista de ID de vértices. Por ejemplo, **Get Number of Vertex IDs** es mayor que **Get Vertex Count**. |
Obtener si hay espacios de ID de triángulo | Se cumple si hay espacios en la lista de ID de triángulos, de forma que Obtener número de ID de triángulos es mayor que Obtener cantidad de triángulos. |
Obtener si es malla densa | Se cumple si la malla es densa. Por ejemplo, sin espacios en los identificadores de vértices o triángulos. |
Obtener si la malla tiene un conjunto de atributos | Se cumple si la malla tiene un conjunto de atributos habilitado para almacenar UV, normales, ID de material y colores de vértices. Esto suele estar activado por defecto. |
Obtener posición de triángulo interpolada | Calcula la posición interpolada, |
Calcular coordenadas baricéntricas de triángulo | Calcula las coordenadas baricéntricas (A,B,C) de los puntos relativos al ID de triángulo especificado de la malla de destino. |
Obtener UV de triángulo interpolado | Calcula los UV interpolados, |
Obtener normales de triángulo | Para el TriangleID especificado de la malla de destino, se obtienen los vectores normal y tangente en cada vértice del triángulo. Estas normales y tangentes se tomarán de la superposición de normales y tangentes. |
Obtener normal de triángulo interpolada | Calcula la normal interpolada, |
Obtener tangentes normales de triángulo | Para el TriangleID especificado de la malla de destino, se obtienen los vectores normal y tangente en cada vértice del triángulo. Estas normales y tangentes se tomarán de la superposición de normales y tangentes. |
Obtener tangentes normales de interpoladas de triángulo | Calcula las normales y tangentes interpoladas para el TriangleID especificado en los atributos de normales y tangentes de la malla de destino. |
Obtener si tiene colores de vértice | Se cumple si la malla de destino tiene habilitado el atributo de colores del vértice. |
Obtener colores de vértice de triángulo | Obtiene los colores de vértice en cada vértice del triángulo para el TriangleID especificado de la malla de destino. Estos colores se tomarán del atributo de color del vértice. |
Obtener color de vértice interpolado de triángulo | Calcula el color de vértice interpolado, |
Obtener todas las posiciones de los vértices en los bordes | Devuelve las posiciones de los vértices de cada arista en la lista de índices especificada. |
Obtener el área de UV de la malla | Obtiene el área de triángulos en el espacio de UV para el canal UV dado. |
Obtener los bordes de todas las costuras de UV | Devuelve todos los ID de elementos de borde que son bordes de costuras de UV para un canal UV determinado. |
Obtener el número de islas de UV | Devuelve el número de islas de UV en un canal UV dado. |
Construcción de mallas de bajo nivel
Estas funciones construyen una malla triángulo a triángulo y realizan otras operaciones de edición de malla de bajo nivel.
Usar estas funciones en situaciones que implican bucles sobre los elementos de mallas con muchos miles de triángulos puede ser bastante lento en las secuencias de comandos de Blueprint o Python.
| Nombre de nodo | Descripción |
|---|---|
Establecer posición de vértice | Establece la posición 3D de un vértice de malla. |
Añadir vértice a la malla | Añade un nuevo vértice a la malla y devuelve un ID de vértice nuevo. |
Añadir vértices a la malla | Añade una lista de vértices a la malla. |
Eliminar vértice de la malla | Elimina un vértice de la malla. |
Eliminar vértices de la malla | Elimina una lista de vértices de la malla. |
Añadir triángulo a la malla | Añade un triángulo (una tupla de ID de vértices de 3 elementos) a la malla. |
Añadir triángulos a la malla | Añade una lista de triángulos a la malla. |
Eliminar triángulo de la malla | Elimina un triángulo de la malla. |
Eliminar triángulos de la malla | Elimina una lista de triángulos de la malla. |
Eliminar triángulos en poligrupo | Elimina todos los triángulos de la malla que tengan un poligrupo determinado en una capa de poligrupo específica. |
Anexar búferes a la malla | Añade un conjunto de vértices/triángulos a la malla, con atributos como normales y UV. Es similar a la función **Crear sección de malla** del componente de procesamiento de mallas. |
Establecer normales de triángulo de malla | Define las normales de un triángulo de malla. |
Establecer UV de triángulo de malla | Establece los UV de un triángulo de malla. |
Establecer ID de material del triángulo | Establece el ID de material de un triángulo de malla. |
Establecer todas las posiciones de los vértices de la malla | Establecer todas las posiciones de vértice en la malla de destino a las posiciones especificadas. |
Anexar malla con materiales | Aplica Anexar transformación a Anexar malla, y luego añade su geometría a la malla de destino. También combina listas de materiales de la malla anexa y de destino, y actualiza los materiales de la malla de salida para hacer referencia a la lista combinada. |
Anexar malla transformada con materiales | Para cada transformación en AppendTransforms, aplica la transformación a AppendMesh y, a continuación, añade su geometría a TargetMesh. También combina listas de materiales de la malla anexa y de destino, y actualiza los materiales de la malla de salida para hacer referencia a la lista combinada. |
Anexar malla repetida con materiales | Aplica repetidamente AppendTransform a la AppendMesh y añade cada vez la geometría a la TargetMesh. También combina listas de materiales de la malla anexa y de destino, y actualiza los materiales de la malla de salida para hacer referencia a la lista combinada. |
Gestión de listas de bajo nivel
Estas funciones abarcan la gestión de listas para: lista de índices, lista de escalares, lista de vectores, lista de UV y lista de colores.
| Nombre de nodo | Descripción |
|---|---|
Obtener longitud de lista de índices | Devuelve el número de elementos de la lista de UV. |
Obtener último índice de lista de índices | Devuelve el índice del último elemento de la lista de índices. |
Obtener elemento de lista de índices | Devuelve el elemento almacenado en la lista de índices en la ubicación especificada. |
Establecer elemento de lista de índices | Actualiza el valor del elemento almacenado en la lista de índices en la ubicación especificada. |
Convertir lista de índices en matriz | Convierte una lista de índices en una matriz de enteros. |
Convertir matriz en lista de índices | Convierte una matriz de enteros en una lista de índices. |
Duplicar lista de índices | Duplica el contenido de la lista de índices en la lista de duplicados. |
Borrar lista de índices | Restablece todos los elementos de la lista de índices al valor Borrar. |
Obtener longitud de lista de escalares | Devuelve el número de elementos de la lista de escalares. |
Obtener último índice de la lista de escalares | Devuelve el índice del último elemento de la lista de escalares. |
Obtener elemento de lista de escalares | Devuelve el escalar (valor doble) almacenado en la lista de escalares en la ubicación especificada. |
Definir elemento de lista de escalares | Actualiza el valor del escalar almacenado en la lista de escalares en la ubicación especificada. |
Convertir lista de escalares en matriz | Convierte una lista de escalares en una matriz de valores dobles. |
Convertir matriz en lista de escalares | Convierte una matriz de valores dobles en una lista de escalares. |
Duplicar lista de escalares | Copia el contenido de la lista de escalares en la lista de duplicados. |
Borrar lista de escalares | Restablece todos los elementos de la lista de escalares al valor Borrar. |
Obtener longitud de lista de vectores | Devuelve el número de elementos de la lista de vectores. |
Obtener último índice de la lista de vectores | Devuelve el índice del último elemento de la lista de vectores. |
Obtener elemento de lista de vectores | Devuelve el FVector almacenado en VectorList en la ubicación especificada. |
Establecer elemento de lista de vectores | Actualiza el valor de FVector almacenado en la lista de vectores en la ubicación especificada. |
Convertir lista de vectores en matriz | Convierte una lista de vectores en una matriz de FVectors. |
Convertir matriz en lista de vectores | Convierte una matriz de FVectors en una lista de vectores. |
Duplicar lista de vectores | Copia el contenido de la lista de vectores en la lista de vectores duplicados. |
Borrar lista de vectores | Restablece todos los elementos de la lista de vectores al valor Borrar. |
Obtener longitud de lista de UV | Devuelve el número de elementos de la lista de UV. |
Obtener último índice de lista de UV | Devuelve el índice del último elemento de la lista de UV. |
Obtener elemento de lista de UV | Devuelve el FVector2D almacenado en la lista de UV en la ubicación especificada. |
Establecer elemento de lista de UV | Actualiza el valor de FVector2D almacenado en la lista UV en la ubicación especificada. |
Convertir lista de UV en matriz | Convierte una lista de UV en una matriz de FVector2D. |
Convertir matriz en lista de UV | Convierte una matriz de FVector2D en UVList. |
Duplicar lista de UV | Duplica el contenido de la lista de UV en la lista de duplicados. |
Obtener longitud de lista de colores | Devuelve el número de elementos de la lista de colores. |
Obtener último índice de lista de colores | Devuelve el índice del último elemento de la lista de colores. |
Obtener elemento de lista de colores | Devuelve el FLinearColor almacenado en la lista de colores en la ubicación especificada. |
Definir elemento de lista de colores | Actualiza el valor de FLinearColor almacenado en la lista de colores en la ubicación especificada. |
Convertir lista de colores en matriz | Convierte la lista de colores en una matriz de FLinearColor. |
Convertir matriz en lista de colores | Convierte una matriz de FLinearColor en una lista de colores. |
Extraer canal de lista de colores | Crea una lista de escalares que corresponde al canal 0, 1 o 2 de una lista de colores. |
Extraer canales de lista de colores | Crea una lista de vectores a partir de una lista de colores. Los canales de la lista de colores se asignan a componentes vectoriales mediante el índice del canal X, el índice del canal Y y el índice del canal Z. |
Cálculos matemáticos de bajo nivel
Funciones que operan en las listas de vectores y escalares a modo de componente. Las funciones que aceptan varias listas, como **Vector Dot**, requieren que las listas tengan la misma cantidad de elementos.
| Nombre de nodo | Descripción |
|---|---|
Distancia de vector | Calcula la longitud de cada vector de la lista de vectores A y devuelve el valor en la lista de escalares. |
Punto vectorial | Calcula el producto escalar entre cada par de vectores de la lista de vectores A y la lista de vectores B, y devuelve el valor en la nueva lista de escalares. |
Cruce vectorial | Calcula el producto vectorial entre cada par de vectores de la lista de vectores A y la lista de vectores B, y devuelve el valor en la nueva lista de vectores. |
Normalizar vector en posición | Normaliza cada vector de la lista de vectores y almacena el valor en una lista de vectores. Si un vector está degenerado, establece que la normal sea el vector SetOnFailure. |
Mezcla de vectores | Calcula De forma predeterminada (constants = 1) suma los dos vectores. Establece También puedes usar la función para realizar una interpolación lineal al establecer |
Mezcla de vectores en posición | Calcula De forma predeterminada (constants = 1) suma los dos vectores. Establece También puedes usar la función para realizar una interpolación lineal al establecer |
Multiplicación de vector escalar | Calcula |
Multiplicación de vector escalar en posición | Calcula |
Multiplicación de vector constante | Calcula |
Multiplicación de vector constante en posición | Calcula |
Vector a escalar | Convierte cada vector de la lista de vectores en un escalar. Para ello, calcula Puedes utilizarlo para extraer los valores X, Y y Z de un vector o para otros cálculos matemáticos por componentes |
Inversión de escalar | Calcula Si Abs(Scalar) < Epsilon, establece el valor SetOnFailure. |
Inversión de escalar en posición | Calcula Si Abs(Scalar) < Epsilon, establece el valor SetOnFailure. |
Mezcla de escalar | Calcula De forma predeterminada (constants = 1) solo suma los dos vectores. Establece También puedes utilizar la función para realizar una interpolación lineal al establecer |
Mezcla de escalar en posición | Calcula De forma predeterminada (constants = 1) solo suma los dos vectores. Establece También se puede utilizar para realizar la interpolación lineal al establecer |
Multiplicación de escalar | Calcula |
Multiplicación de escalar en posición | Calcula |
Multiplicación de escalar constante | Calcula |
Multiplicación de escalar constante en posición | Calcula |
Transformación en posición | Transforma cada vector de VectorList y lo almacena en VectorList. |
Transformación invertida de vector en posición | Transforma de forma inversa cada vector de la VectorList y lo almacena en VectorList. |
Proyección de plano vectorial en posición | Proyecta cada vector de VectorList al plano indicado, y lo almacena en VectorList. |
Muestreo de mallas
Estas funciones calculan y colocan puntos a lo largo de la superficie de una malla.
| Nodo | Descripción |
|---|---|
Calcular muestreo de puntos | Calcula un conjunto de puntos de muestra situados en la superficie de la malla objetivo en función de las opciones de muestreo proporcionadas. Las muestras se distribuyen de forma aproximadamente uniforme y no se solapan en relación con las opciones proporcionadas. |
Calcular muestreo de puntos NonUniform | Calcula un conjunto de puntos de muestra situados en la superficie de la malla objetivo en función de las opciones de muestreo y las opciones NonUniform proporcionadas. |
Calcular muestreo de puntos ponderado de vértice | Calcula un conjunto de puntos de muestra situados en la superficie de la TargetMesh basándose en las opciones de muestreo y las opciones NonUniform proporcionadas. |
Calcular las cámaras de captura de renderizado para la caja | Calcula un conjunto de cámaras de captura de renderizado para capturar una escena dentro de la caja proporcionada. |
Calcular muestreo de puntos de captura de renderización | Calcula puntos de muestra orientados en las superficies visibles de los actores proporcionados. Las muestras se calculan utilizando la captura de render de las cámaras virtuales proporcionadas. |
Rayo
Funciones de utilidad para crear y consultar rayos. Un rayo es una línea que se puede usar para determinar las intersecciones de los objetos. Son especialmente útiles para crear interfaces de usuario interactivas en blueprints.
| Nodo | Descripción |
|---|---|
Crear rayo a partir de puntos | Crea un rayo a partir de dos puntos y sitúa el origen en A y la dirección como Normalizar (B-A). |
Crear rayo a partir de la dirección de puntos | Crea un rayo a partir de un origen y una dirección; la dirección puede no estar normalizada. |
Obtener rayo transformado | Aplica la transformación proporcionada al rayo proporcionado, u opcionalmente la transformación inversa, y devuelve el nuevo rayo transformado. |
Obtener punto de rayo | Obtiene un punto en la distancia proporcionada a lo largo del rayo, |
Obtener inicio y fin de rayo | Obtener dos puntos a lo largo del rayo. |
Obtener parámetro de rayo | Proyecta el punto proporcionado sobre el punto más cercano del rayo y devuelve el parámetro y la distancia del rayo en ese punto. |
Obtener distancia de punto de rayo | Obtiene la distancia que va del punto proporcionado al punto más cercano del rayo. |
Obtener punto más cercano de rayo | Obtén el punto más cercano del rayo al punto dado. |
Obtener intersección de rayo y esfera | Comprueba si el rayo interseca una esfera definida por el centro de la esfera y el radio de la esfera. Esta función devuelve dos distancias de intersección (parámetros de rayo). Si el rayo roza la esfera, ambas distancias serán iguales. Si falla, serán MAX_FLOAT. Utiliza la función **Get Ray Point** para convertir las distancias a puntos en el rayo y la esfera. |
Obtener intersección de caja y rayo | Comprueba si el rayo interseca una esfera definida por el centro de la esfera y el radio de la esfera. |
Obtener intersección de rayo y plano | Encuentra la intersección de un rayo y un plano. |
Obtener punto más cercano a la línea del rayo | Calcula el par de puntos más cercanos en un rayo 3D y una línea. La línea está definida por un origen y una dirección, pero se extiende infinitamente en ambas direcciones. |
Obtener punto más cercano al segmento del rayo | Calcula el par de puntos más cercanos en un rayo 3D y un segmento de línea. El segmento de línea se define por sus dos puntos extremos. |
Conjunto de puntos
Funciones para trabajar con conjuntos de puntos.
| Nodo | Descripción |
|---|---|
ID de clústeres de K medias | Use la agrupación K medias para agrupar los puntos proporcionados en un número objetivo de clústeres y devuelve una matriz con un índice de clúster por punto. |
Matrices de clústeres de K medias | Use la agrupación K medias para agrupar los puntos proporcionados en un número objetivo de clústeres y devuelve los clústeres como una matriz de listas de índices de punto. |
Puntos de submuestreo | Encuentra un subconjunto de los puntos dados de un tamaño especificado. Opcionalmente, puedes especificar una ponderación de prioridad o solicitar un espaciado uniforme para los puntos de la muestra reducida. |
Transformaciones a puntos | Crear una matriz con las posiciones de las transformaciones de entrada. |
Desfasar transformaciones | Desfasa la ubicación de todas las transformaciones por desfase en la dirección proporcionada, ya sea localmente en el espacio de la transformación o en el espacio del mundo. Por ejemplo, esto puede desplazar muestras de superficie de malla a lo largo de la dirección normal de la superficie. |
Aplanar puntos | Convierte una matriz de puntos de 3D a 2D, al transformar en el ReferenceFrame proporcionado y tomar las coordenadas X,Y. Ten en cuenta que, para transformar en el ReferenceFrame, aplicamos la transformación del ReferenceFrame invertida. |
Desaplanar puntos | Convierte una matriz de puntos de 2D a 3D, al realizar la transformación a partir del ReferenceFrame proporcionado, con la altura proporcionada para el eje no plano (de forma predeterminada, Z). |
Crear caja delimitadora a partir de puntos | Crea una caja delimitadora alineada con el eje que delimite los puntos dados, expandida opcionalmente en una cantidad adicional a cada lado. |
Obtener puntos de la lista de índices | Crea una matriz del subconjunto de AllPoints que indica la lista de índices. |
Materiales
Funciones para manipular identificadores de materiales de una malla. Un ID de material es un entero por triángulo y no está conectado directamente a ningún material específico. Cada ID de material se asocia a una sección de malla al convertir a una malla estática o desde una malla estática.
| Nombre de nodo | Descripción |
|---|---|
Obtener si tiene ID de materiales | Se cumple si la malla tiene ID de material disponibles/habilitados. |
Habilitar ID de materiales | Activa los ID de material en una malla. Se inicializa en 0. |
Eliminar ID de materiales | Restablece todos los ID de material de una malla a 0. |
Obtener ID de material máx. | Devuelve el ID de material máximo definido actualmente en una malla. |
Reasignar ID de materiales | Reasigna todos los triángulos con un ID de material que coincida con un valor dado y establece el ID de material en un nuevo valor. |
Establecer todos los ID de materiales triangulares | Establece el ID de material de todos los triángulos de una malla a los valores de una lista de índices de entrada. |
Establecer ID de material del poligrupo | Establece el ID de material de todos los triángulos de una malla que tengan un ID de poligrupo especificado (en una capa de poligrupo determinada) como el ID de material especificado. |
Reasignar a los nuevos ID de material por material | Reasigna los ID de material de la malla de destino a un nuevo conjunto de ID de material basado en una lista actual/de partida de materiales, y a una nueva lista de materiales. Para cada triángulo, el material actual se determina como FromMaterialList[MaterialID], y después el primer índice de este material se encuentra en ToMaterialList, y este índice se utiliza como el nuevo MaterialID. Si no se puede encontrar un material en ToMaterialList, se mostrará una advertencia y el MaterialID no se modificará,a menos que MissingMaterialID tenga un valor >= 0, en cuyo caso se asignará MissingMaterialID. |
Reasignar y combinar materiales | Reasignar los ID de los materiales para que sean coherentes con una lista de materiales obligatorios. Los ID de los materiales de la malla objetivo se reasignarán para hacer referencia a la lista de materiales combinados, que siempre comenzará con los materiales obligatorios. |
Colisión
Funciones para crear, editar y manipular formas de colisión.
| Nombre de nodo | Descripción |
|---|---|
La malla estática tiene colisión personalizada | Se cumple si la malla estática tiene una colisión personalizada. Si no hay datos del editor disponibles, no se activa. |
Obtener colisión simple del componente | Obtiene la colisión simple del componente de una forma primitiva. |
Establecer colisión simple del componente de malla dinámica | Establece la colisión simple en un componente de malla dinámica. |
Obtener colisión simple de la malla estática | Obtiene la colisión simple de una malla estática. |
Obtener colisión simple de la malla estática | Establece la colisión simple en una malla estática. |
Obtener recuento de formas de la colisión simple | Recuento del número de formas de colisión simple. |
Transformar formas de colisión simple | Transforma las formas de colisión simple. |
Combinar colisión simple | Añade formas de colisión simples de Anexar colisión a la colisión que se actualizará. |
Simplificar envolventes convexas | Simplifica cualquier envolvente convexa en la representación de colisión simple determinada. Actualiza la colisión simple pasada. |
Aproximar envolventes convexas con formas de colisión más sencillas | Intenta aproximar cualquier envolvente convexa en la representación de colisión simple determinada. Actualiza la colisión simple pasada. Las envolventes convexas que no estén bien aproximadas (con las tolerancias establecidas en ApproximateOptions) permanecerán como envolventes convexas. |
Fusionar formas de colisión simple | Intenta fusionar formas de colisión para crear una representación con menos formas generales. |
Calcular espacio negativo | Calcula el espacio negativo de una superficie de malla de entrada que debe protegerse al fusionar formas de colisión simple. |
Cobertura de esferas a matriz de esferas | Devuelve una matriz de las esferas en la cobertura de esfera dada. |
Matriz de esferas a cobertura de esferas | Devuelve una cobertura de esferas que contiene las esferas en la matriz de esferas dada. |
Establecer colisión compleja personalizada de malla estática | Establece una malla estática como la colisión personalizada para que otra malla estática la utilice. Nota: Solo funciona si existen datos exclusivos del editor. |
Restablecer colisión simple | Elimina las formas de colisión simple. |
Generar colisión a partir de malla | Genera formas de colisión simple para una forma de malla dinámica de entrada. |
Combinar matriz de colisiones simples | Combina las formas de colisión SimpleCollisionArray en una sola SimpleCollision. |
Calcular descomposición convexa navegable | Calcula la descomposición convexa en la zona «navegable» de una superficie de malla entrada. Una descomposición convexa apropiada para un personaje de un tamaño dado (o mayor que él). |
Contención
Funciones para aproximar una malla con envolvente convexa.
| Nombre de nodo | Descripción |
|---|---|
Calcular envolvente convexa de malla | Calcula la envolvente convexa de una malla objetivo determinada o parte de la malla si se proporciona una selección opcional, y coloca el resultado en la malla de la envolvente. |
Calcular envolvente barrida de la malla | Calcula la envolvente barrida de una malla de destino determinada para un plano 3D determinado definido por ProjectionFrame y coloca el resultado en la malla de la envolvente. La envolvente barrida es un barrido lineal de la envolvente convexa 2D de los vértices de la malla proyectados sobre el plano (precisamente, el plano contiene las extensiones de la malla a lo largo de la normal del plano). |
Calcular descomposición convexa de la malla | Calcula la descomposición de una envolvente convexa de la TargetMesh proporcionada. Si asumimos que se solicita más de una envolvente, se devolverán varias envolventes que intentarán aproximarse a la malla. Si se habilita la configuración de simplificación, no se garantiza que toda la malla esté contenida en las envolventes. |
Valores de vértices
Estas funciones se utilizan para obtener y manipular los valores de malla almacenados en los vértices, incluidos los colores de vértices.
Se pueden almacenar varios valores en un vértice dado, como las normales, pero estos métodos solo devolverán uno.
| Nombre de nodo | Descripción |
|---|---|
Establecer el color constante de los vértices de la malla | Establece que todos los colores de los vértices sean de un color específico. |
Establecer colores de malla por vértice | Establece el color de cada vértice mediante una lista de colores. |
Obtener colores de malla por vértice | Obtiene una lista de colores de vértice individuales para cada vértice de malla que se encuentra en la malla objetivo, derivada de la superposición de colores de vértice. |
Establecer el color de vértice de la selección de malla | Establece los colores en la superposición de colores de vértices de la malla objetivo, que ha identificado la selección, a un valor constante.
|
Convertir colores de vértice de malla SRGB a lineal | Aplica una transformación de color SRGB a lineal en todos los colores de vértices. |
Convertir colores de vértice de malla lineales a SRGB | Aplica una transformación de color lineal a SRGB en todos los colores de vértices. |
Obtener normales por vértice de malla | Obtiene una lista de vectores normales individuales para cada vértice de malla que se encuentra en la malla de destino, derivada de la superposición de normales. |
Obtener UV por vértice de malla | Obtiene una lista de UV de vértice único para cada vértice de malla en la malla de destino, derivada de la superposición de UV especificada. |
Desenfocar colores de los vértices de la malla | Desenfoca el atributo de color de la malla. Si la malla no tiene atributo de color, la función devuelve la malla sin cambios. |
Muestreo y creación de texturas
Funciones para leer y crear datos de textura.
| Nombre de nodo | Descripción |
|---|---|
Muestrear textura 2D en posiciones de UV | Muestrea el mapa de texturas proporcionado en la lista de posiciones de UV y devuelve el color en cada posición en la salida de lista de colores. |
Crear nuevo recurso de textura 2D | Crea un recurso de textura 2D serializado a partir de una UTexture2D temporal. |
Muestrear objetivo de renderizado de textura 2D en posiciones de UV | Muestrea el mapa de texturas proporcionado en la lista de posiciones de UV y devuelve el color en cada posición en la salida de lista de colores. Esta función recupera los datos de GPU antes del muestreo, de modo que, según la aplicación, puede resultar ineficiente y lenta. |
Baking
Estas funciones hacen bake de datos entre una malla de origen y una malla objetivo para convertirlos en datos de colores de vértices o de texturas. Puedes hacer bake de varios datos de malla, como normales, curvatura, oclusión ambiental, mapa de opacidad y mapa de color subsuperficial. También existe la posibilidad de especificar el tipo de filtrado que se aplicará.
| Nombre de nodo | Descripción |
|---|---|
Hacer bake de textura | Crea texturas para la malla de destino a partir de datos muestreados en la malla de origen. |
Hacer bake de vértice | Rellena los colores de los vértices de la malla de destino con los resultados de las propiedades del bake de la malla de origen dada. |
Hacer bake de textura a partir de capturas de renderización | Hace bake de las texturas de una malla de destino a partir de capturas de renderizado. |
Crear tipo de bake de caparazón de UV | Genera las opciones de hacer bake para el caparazón de UV. |
Hacer bake de distancia con signo para la textura del volumen | Escribe un campo de distancia en la textura de volumen existente indicada. |
UV
Puedes usar estas funciones para manipular las UV de una malla.
| Nombre de nodo | Descripción |
|---|---|
Obtener el número de canales UV | Obtiene el número de Channels UV de una malla. |
Establecer el número de canales UV | Establece el número de canales UV en una malla. |
Obtener la caja delimitadora del conjunto de UV | Obtiene la caja delimitadora 2D de todos los UV de un canal UV. |
Copiar canal UV | Reemplaza el canal UV de destino por valores del canal UV de origen. |
Trasladar UV de la malla | Aplica la traslación 2D a todos los UV, o a un subconjunto de UV si defines una selección, en el índice de UVSet. |
Escalar UV de la malla | Aplica la escala 2D a todos los UV, o a un subconjunto de UV si defines una selección, en el índice de UVSet. |
Rotar UV de la malla | Aplica la rotación 2D a todos los UV, o a un subconjunto de UV si defines una selección, en el índice de UVSet. |
Recalcular UV de la malla | Vuelve a calcular los UV para una malla en función de diferentes tipos de islas de UV bien definidas, como islas de UV existentes, poligrupos o la entrada de selección. |
Reempaquetar UV de la malla | Empaqueta las islas de UV existentes en un espacio de UV estándar. |
Establecer UV de la malla a partir de una proyección de plano | Con la proyección de plano, establece los UV para una malla completa o un subconjunto que definas con la entrada de selección. |
Establecer UV de la malla a partir de una proyección de caja | Con la proyección de caja, establece los UV para una malla completa o un subconjunto que definas con la entrada de selección. |
Establecer UV de la malla a partir de una proyección de cilindro | Con la proyección de cilindro, establece los UV para una malla completa o un subconjunto que definas con la entrada de selección. |
Generar UV de la malla de Patch Builder automáticamente | Calcula nuevos UV mediante el método PatchBuilder y paquetes opcionales. |
Generar UV de la malla de X Atlas automáticamente | Calcula nuevos UV mediante XAtlas y, opcionalmente, paquetes. |
Obtener información de tamaño de UV de malla | Calcula información sobre dimensiones y áreas para el canal UV de una malla con selección de malla opcional. |
Obtener UV por vértice de malla | Obtiene una lista de UV de vértices individuales para cada vértice de malla en la malla de destino, derivada de la superposición de UV especificada. |
Copiar canal UV de malla a malla | Copia los UV 2D del índice del canal UV indicado en Copiar de malla en las posiciones de vértice 3D en Copiar a malla de UV. Los ID de poligrupo y los ID de material se conservan en la malla UV. |
Copiar malla al canal UV de malla | Transfiere las posiciones de los vértices 3D y los triángulos de CopyFromUVMesh al canal UV dado que se ha identificado con A índice de canal UV de Copiar a malla. Las posiciones 3D (X,Y,Z) se copiarán como posiciones de UV (X,Y). |
Calcular parámetros de UV local de malla | Calcula la parametrización de UV local en los vértices de la malla objetivo alrededor del CenterPoint/Triangle determinado. Este métodoutiliza una parametrización de mapa exponencial discreto, que desenvuelve la malla localmente basándose en distancias y ángulos geodésicos. El punto central tendrá un valor de UV (0,0), y los vértices de los UV calculados serán de tal manera que ` Length(UV) == distancia geodésica`. |
Añadir elemento de UV a malla | Añade un nuevo elemento de UV al canal de UV especificado de la malla y devuelve un nuevo ID de elemento de UV. |
Establecer ID de elemento UV de triángulo de la malla | Establece los ID de los elementos UV de un triángulo determinado en el canal UV especificado, es decir, los índices del triángulo UV. Esta función no crea nuevos UV. El triángulo UV solo se puede establecer si la topología resultante es válida. Es decir, los elementos no se pueden compartir entre diferentes vértices de malla base, por lo que o bien ningún otro triángulo debe utilizarlos, o ya están asociados con el mismo vértice de malla en otros triángulos UV. Si no se cumple alguna condición, bIsValidTriangle se devolverá inactivo. |
Obtener ID de elemento UV de triángulo de la malla | Devuelve los ID de los elementos de UV asociados a los tres vértices del triángulo en el canal de UV especificado. Si el triángulo no existe en la malla o si no hay UV establecidos en el canal de UV especificado para el triángulo, bHaveValidUVs se devolverá inactivo. |
Obtener posición de elemento de UV de malla | Devuelve la posición de UV de un ID de elemento de UV determinado en el canal de UV especificado. Si el canal de UV o el ID de elemento no existen, bIsValidElementID se devolverá inactivo. |
Establecer posición de elemento de UV de malla | Establece la posición UV de un ElementID específico en el canal UV dado. Si el canal de UV o el ID de elemento no existen, bIsValidElementID se devolverá inactivo. |
Establecer costuras de UV en los bordes seleccionados | Convierte la selección en una selección de bordes y establece o elimina las costuras de UV de todos los bordes seleccionados. |
Aplicar el escalado de UV de densidad de téxeles | Reescala los UV en el canal UV para que una malla se empareje con una densidad de téxel especificada, descrita en las opciones pasadas. Admite el procesamiento en un subconjunto de UV mediante una selección no vacía. |
Disponer UV de malla | Empaqueta las islas de UV existentes en el canal UV especificado en el espacio de UV estándar en función de las opciones de reempaquetado. |
Poligrupo
Funciones para manipular poligrupos de una malla. Los poligrupos son enteros por triángulo que definen implícitamente regiones y parches de triángulos en las herramientas de modelado y en algunas operaciones de Geometry Script. Sin embargo, una capa de poligrupo es, en última instancia, un número por triángulo, por lo que puedes usarla para cualquier otro fin. Para obtener más sobre los poligrupos, consulta Explicación sobre los poligrupos.
| Nombre de nodo | Descripción |
|---|---|
Obtener si tiene poligrupos | Se cumple si la malla tiene una capa de poligrupo estándar. |
Habilitar poligrupos | Habilita la capa de poligrupo estándar en una malla. |
Obtener el número de capas de poligrupo extendidas | Devuelve el recuento de capas de poligrupo extendidas. Las capas de poligrupo extendidas aún no son del todo compatibles con todas las operaciones o herramientas de modelado. |
Establecer el número de capas de poligrupo extendidas | Establece el número de capas de poligrupo extendidas en una malla. |
Borrar poligrupos | Restablece las asignaciones de poligrupo de triángulos a un valor constante para una capa de poligrupo determinada. |
Copiar capa de poligrupos | Copia los poligrupos de una capa a otra. |
Convertir islas de UV en poligrupos | Crea y asigna un nuevo poligrupo para cada isla de UV desconectada de una malla. |
Convertir componentes en poligrupos | Crea y asigna un nuevo poligrupo para cada componente desconectado de una malla. |
Calcular poligrupos a partir del umbral angular | Establece poligrupos mediante la partición de la malla en función de un pliegue de arista/ángulo de apertura. |
Calcular poligrupos a partir de la detección de polígonos | Identifica polígonos y asigna ID de poligrupo. |
Peso del hueso
Estas funciones calculan y manipulan los pesos de huesos, también conocidos como pesos de piel. Los pesos de huesos determinan la influencia de transformación de un hueso en un conjunto de vértices. También puedes obtener información sobre el esqueleto almacenada en la malla dinámica. Esta información se refleja directamente en el esqueleto de la malla esquelética después de convertirlo a la malla dinámica a través del nodo Copy Mesh From Skeletal Mesh.
| Nodo | Descripción |
|---|---|
La malla tiene pesos de hueso | Comprueba si la malla objetivo tiene definido un atributo de peso de huesos por vértice. |
Pesos de hueso de creación de malla | Crea un nuevo atributo BoneWeights en la malla de destino, si todavía no existe. Si existe y se activa |
Obtener índice de peso máximo de hueso | Determina el índice de peso de huesos más alto que existe en la malla. |
Obtener pesos de huesos de vértice | Devuelve una matriz de pesos de huesos en un vértice dado de la malla objetivo. |
Obtener el peso de hueso de vértice más grande | Devuelve el peso de hueso del peso máximo en un vértice dado de la malla objetivo. |
Establecer pesos de hueso de vértice | Define el peso de huesos en un vértice dado de la malla objetivo. |
Establecer todos los pesos de huesos de vértice | Establece todos los vértices de la malla de destino con los pesos de huesos dados. |
Calcular pesos de huesos suavizados | Calcula una vinculación de skinning suavizado para la malla determinada con el esqueleto proporcionado. |
Transformar pesos de huesos a partir de malla | Transfiere los pesos de los huesos de la SourceMesh a la TargetMesh. Asume que las mallas están alineadas. De lo contrario, usa la función de script de geometría Transformar malla para alinearlos. |
Copiar huesos de malla | Copia los atributos de hueso (esqueleto) de la malla de origen a la malla de destino. |
Descartar huesos de malla | Descarta los atributos de hueso (esqueleto) de la malla de destino. |
Obtener índice de hueso | Obtiene el índice del hueso con el nombre especificado. |
Obtener nombre del hueso raíz | Obtiene el nombre del hueso raíz. |
Obtener hijos de hueso | Obtiene la información sobre los hijos del hueso. |
Obtener la información de todos los huesos | Obtiene una matriz de huesos que representan el esqueleto. Cada entrada contiene información sobre el hueso. |
Obtener información del hueso | Obtiene el índice del hueso con el nombre especificado. |
Copiar pesos de huesos en malla | Copia todos los pesos de hueso de un perfil fuente en un perfil objetivo, en la misma malla, y los sustituye todos. |
Pesos de huesos de mezcla | Mezcla dos pesos de hueso con un valor alfa que abarca desde 0 a 1, incluidos. |
Eliminar pesos de huesos | Elimina los huesos específicos de cualquier asignación de peso de hueso en el perfil determinado. |
Consultas geométricas de malla
Funciones para consultas geométricas de alto nivel de una malla.
| Nombre de nodo | Descripción |
|---|---|
Obtener la caja delimitadora de la malla | Calcula la caja delimitadora de los vértices de la malla. |
Obtener área de volumen de la malla | Calcula el volumen y el área de la malla. |
Obtener si es una malla cerrada | Se cumple si la malla está cerrada, es decir, si no tiene aristas de límite topológicas. |
Obtener el número de bucles fronterizos abiertos | Devuelve el número de límites cíclicos abiertos, como «agujeros» en la malla. |
Obtener el número de bordes abiertos | Devuelve el número de aristas limítrofes topológicas de la malla. |
Obtener el número de componentes conectados | Devuelve el número de componentes conectados por separado en la malla, como «parches de triángulos» conectados por aristas compartidas. |
Calcular envolvente convexa de malla | Calcula la envolvente convexa de una malla determinada, o de parte de la malla definida por la entrada de selección, y la devuelve en una malla separada. |
Calcular envolvente barrida de la malla | Calcula un barrido envolvente 2D de la malla entrada y lo devuelve en una malla separada. |
Calcular descomposición convexa de la malla | Calcula una descomposición de envolvente convexa de la malla objetivo proporcionada. Si asumimos que se solicita más de una envolvente, se devolverán varias envolventes que intentarán aproximarse a la malla. No hay garantía de que la envolvente contenga toda la malla. |
Obtener el centro del área de volumen de la malla | Calcula el volumen, el área y el centro de masa de la malla. |
Geodésica de malla
Estas funciones calculan la ruta más corta sobre una superficie de malla.
| Nodo | Descripción |
|---|---|
Obtener la ruta de vértice más corta | Calcula una lista de vértices que representa la ruta más corta restringida a recorrer los bordes de triángulo de la malla entre los vértices inicial y final prescritos. Esto puede fallar si los puntos de inicio y fin se encuentran dentro de componentes conectados separados de la malla. |
Obtener la ruta de superficie más corta | Calcula una polirruta que representa la ruta de superficie de malla más corta entre dos puntos prescritos de la malla proporcionada. Esto puede fallar si los puntos de inicio y fin se encuentran dentro de componentes conectados separados de la malla.
|
Crear ruta de superficie | Calcula una polirruta que representa una ruta de superficie «recta» que comienza en el punto prescrito de la malla y continúa en la dirección indicada hasta alcanzar la longitud de ruta solicitada o encontrar un límite de malla, lo que suceda primero.
|
Grupo de mallas
Funciones para llamar y liberar el conjunto de mallas de cálculo.
| Nombre de nodo | Descripción |
|---|---|
Obtener conjunto de mallas globales | Accede a un grupo de mallas de cálculo globales (creado al acceder por primera vez). |
Descartar conjunto de mallas globales | Borra o destruye por completo la reserva global de mallas actual y permite que esta y todas sus mallas se recojan como basura. |
Solicitar y liberar malla de cálculo | Macro para solicitar una malla de cálculo que puede usarse a través del pin de ejecución With Mesh y liberarse automáticamente antes del pin de ejecución After Release. |
Solicitar y liberar malla de cálculo del conjunto global | Macro para solicitar y liberar una malla de cálculo mediante el grupo de malla informáticas global. |
Polígono simple
Un polígono 2D simple es un polígono cerrado sin huecos. Puedes usar estas funciones para llamar a polígonos simples y manipularlos.
| Nodo | Descripción |
|---|---|
Obtener recuento de vértices de polígono | Devuelve el número de vértices de un polígono simple. |
Obtener vértice de polígono | Devuelve el vértice especificado de un polígono simple. El índice de vértice realiza un bucle, es decir, -1 da el último vértice del polígono. Si el polígono no tiene vértices, devuelve el vector cero. |
Establecer vértice de polígono | Establece el vértice especificado de un polígono simple. El índice de vértice realiza un bucle, es decir, -1 da el último vértice del polígono. No hace nada si el polígono no tiene vértices. |
Añadir vértice de polígono | Establece el vértice especificado de un polígono simple. Devuelve el índice del vértice añadido. |
Obtener tangente de polígono | Devuelve la tangente de un vértice de un polígono simple. El índice de vértice realiza un bucle, es decir, -1 da la tangente del último vértice del polígono. Si el polígono no tiene vértices, devuelve el vector cero. |
Obtener longitud de arco de polígono | Devuelve la longitud de arco de un polígono simple. |
Obtener área de polígono | Devuelve el área delimitada por un polígono simple. |
Obtener límites de polígono | Devuelve la caja delimitadora de un polígono simple. |
Convertir spline en polígono | Muestrea posiciones de un |
Polígono simple a matriz de vectores | Devuelve un array de vectores 3D con las ubicaciones de los vértices del polígono, con la coordenada Z en cero. |
Polígono simple a matriz de Vector2D | Devuelve una matriz de vectores 2D con las ubicaciones de los vértices del polígono. |
Matriz de vectores a polígono simple | Devuelve un polígono creado a partir de una matriz de vectores de posición 3D e ignora la coordenada Z. |
Matriz de Vector2D a polígono simple | Devuelve un polígono creado a partir de una matriz de vectores de posición 2D. |
Lista de polígonos
Una lista de polígonos incluye una serie de polígonos generales que pueden tener huecos. Puedes usar estas funciones para llamar a polígonos y editarlos en una lista de polígonos.
| Nodo | Descripción |
|---|---|
Obtener recuento de vértices de polígono | Devuelve el número de vértices en la forma exterior de un polígono, si el índice del agujero es -1, o en el hueco interior especificado. Devuelve 0 para índices de polígonos o agujeros no válidos. |
Obtener vértice de polígono | Devuelve el vértice especificado de un polígono, ya sea del polígono exterior, si el índice de huecos es -1, o del hueco interior especificado. Los vértices son el vector cero para los índices de polígono o hueco no válidos, o si el polígono está vacío. El índice de vértice iterará en bucle. |
Obtener recuento de polígonos | Devuelve el número de polígonos de la lista de polígonos. |
Obtener recuento de orificios de polígono | Devuelve el número de orificios de un polígono. Devuelve cero para un índice de polígono no válido. |
Obtener vértices de polígono | Devuelve los vértices de un polígono, ya sea del polígono exterior, si el índice de orificios es -1, o del orificio interior especificado. Los vértices de salida están vacíos para índices de polígonos o huecos no válidos. |
Obtener área de polígono | Devuelve el área delimitada por un polígono. Devuelve cero para un índice de polígono no válido. |
Obtener límites de polígono | Devuelve la caja delimitadora de un polígono. Devuelve una caja vacía no válida para un índice de polígono no válido. |
Obtener polígono simple | Devuelve un polígono simple especificado de una lista de polígonos, ya sea el polígono exterior, si el índice de huecos es -1, o el hueco interior especificado. Los polígonos están vacíos si los índices de polígono o de huecos no son válidos. |
Obtener área de lista de polígonos | Devuelve el área delimitada por un polígono. |
Obtener límites de lista de polígonos | Devuelve la caja delimitadora de un polígono. |
Crear lista de polígonos a partir de un solo polígono | Crea una lista de polígonos de un solo polígono, con orificios opcionales. |
Añadir polígono a la lista | Añade un polígono a una lista de polígonos, con orificios opcionales. Devuelve el índice del polígono añadido. |
Crear lista de polígonos a partir de polígonos simples | Crea una lista de polígonos a partir de una matriz de polígonos simples. |
Anexar lista de polígonos | Añade los polígonos de Polígonos que añadir a la lista de polígonos. |
Unión de polígonos | Calcula la unión de todos los polígonos de una lista de polígonos. También resuelve las autointersecciones dentro de cada polígono. |
Diferencia de polígonos | Calcula la diferencia entre la lista de polígonos y los polígonos que restar. |
Intersección de polígonos | Calcula la intersección de la lista de polígonos y los polígonos que se deben intersecar. |
Disyunción exclusiva de polígonos | Calcula la disyunción exclusiva de la lista de polígonos y los polígonos a la disyunción exclusiva. |
Desfase de polígonos | Aplica un desfase único a una lista de polígonos cerrados. |
Desfases de polígonos | Aplica dos desfases en secuencia a una lista de polígonos cerrados. |
Morfología de apertura de polígonos | Aplica un operador morfológico de apertura a una lista de polígonos cerrados y aplica primero un desfase -Offset y después +Offset. Si Offset es negativo, funciona como una operación de cierre. |
Morfología de cierre de polígonos | Aplica un operador morfológico de cierre a una lista de polígonos cerrados, primero aplicando un desfase +Offset y después -Offset. Si Offset es negativo, funciona como una operación de apertura. |
Crear polígonos a partir de desfase de ruta | Aplica un desplazamiento a una única ruta 2D abierta, lo cual genera polígonos cerrados como resultado. |
Ruta del polígono
Estas funciones manipulan las PolyPaths. Una PolyPath es una ruta definido por una ordenación de vértices.
| Nombre de nodo | Descripción |
|---|---|
Obtener número de vértices de la ruta del polígono | Devuelve el número de vértices en la ruta del polígono. |
Obtener ruta del polígono | Devuelve el índice del último vértice de la ruta del polígono. |
Obtener vértice de ruta del polígono | Devuelve la ubicación 3D del vértice especificado. |
Obtener tangente de ruta del polígono | Devuelve el vector tangente local de la ruta del polígono en el índice de vértice especificado. |
Obtener longitud de arco de ruta del polígono | Devuelve la longitud de la ruta del polígono. |
Obtener el índice de vértice más cercano | Devuelve el índice del vértice de la ruta del polígono más cercano al punto especificado en 3D. |
Aplanar a 2D en eje | Crea una copia aplanada 2D de la ruta mediante la eliminación el eje indicado y el uso de las otras dos coordenadas como las nuevas coordenadas X, Y. |
Convertir spline en ruta del polígono | Muestrea las posiciones de un USplineComponent en una ruta del polígono, en función de las opciones de muestreo indicadas. |
Convertir ruta del polígono en matriz | Rellena una matriz de vectores 3D con las ubicaciones de los vértices de la ruta del polígono. |
Convertir matriz en ruta del polígono | Crea una ruta del polígono a partir de una matriz de vectores de posición 3D. |
Convertir ruta del polígono en matriz de vectores 2D | Crea una matriz de vectores 2D con las ubicaciones de los vértices de la ruta del polígono proyectadas en el plano XY. |
Convertir matriz de vectores 2D en ruta del polígono | Crea una ruta del polígono a partir de una matriz de vectores de posición 2D. La coordenada Z de los vértices de la Poly Path correspondientes es cero. |
Crear ruta de círculo 3D | Crea un círculo cerrado alrededor del origen en el plano XY, reubicado posteriormente por la entrada de transformación. |
Crear ruta de círculo 2D | Crea un círculo cerrado en el plano XY alrededor del centro especificado. En el caso de las rutas cerradas, el vértice final no es un duplicado del vértice inicial. |
Crear ruta de arco 3D | Crea un arco abierto alrededor del origen en el plano XY, reubicado posteriormente por la entrada de transformación. |
Crear trazado de arco 2D | Crea un arco abierto en el plano XY alrededor del centro especificado. |
Comparaciones de malla
Funciones para comparar dos mallas. Estos nodos no modifican ninguna malla cuando se usan.
| Nombre de nodo | Descripción |
|---|---|
Es la misma malla que | Se cumple si las dos mallas de entrada son equivalentes según las comparaciones definidas por las opciones de entrada. |
Medir distancias entre mallas | Mide las distancias mínima y máxima, así como la media del punto más cercano que hay entre dos mallas. |
Es una malla de intersección | Se cumple si las dos mallas de entrada (con transformaciones opcionales) se entrecruzan geométricamente. |
BVH y consultas espaciales
Estas funciones crean y consultan un objeto de jerarquía de volúmenes limítrofes (BVH) para una malla.
| Nombre de nodo | Descripción |
|---|---|
Construir jerarquía de volúmenes delimitadores para la malla | Construye un objeto BVH para una malla que puede usarse en los nodos Is BVH Valid For Mesh, Rebuild BVH for Mesh, Find Nearest Point On Mesh, Find Nearest Ray Intersection With Mesh e Is Point Inside Mesh. La función devuelve una estructura BVH de malla dinámica de Geometry Script. |
Es válida la jerarquía de volúmenes delimitadores para la malla | Comprueba si el objeto BVH todavía se puede utilizar con la malla (generalmente está desactivado si la malla se ha modificado). |
Reconstruir jerarquía de volúmenes delimitadores para la malla | Regenera el objeto BVH correspondiente a la malla disponible, lo que puede reducir las asignaciones de memoria en comparación con la generación de una BVH nueva. |
Buscar el punto más cercano en la malla | Encuentra el punto de la malla/BVH más cercano a un punto 3D dado. |
Buscar la intersección más cercana del rayo con la malla | Busca la intersección más cercana de un rayo 3D con la malla. |
Está el punto dentro de la malla | Comprueba si un punto está dentro de la malla/BVH mediante la consulta del número de bobinado rápido. |
Utilidades
Estas funciones auxiliares son útiles en el procesamiento de mallas en Geometry Script y en los generadores procedimentales.
| Nombre de nodo | Descripción |
|---|---|
Crear grupo de mallas dinámicas | Crea un nuevo objeto de grupo de mallas dinámicas. |
Crear un nuevo nombre único de ruta de recursos | Crea un nuevo nombre de recurso único con una ruta base y un nombre de recurso base, lo cual es útil con funciones como Crear un nuevo recurso de malla estática a partir de una malla. Este nodo solo funciona en el editor. |
Obtener cadena de información de malla | Devuelve una cadena de depuración que contiene estadísticas de la malla y otra información. |
Spline de muestra para transformaciones | Muestrea un USplineComponent en una lista de FTransforms, en función de las opciones de muestreo proporcionadas. |
Glosario
| Término | Definición |
|---|---|
Superposición | Una estructura de datos que representa un tipo de datos de vértice aplicados a una malla. Entre estos tipos se incluyen el color de vértice, la normal, la tangente y los UV. Se pueden almacenar varios valores del tipo especificado en un solo vértice. En tales casos, dependiendo del tipo, ocurrirá una de las siguientes situaciones: se usará el último valor, se promediarán los valores o se usará un valor arbitrario. |
Anillo único | Los vértices vecinos del vértice seleccionado, conectados por una arista. El anillo único del vértice M. |
Conjunto de UV | Contiene las coordenadas de los UV de una malla, también conocidas como el UV Channel. Puedes usar varios canales de UV para representar distintos UV maps. |
Extensiones | Las semidimensiones de una caja, medidas a lo largo de los tres ejes. Se usan para determinar cuánto extenderse desde un punto central. Un punto en el centro, C, y una extensión, E, da como resultado una caja con una esquina inferior izquierda en |