A biblioteca de scripts de geometria contém uma gama muito ampla de funcionalidades, desde construção e consultas de malha de baixo nível, como construção de uma malha triângulo por triângulo ou contagem de vértices, até operações de alto nível, como booleanos de malha e testes de interseção.
Para obter mais informações sobre como usar a biblioteca de script de geometria, consulte o Guia de script de geometria do usuário.
A maioria das funções está disponível durante o trabalho no editor e em tempo de execução. No entanto, algumas só estão disponíveis no editor e estão indicadas nas tabelas a seguir.
Para obter mais informações sobre as diversas funções, confira as APIs de Blueprints e Python.
Leitura/gravação de ativos e componentes
Você pode usar essas funções para ler e gravar instâncias de malha dinâmica, como leitura e gravação em ou de um ativo ou componente novo ou existente.
| Nome do nó | Descrição |
|---|---|
Copiar malha de malha estática | Extrai uma malha dinâmica de um ativo de malha estática. |
Copiar malha para malha estática | Atualiza um ativo de malha estática com nova geometria convertida a partir de uma malha estática. |
Copiar malha do componente | Extrai um ator de malha dinâmica de qualquer tipo de componente suportado no mundo ou espaço local. |
Criar novo volume a partir da malha | Cria um ator de volume, como um volume de bloqueio, a partir de um ator de malha dinâmica. Este nó funciona apenas no editor. |
Criar novo ativo de malha estática a partir da malha | Cria um ativo de malha estática a partir de um ator de malha dinâmica. Este nó funciona apenas no editor. |
Definir colisão da malha estática a partir da malha | Gera formas de colisão simples para um ativo de malha estática com base na malha de entrada. |
Definir colisão de malha dinâmica a partir da malha | Gera formas de colisão simples para um componente de malha dinâmica com base na malha de entrada. |
Copiar malha de colisão a partir de objeto | Extrai a geometria de colisão de "De objeto" e a copia com as malhas armazenadas em "Para malha dinâmica".
|
Redefinir colisão de malha dinâmica | Limpa colisões simples do componente de malha dinâmica. |
Copiar malha de malha do esqueleto | Copia a malha do esqueleto para a malha dinâmica de destino. |
Copiar malha para malha do esqueleto | Copia a malha dinâmica especificada para a malha do esqueleto. |
Criar novo ativo de malha do esqueleto a partir da malha | Cria um ativo de malha do esqueleto a partir da malha de destino. Este nó funciona apenas no editor. |
Verificar se a malha estática possui um LOD disponível | Verifica se um ativo de malha estática tem RequestLOD disponível. Ou seja, se "Copy Mesh From Static Mesh" poderá ter sucesso para o LODType e o LODIndex fornecidos. |
Obter número de LODs de malha estática do tipo | Determina o número de LODs disponíveis do LODType solicitado em um ativo de malha estática. |
Determinar oclusão da malha | Determina quais malhas são totalmente ocultadas por outras malhas no conjunto quando visualizadas de fora. |
Obter lista de materiais de LOD da malha do esqueleto | Extrai a lista de materiais e os índices de materiais correspondentes do LOD especificado do ativo de malha do esqueleto. |
Obter lista de materiais da malha estática | Obtém os materiais de ativo do ativo de malha estática. |
Obter lista de materiais da malha do esqueleto | Obtenha os materiais do ativo de malha do esqueleto. |
Converter mapa de materiais em lista de materiais | Converte o mapa de materiais em uma lista de materiais e uma lista de nomes de espaços. Materiais nulos serão mantidos na lista, e a lista terá o mesmo número de elementos que o mapa. |
Converter lista de materiais em mapa de materiais | Converte a lista de materiais e a lista de nomes de espaços em mapa de materiais, que é o formato esperado por CreateNewSkeletalMeshAssetFromMesh. |
Copiar alvo de transformação para malha do esqueleto | Adiciona um alvo de transformação de malha dinâmica a um ativo de malha esquelética. |
Copiar perfil de peso do revestimento para malha do esqueleto | Adiciona um perfil de peso de revestimento de malha dinâmica a um ativo de malha do esqueleto. |
Geração primitiva
Você pode usar essas funções para gerar e anexar uma malha primitiva à malha dinâmica de entrada.
| Nome do nó | Descrição |
|---|---|
Anexar caixa | Adiciona uma caixa 3D a uma malha dinâmica especificada. |
Anexar latitude/longitude da esfera | Adiciona uma esfera 3D triangulada a uma malha dinâmica usando a topologia de latitude/longitude. |
Anexar caixa esférica | Adiciona uma esfera 3D triangulada usando topologia de caixa a uma malha dinâmica. |
Anexar cápsula | Adiciona uma cápsula 3D a uma malha dinâmica. |
Anexar cilindro | Adiciona um cilindro 3D (com limites opcionais) a uma malha dinâmica. |
Anexar cone | Adiciona um cone 3D a uma malha dinâmica. |
Anexar toro | Adiciona um toro 3D (argola) ou um toro parcial a uma malha dinâmica. |
Anexar retângulo XY | Adiciona um retângulo plano a uma malha dinâmica. |
Anexar retângulo arredondado XY | Adiciona um retângulo plano com cantos arredondados (RoundRect) a uma malha dinâmica. |
Anexar disco | Adiciona um disco plano a uma malha dinâmica. |
Anexar polígono triangulado | Adiciona uma triangulação de Delaunay de um polígono 2D plano a uma malha dinâmica. |
Anexar polígono de revolução | Adiciona a superfície de revolução de um polígono 2D, revolução completa ou parcial limitada a uma malha dinâmica. |
Anexar polígono de revolução espiral | Gira um polígono 2D em um caminho helicoidal, como um usado para criar uma espiral vertical. |
Anexar caminho de revolução | Gira um caminho 2D aberto, com limites superiores e inferiores opcionais. |
Anexar polígono de extrusão simples | Extrude um polígono 2D ao longo de um caminho vertical usando uma malha dinâmica selecionada. |
Anexar polígono de varredura simples | Faz uma varredura em um polígono 2D ao longo de um caminho 3D arbitrário usando uma malha dinâmica selecionada. |
Anexar escada linear | Adiciona uma escada linear usando uma malha dinâmica selecionada. |
Anexar escada curva | Adiciona uma escada circular ascendente usando uma malha dinâmica selecionada. |
Anexar malha transformada | Aplica cada transformação à malha anexa e, em seguida, adiciona a geometria à malha de destino. |
Anexar polígono de varredura | Faz uma varredura e gira um polígono 2D ao longo do caminho da varredura para criar uma malha 3D que é anexada à malha fornecida. |
Anexar diagrama de Voronoi 2D | Gera células de Voronoi trianguladas a partir dos locais de Voronoi fornecidos, identificando cada uma com PolyGroups, e anexando-as à malha fornecida. |
Anexar polilinha de varredura | Faz uma varredura nos vértices de polilinha 2D ao longo do caminho da varredura especificado como um conjunto de FTransforms. Se os vértices 2D forem (U,V), no espaço de coordenadas de FTransform, x apontará "ao longo" do caminho, Y apontará "para a direita" (U) e Z apontará "para cima" (V). |
Anexar caixa delimitadora | Adiciona uma caixa 3D à malha de destino com dimensões e origem retiradas da caixa de entrada. |
Anexar triangulação de Delaunay 2D | Gera uma triangulação de Delaunay dos vértices fornecidos e a acrescenta à malha de destino. |
Anexar triangulação de lista de polígonos | Gera uma triangulação de Delaunay da lista de polígonos fornecida e a anexa à malha de destino. |
Anexar polígono triangulado 3D | Anexa um polígono triangulado (com vértices especificados em 3D) à malha de destino. Usa triangulação baseada em recorte de orelha. Os vértices de saída sempre serão 1:1 com os vértices de entrada. O endpoint do polígono não se repete. |
Anexar formas de colisão simples | Anexa formas de colisão simples à malha de destino, trianguladas conforme especificado nas "opções de triangulação". |
Anexar cobertura de esfera | Anexa as esferas na cobertura de esfera à malha de destino. |
Anexar caixa com colisão | Anexa uma caixa 3D à malha de destino e cria uma colisão simples correspondente. |
Anexar caixa delimitadora com colisão | Anexa uma caixa 3D à malha de destino com dimensões e origem retiradas da caixa de entrada. Também cria uma colisão simples correspondente. |
Anexar latitude/longitude da esfera com colisão | Anexa uma esfera 3D triangulada usando a topologia de latitude/longitude à malha de destino. Também cria uma colisão simples correspondente. |
Anexar caixa esférica com colisão | Anexa uma esfera 3D triangulada usando topologia de caixa à malha de destino. Também cria uma colisão simples correspondente. |
Anexar cápsula com colisão | Anexa uma cápsula 3D à malha de destino. Também cria uma colisão simples correspondente. |
Criar loop de arestas restritas | Destina-se para uso com "Anexar triangulação de Delaunay 2D". Crie um loop de arestas por meio de vértices sequenciais. Por exemplo, um loop (3,0) cria bordas (2,0), (0,1) e (1,2). |
Criar cadeia de arestas restritas | Destina-se para uso com "Anexar triangulação de Delaunay 2D". Criar uma cadeia de arestas por meio de vértices sequenciais. Por exemplo, uma cadeia (3,0) criará arestas (0,1) e (1,2). |
Transformação e deformação
Você pode usar essas funções para manipular as posições dos vértice de uma malha dinâmica. Essas manipulações não alteram a topologia ou a conectividade da malha.
| Nome do nó | Descrição |
|---|---|
Transladar malha | Aplica uma translação aos vértices de uma malha. |
Dimensionar malha | Aplica uma transformação de escala aos vértices de uma malha. |
Malha de transformação | Aplica um FTransform arbitrário aos vértices de uma malha. |
Aplicar distorção curva à malha | Aplica uma distorção curva ao redor de um eixo definido por uma transformação. |
Aplicar distorção de torção à malha | Aplica uma distorção de torção ao redor de um eixo definido por uma transformação. |
Aplicar distorção de alargamento à malha | Aplica uma distorção de alargamento ou protuberância. |
Aplicar distorção matemática à malha | Aplica várias distorções simples com base em funções matemáticas, atualmente uma onda senoidal 1D ou 2D com orientação arbitrária. |
Aplicar ruído Perlin à malha | Aplica um deslocamento de ruído Perlin 3D à malha inteira ou às regiões dela definidas pela Seleção opcional. |
Aplicar suavização iterativa à malha | Aplica várias iterações de suavização à malha inteira ou a um subconjunto definido pela Seleção opcional. |
Aplicar deslocamento do mapa de texturas | Aplica um deslocamento a uma malha dinâmica com base em uma Texture2D e um canal UV. |
Girar malha | Gira a malha em relação à origem especificada. |
Transladar pivô para a localização | Define o local do pivô para a malha. Como o pivô de um objeto de malha é sempre o ponto em (0,0,0), essa função simplesmente converte a malha por -PivotLocation. |
Criar transformação com base no eixo Z | Cria uma transformação em um determinado local, com o vetor ZAxis como eixo Z da transformação, e o eixo X ou Y orientado para o vetor tangente, com base no parâmetro |
Criar transformação com base em eixos | Cria uma transformação em um determinado local, com o vetor ZAxis como eixo Z da transformação, e o eixo X ou Y orientado para o vetor tangente, com base no parâmetro |
Obter vetor de eixo de transformação | Obtenha o vetor para a direção dos eixos X, Y e Z da transformação. |
Obter raio do eixo de transformação | Obtenha o raio na posição da transformação com a direção dos eixos X, Y e Z dela. |
Obter plano do eixo de transformação | Obtenha o plano na posição da transformação com a normal do plano alinhada com a direção dos eixos X, Y e Z dela. |
Composição e decomposição
Você pode usar essas funções para combinar malhas ou separá-las.
| Nome do nó | Descrição |
|---|---|
Copiar malha para malha | Copia a malha de uma malha dinâmica para outra. |
Obter submalha da malha | Copia uma lista de triângulos de uma malha dinâmica para outra. |
Dividir malha por componentes | Separa uma malha em partes, uma para cada componente conectado, extraídas de um conjunto de malhas dinâmicas. |
Dividir malha por IDs de material | Separa uma malha em partes, uma para cada ID de material, extraídas de um conjunto de malhas dinâmicas. |
Anexar malha | Adiciona a geometria de uma malha a outra, com transformação opcional. |
Anexar malha repetida | Adiciona a geometria de uma malha a outra com base no número de vezes que ela deve ser repetida, acumulando uma transformação a cada vez. Essa operação é útil para criar moldes. |
Dividir malha por sobreposição de vértice | Cria uma nova malha para cada parte conectada ou sobreposta a um vértice da malha de destino. |
Classificar malhas por volume | Classifica as malhas pelo volume. Para malhas com limite aberto, o volume é calculado em relação à posição do vértice médio. |
Classificar malhas por área | Classifica as malhas pela área de superfície. |
Classificar malhas por volume de delimitação | Classifica as malhas pelo volume da caixa delimitadora alinhada ao eixo. |
Classificar malhas por valores personalizados | Classifica as malhas de acordo com os valores em uma segunda matriz, que deve ter o mesmo tamanho da matriz de malhas. Por exemplo, se a matriz de valores for [3, 2, 1], com ordem de classificação ascendente, a matriz das malhas será invertida. |
Modelagem de malha
Essas funções fornecem operações de modelagem de alto nível padrão, mas geralmente chamam o código de processamento de malha de baixo nível que a ferramenta "Tool" no Modo de Modelagem de mesmo nome chamaria.
| Nome do nó | Descrição |
|---|---|
Aplicar booleano da malha | Aplica uma operação booleana (como união, interseção e subtração) a uma malha dinâmica com base em uma segunda malha. |
Aplicar corte de plano da malha | Aplica um corte plano a uma malha, preenchendo opcionalmente quaisquer lacunas criadas. |
Aplicar corte no plano da malha | Corta uma malha pela metade, com preenchimento opcional de lacunas. |
Aplicar espelho da malha | Espelha uma malha em um plano, com corte e soldagem opcionais de triângulos. |
Aplicar deslocamento da malha | Move os vértices de uma malha para uma superfície de deslocamento. |
Aplicar casca da malha | Move uma cópia dos triângulos da malha para uma superfície de deslocamento e os une aos triângulos originais. Por exemplo, para criar uma casca espessa. |
Aplicar extrusão da malha | Extruda os triângulos de uma malha ao longo de uma direção constante. Por exemplo, cria um sólido com base em um polígono triangular aberto. |
Aplicar solidificação da malha | Substitui a malha por uma aproximação voxelizada e em malha (operação VoxWrap). |
Aplicar morfologia da malha | Substitui a malha por uma aproximação de malha de deslocamento baseada em SDF. |
Aplicar união na própria malha | Um objeto realiza uma operação booleana de união consigo mesmo, calculando ações como reparo de autointerseções e remoção de geometria flutuante. |
Aplicar bisel no PolyGroup da malha. | Aplica operação de bisel de malha a todas as arestas do PolyGroup. |
Aplicar desconexão de faces da malha ao longo das bordas | Desconecta os triângulos da malha de destino ao longo das arestas da Seleção. A Seleção de entrada ainda identifica os mesmos elementos geométricos após a desconexão. |
Aplicar seleção de aresta de bisel da malha | Aplica uma operação do bisel da malha a partes da malha de destino usando as configurações de opções do bisel. |
Aplicar curvas ISO da malha | Insira arestas ao longo da curva onde os valores interpolados por vértice correspondem a um determinado valor ISO. |
Seleções de malha
Essas funções identificam regiões de uma malha para diferentes ferramentas operarem localmente. Várias funções podem operar na malha inteira ou em um subconjunto definido por uma seleção. Os tipos de seleção incluem: triângulo, vértices e grupos de polígonos.
| Nome do nó | Descrição |
|---|---|
Inverter seleção de malha | Inverte a seleção na malha de destino. |
Criar seleção de toda a malha | Cria uma seleção do tipo Seleção fornecido que contém todos os elementos da malha de destino |
Converter seleção de malha | Converte uma seleção de malha em um tipo diferente. Por padrão, os vértices são mapeados para triângulos dentro de uma vizinhança de um anel e os triângulos para todos os vértices contidos. |
Combinar seleções de malha | Combina duas seleções de malha em uma nova seleção de malha. As duas entradas, Selection A e Selection B, devem ser do mesmo tipo. |
Converter matriz de índices em seleção de malha | Cria uma seleção de malha com base na matriz de índices. |
Converter conjunto de índices em seleção de malha | Cria uma seleção de malha com base no conjunto de índices. |
Converter seleção de malha em matriz de índices | Converte uma seleção de malha em uma matriz de índices. |
Converter lista de índices em seleção de malha | Cria uma seleção de malha com base na lista de índices. Quando o tipo da lista de índices não corresponder ao tipo Seleção, converta a seleção de malha com |
Converter seleção de malha em lista de índices | Converte uma seleção de malha em uma lista de índices. |
Selecionar elementos de malha na caixa | Cria uma nova seleção de malha do tipo Seleção para a malha de destino ao encontrar todos os elementos contidos na caixa. |
Selecionar elementos de malha na caixa com BVH | Crie uma nova seleção de malha do tipo Seleção para a malha de destino ao encontrar todos os elementos contidos na caixa. Funciona de forma semelhante a Selecionar elementos de malha na caixa, mas usa um BVH para acelerar o trabalho. |
Selecionar elementos de malha na esfera | Cria uma nova seleção de malha do tipo Seleção para a malha de destino ao encontrar todos os elementos contidos na esfera. |
Selecionar elementos de malha com plano | Cria uma nova seleção de malha do tipo Seleção para a malha de destino ao encontrar todos os elementos em um lado do plano, em especial o lado apontado pela normal da superfície do plano. |
Selecionar elementos da malha pelo ângulo da normal | Cria uma nova seleção de malha do tipo Seleção para a malha de destino ao encontrar todos os elementos com um vetor normal que está dentro de um limite de desvio angular da normal especificada. Para seleções de triângulo e grupo de polígonos, é usada a normal de faceta do triângulo. Para seleções de vértice, é usada a normal média por vértice. |
Selecionar elementos de malha dentro da malha | Cria uma nova malha de seleção do tipo Seleção para a malha de destino ao localizar todos os elementos dentro de uma segunda malha de seleção. |
Expandir seleção de malha para conectadas | Expande a Seleção na malha de destino para as regiões conectadas e retorna a nova Seleção. |
Obter caixa delimitadora de seleção de malha | Obtém a caixa delimitadora 3D de uma seleção de malha. |
Obter loop delimitadores de seleção de malha | Calcula o conjunto de loops de vértices que fazem fronteira com uma seleção de malha. As polilinhas 3D e as listas de índices de vértice são retornadas para cada loop. Para uma seleção de vértice, essa função retorna os loops de borda ao redor da proximidade de um anel da seleção de vértice. |
Obter informações da malha | Consulta as informações sobre uma seleção de malha. |
Depurar seleção de malha de impressão | Imprime informações sobre a seleção da malha no Log de Saída. |
Expandir seleção de malha contraída | Aumente ou reduza a seleção na malha de destino para vizinhos conectados. Para seleções de vértice, Expandir inclui vértices em um anel de vértices selecionados, e Contrair remove qualquer vértice com um vizinho de um anel que não está selecionado. Para seleções de triângulo, adicione ou remova triângulos conectados aos triângulos selecionados. * Para seleções de grupos de polígonos, adicione ou remova grupos de polígonos conectados aos grupos de polígonos selecionados. |
Obter informações de seleção exclusivas de malha | Consulta as informações sobre uma seleção de malha e obtenha uma contagem de elementos selecionados exclusivos. |
Selecionar elementos da malha pelo ID de material | Cria uma seleção do tipo Seleção que contém os elementos de malha que referenciam triângulos com um determinado ID de material. |
Selecionar elementos da malha por PolyGroup | Cria uma Seleção do SelectionType que contenha os elementos de malha que referenciam triângulos com um determinado ID de PolyGroup em um determinado GroupLayer. |
Selecionar arestas nítidas da malha | Cria uma nova Seleção para a malha de destino com todas as arestas retas em que as normais do triângulo adjacente à aresta diferem em pelo menos MinAngleDeg. |
Selecionar aresta de limite da malha | Crie uma nova Seleção para a malha de destino com todas as arestas de limite de malha. |
Selecionar arestas de limite da seleção | Crie uma nova BoundarySelection para a malha de destino com arestas no limite de outra Seleção. |
SelectMeshSplitNormalEdges | Crie uma nova seleção para a malha de destino de todas as costuras de arestas na topologia das normais da malha. Ou seja, onde as normais podem ser diferentes na aresta. |
SelectMeshUVSeamEdges | Cria uma seleção de malha de bordas de costura UV para a malha de destino. |
Selecione as bordas delimitadoras do PolyGroup da malha. | Cria uma seleção de malha de bordas delimitadoras do PolyGroup para a malha de destino. |
Modificar malha por seleção
Funções para editar a geometria de uma seleção específica.
Malha de transformação
| Nome do nó | Descrição |
|---|---|
Transformar seleção de malha | Aplica a transformação especificada à parte selecionada da malha. |
Transladar seleção de malha | Aplica a translação determinada à parte selecionada da malha. |
Girar seleção da malha | Gira a parte selecionada da malha em relação à origem de rotação especificada. |
Dimensionar seleção de malha | Aplica a escala determinada à parte selecionada da malha. |
Malha de transformação inversa | Aplica o inverso da transformação fornecida para a malha de destino. |
Seleção de malha de transformação inversa | Aplica o inverso da transformação fornecida aos vértices identificados pela seleção de malha de destino. |
Materiais e PolyGroups
| Nome do nó | Descrição |
|---|---|
Definir ID de material para seleção de malha | Define um novo ID de material em todos os triângulos da Seleção fornecida. |
Definir PolyGroup para seleção de malha | Define um novo PolyGroup em todos os triângulos de uma determinada seleção para a camada de grupo enviada. |
Modelagem de malha
| Nome do nó | Descrição |
|---|---|
Aplicar desconexão de faces da malha | Desconecta os triângulos da malha de destino identificada pela Seleção. |
Aplicar faces duplicadas de malha | Duplica os triângulos da malha de destino identificada pela entrada da Seleção. |
Aplicar extrusão linear nas faces da malha | Aplica extrusão linear aos triângulos da malha de destino identificada pela seleção. |
Aplicar deslocamento nas faces da malha | Aplica um deslocamento nas faces da malha de destino identificada pela Seleção, ou a todas as faces se a Seleção estiver vazia. |
Aplicar inserção ou saída nas faces da malha | Aplica uma inserção ou saída nas faces da malha de destino identificada pela Seleção, ou a todas as faces se a Seleção estiver vazia. |
Aplicar seleção de bisel na malha | Aplica uma operação do bisel da malha a partes da malha de destino usando as configurações de opções do bisel. |
Subdivisão
Essas funções aplicam várias estratégias de subdivisão de malha a uma malha dinâmica.
| Nome do nó | Descrição |
|---|---|
Aplicar SubD de Catmull-Clark de PolyGroup | Aplica a subdivisão Catmull-Clark à topologia do PolyGroup da malha (descarta a triangulação de entrada). Este nó funciona apenas no editor. |
Aplicar SubD de loop de triângulo | Aplica subdivisão de loop à malha de entrada. Este nó funciona apenas no editor. |
Aplicar tesselação seletiva | Aplica tesselação na seleção de malha especificada usando o tipo de padrão indicado. |
Aplicar tesselação PN | Aplique a tesselação normal de pontos na malha de entrada. |
Aplicar tesselação uniforme | Aplique uma tesselação uniforme na malha de entrada. |
Simplificação
Essas funções simplificam a malha usando várias estratégias.
| Nome do nó | Descrição |
|---|---|
Aplicar simplificação na contagem de triângulos | Simplifica a malha até que uma contagem de triângulos de destino seja alcançada. |
Aplicar simplificação na contagem de vértices | Simplifica a malha até que a contagem de vértices desejada seja alcançada. |
Aplicar simplificação à tolerância | Simplifica a malha para uma tolerância geométrica de destino. Por exemplo, qualquer simplificação adicional resultaria em um desvio da malha de entrada maior do que a tolerância. |
Aplicar simplificação a áreas planas | Simplifica áreas planas da malha que têm mais triângulos do que o necessário. Isso não altera a forma 3D da malha. |
Aplicar simplificação à topologia de PolyGroup | Simplifica a malha até a topologia de PolyGroup. Por exemplo, as faces de alto nível dos grupos de polígonos da malha. Outro exemplo seria uma caixa-esfera padrão em que a simplificação para a topologia de grupo de polígonos produz uma caixa. |
Aplicar simplificação do editor à contagem de triângulos | Simplifica a malha até que uma contagem de triângulos-alvo seja atingida, usando o simplificador de malha padrão do editor da UE. Exclusivo do editor. |
Aplicar simplificação do editor à contagem de vértices | Simplifica a malha até que uma contagem de vértices-alvo seja atingida, usando o simplificador de malha padrão do editor da UE. Exclusivo do editor. |
Box
Funções de utilitários para o cálculo de funções matemáticas básicas para objetos caixa.
| Nó | Descrição |
|---|---|
Criar caixa com base no centro | Crie uma caixa com base em um ponto central e nas dimensões X, Y e Z. |
Criar caixa com base nas extensões do centro | Crie uma caixa com base em um ponto central e nas extensões X, Y e Z. As extensões são semidimensionais. |
Obter tamanho do centro da caixa | Obtenha o ponto central e as dimensões X, Y e Z de uma caixa. |
Obter canto da caixa | Obtenha a posição de um canto da caixa. Os cantos são indexados de 0 a 7, usando uma ordem em que:
|
Obter centro da face da caixa | Obtém a posição do centro da face de uma caixa. As faces são indexadas de 0 a 5, usando uma ordem em que:
|
Obter área do volume da caixa | Obtenha o volume e a área de superfície de uma caixa. |
Obter caixa expandida | Obtenha a caixa de entrada expandida ao adicionar o parâmetro "Expand By" ao mínimo e máximo. As dimensões serão fixadas no ponto central se algum parâmetro "Expand By" for maior que metade do tamanho da caixa. |
Obter caixa transformada | Aplique a transformação de entrada aos cantos da caixa de entrada e retorne a nova caixa que contém esses pontos. |
Testar interseção de caixa a caixa | Testa se a caixa 1 e a caixa 2 se encontram. |
Encontrar interseção de caixa a caixa | Localize a caixa formada pela interseção da caixa 1 e da caixa 2. |
Obter distância de caixa a caixa | Calcule a distância mínima entre a caixa 1 e a caixa 2. |
Testar ponto dentro da caixa | Testa se um ponto está dentro da caixa. Se estiver, retorna verdadeiro. Caso contrário, retorna falso. |
Encontrar ponto mais próximo na caixa | Localizar o ponto nas faces da caixa que está mais próximo do ponto de entrada. Se o ponto estiver dentro da caixa, ele será retornado. |
Obter distância do ponto até a caixa | Calcule a distância mínima entre a caixa e o ponto. |
Testar interseção de esfera e caixa | Verifica se a caixa se encontra com uma esfera definida pelo centro da esfera e o raio da esfera. |
Normais
Essas funções recalculam as normais de uma malha.
| Nome do nó | Descrição |
|---|---|
Inverter normais | Inverte as normais da malha invertendo a orientação de cada face. |
Definir normais por vértice | Define as normais da malha como normais por vértice. Por exemplo, sem divisão de normais em qualquer vértice. |
Definir malha para normais de face | Define as normais da malha como normais por face/triângulo. Por exemplo, divida normais ao longo de cada borda da malha. |
Calcular normais de divisão | Calcula normais de divisão para a malha com base na tolerância de ângulo e/ou outros fatores, como a topologia do PolyGroup. |
Recalcular normais | Recalcula as normais de malha existentes. Preserva normais divididas existentes. Para uso após deformações de malha, por exemplo. |
Calcular tangentes | Recalcula as tangentes para a malha (vários métodos). |
Definir malha por normais de vértice | Define todas as normais na substituição das normais na malha de destino como as normais por vértice especificadas. |
Obter malha com tangentes | Verifique se a malha de destino tem uma camada de atributo de tangentes habilitada. |
Descartar tangentes | Remova qualquer camada de atributo de tangentes da malha de destino. |
Calcular tangentes | Recalcule tangentes para a malha de destino usando o método especificado por |
Definir malha por tangentes de vértice | Defina todas as tangentes nas substituições das tangentes na malha de destino como as tangentes por vértice especificadas. |
Obter malha por tangentes de vértice | Calcule a posição interpolada, |
Atualizar normal do vértice | Atualize as normais e tangentes no vértice D da malha de destino. |
Recalcular normais para a seleção de malha | Recalcule as normais da malha de destino em todos os triângulos/vértices da seleção específica usando as opções de cálculo fornecidas. Esse método preservará as bordas fixas existentes, ou seja, cada normal de vértice de triângulo compartilhado é recalculada pela média dos normais de face de triângulos que referência a essa normal do vértice do triângulo compartilhado. |
Definir normais de divisão ao longo das arestas selecionadas | Defina ou remova normais divididas (também conhecidas como normais nítidas) para todas as arestas na seleção. |
Inverter normais de seleção de triângulo | Inverte os vetores de normais dos triângulos em uma determinada seleção da malha de destino. Para seleções de aresta ou vértice, as normais para os triângulos que tocam as arestas ou os vértices selecionados serão giradas. |
Remoção e reparo
Você pode usar essas funções para corrigir problemas em uma malha ou para aplicar outros reparos padrão.
| Nome do nó | Descrição |
|---|---|
Compactar malha | Compacta os vértices e os triângulos da malha para remover quaisquer "lacunas" nas listas de ID de vértice ou ID de triângulo (consulte a discussão na seção "Consultas de malha de baixo nível"). |
Descartar atributos da malha | Remove o conjunto de atributos de uma malha dinâmica, como todas os UV, normais, IDs de material, cores de vértice e camadas de grupo de polígonos estendidas. Observe que isso pode impedir o funcionamento de muitas funções. |
Reparação automática de normais | Essa função tenta reorientar automaticamente as normais de uma malha para que fiquem consistentes, como corrigir normais invertidas. |
Soldar arestas da malha | Solda todas as arestas abertas da malha, se possível, para remover "fraturas". |
Preencher todas as lacunas da malha | Tenta preencher todos os loops de limite abertos (como lacunas na geometria de superfície) de uma malha. |
Remover componentes pequenos | Remove os componentes conectados da malha que têm uma contagem de volume, área ou triângulo abaixo de um limite. |
Remover triângulos ocultos | Remove triângulos na malha que não são visíveis da visão externa, sob várias definições de "visível" e "exterior". |
Resolver junções em T da malha | Tenta resolver a junção em T na malha de destino. |
Dividir ampulhetas da malha | Divide vértices na malha de destino que produziriam um nó em que apenas um único vértice conectasse regiões da malha. |
Reparar geometria degenerada na malha | Modifica a malha de destino excluindo triângulos pequenos ou combinando triângulos até que todas as arestas sejam maiores que um tamanho mínimo especificado. |
Remover vértices não utilizados | Remova vértices que não são usados por nenhum triângulo. Não atualiza os IDs de quaisquer vértices restantes. Use "Compactar malha" para fazer isso. |
Encaixar delimitações abertas da malha | Encaixe os vértices que estão em bordas abertas no limite aberto compatível mais próximo, se estiver dentro da distância de tolerância. |
Consultas de malha de baixo nível
Essas funções fornecem informações de baixo nível sobre os elementos de uma malha. Nesse contexto, VertexID e TriangleID são inteiros.
Em uma malha dinâmica, pode haver lacunas no intervalo de ID do vértice ou ID do triângulo após a exclusão de vértices/triângulos, e algumas operações (como a simplificação) podem retornar uma malha com lacunas. As lacunas nos intervalos de ID são limpas usando a função Compact Mesh.
| Nome do nó | Descrição |
|---|---|
Obter contagem de vértices | Obtém o número de vértices na malha. |
Obter número de IDs de vértice | Obtém o número de IDs de vértices na malha, que pode ser maior que a contagem de vértices, se a malha não for densa. Por exemplo, após excluir vértices. |
É ID de vértice válido | Retorna verdadeiro se um ID de vértice se referir a um vértice válido. |
Obter todos os IDs de vértice | Retorna um IndexList de todos os IDs de vértices na malha. |
Obter posição do vértice | Obtém a posição 3D de um vértice da malha por ID do vértice. |
Obter todas as posições de vértices | Retorna uma lista de vetores com todas as posições de vértice da malha. Esta lista pode ser extensa. |
Obter contagem de triângulos | Retorna o número de triângulos na malha. Observação: essa é uma função aplicada diretamente na malha dinâmica. |
Obter número de IDs de triângulo | Obtém o número de IDs de triângulo na malha. O número poderá ser maior que o da contagem de triângulos se a malha não for densa, mesmo após a exclusão de triângulos. |
É ID de triângulo válido | Retorna verdadeiro se um TriangleID se refere a um triângulo válido. |
Obter todos os IDs de triângulo | Retorna uma lista de índices de todos os IDs de triângulo em uma malha. |
Obter índices de triângulo | Retorna o trio de índices de vértice para um triângulo. |
Obter todos os índices de triângulo | Retorna um TriangleList de todas as tercinas de índices de triângulo em uma malha. |
Obter posições de triângulo | Retorna as três posições dos cantos de um triângulo. |
Obter normal da face do triângulo | Retorna a normal da face/faceta de um triângulo. |
Obter UV do triângulo | Retorna os três UV dos cantos de um triângulo. |
Obter ID de material de triângulo | Retorna o ID de material atual para um triângulo. |
Obter todos os IDs de material dos triângulos | Retorna uma lista de índices com todos os IDs de material do triângulo. |
Obter ID do PolyGroup do triângulo | Retorna o ID do PolyGroup atual de um triângulo em uma determinada camada de PolyGroup. |
Obter elementos com lacunas em IDs de vértice | Retorna verdadeiro se houver lacunas na lista de IDs de vértices. Por exemplo, "Obter presença de lacunas em IDs de vértice" é maior que "Obter contagem de vértices". |
Obter elementos com lacunas em IDs de triângulo | Retorna verdadeiro se houver lacunas na lista de IDs de triângulo, de modo que "Obter número de IDs de triângulo" seja maior que "Obter contagem de triângulos". |
Obter confirmação de malha densa | Retorna verdadeiro se a malha for densa. Por exemplo, sem lacunas nos IDs de vértice ou de triângulo. |
Obter elementos com conjunto de atributos na malha | Retorna verdadeiro se a malha tiver um conjunto de atributos habilitado para armazenar UV, normais, IDs de material e cores do vértice. Em geral, está habilitado por padrão. |
Obter posição interpolada do triângulo | Calcule a posição interpolada, |
Calcular coordenadas baricêntricas de triângulo | Calcule as coordenadas baricêntrias (A,B,C) dos pontos relativos ao TriangleID especificado da malha de destino. |
Obter UV interpolado do triângulo | Calcule o UV interpolado, |
Obter normais do triângulo | Para o TriangleID especificado da malha de destino, obtenha os vetores de normal e tangente em cada vértice do triângulo. Essas normais e tangentes serão obtidas das sobreposições de normais e tangentes. |
Obter normal interpolada do triângulo | Calcule a normal interpolada, |
Obter tangentes de normais de triângulo | Para o TriangleID especificado da malha de destino, obtenha os vetores de normal e tangente em cada vértice do triângulo. Essas normais e tangentes serão obtidas das sobreposições de normais e tangentes. |
Obter normal e tangentes interpoladas de triângulo | Calcule a normal e as tangentes interpoladas para o TriangleID nos atributos da normal e da tangente da malha de destino. |
Obter elementos com cores do vértice | Retorna verdadeiro se a malha de destino estiver com o atributo "Cores do vértice" habilitado. |
Obter cores do vértice do triângulo | Para o TriangleID especificado da malha de destino, obtenha as cores dos vértices em cada vértice do triângulo. Essas cores serão obtidas do atributo de cor do vértice. |
Obter cor do vértice interpolada do triângulo | Calcule a cor do vértice interpolada, |
Obter todas as posições de vértices nas arestas | Retorna as posições dos vértices para cada borda na lista de índices fornecida. |
Obter área UV da malha | Obtém a área de triângulos no espaço UV para o canal UV fornecido. |
Obter todas as arestas de costuras UV | Retorna todos os IDs de elementos de borda que são bordas de costura UV para um determinado canal de UV. |
Obter número de ilhas UV | Retorna o número de ilhas UV em um determinado canal UV. |
Construção de malha de baixo nível
Essas funções constroem uma malha triângulo por triângulo e realizam outras operações de edição de malha de baixo nível.
O uso dessas funções em situações que envolvem loops sobre os elementos de malhas com muitos milhares de triângulos pode ser bem lento em códigos de Blueprint ou Python.
| Nome do nó | Descrição |
|---|---|
Definir posição do vértice | Define a posição 3D de um vértice da malha. |
Adicionar vértice à malha | Adiciona um novo vértice à malha e retorna uma nova ID de vértice. |
Adicionar vértices à malha | Adiciona uma lista de vértices à malha. |
Excluir vértice da malha | Remove um vértice da malha. |
Excluir vértices da malha | Remove uma lista de vértices da malha. |
Adicionar triângulo à malha | Adiciona um triângulo (tupla de ID de vértice de 3 elementos) à malha. |
Adicionar triângulos à malha | Adiciona uma lista de triângulos à malha. |
Excluir triângulos da malha | Remove um triângulo da malha. |
Excluir triângulos da malha | Remove uma lista de triângulos da malha. |
Excluir triângulos no PolyGroup | Exclui todos os triângulos da malha que têm um grupo de polígonos específico em uma camada de PolyGroup específica. |
Anexar buffers à malha | Adiciona um conjunto de vértices/triângulos à malha, com atributos como normais e UV. Semelhante a Create Mesh Section no componente de malha Proc. |
Definir normais do triângulo da malha | Define as normais de um triângulo de malha. |
Definir UV do triângulo da malha | Define UV de um triângulo de malha. |
Definir ID de material do triângulo | Define os ID de material de um triângulo de malha. |
Definir todas as posições de vértices da malha | Define todas as posições de vértice na malha de destino de acordo com as posições especificadas. |
Anexar malha com materiais | Aplique "Anexar transformação" em "Anexar malha" e depois adicione sua geometria à malha de destino. Também combina listas de materiais das malhas Target e Append e atualiza os materiais da malha de saída para fazer referência à lista combinada. |
Anexar malha transformada com materiais | Para cada transformação em AppendTransforms, aplicar a transformação a AppendMesh e depois adicionar sua geometria a TargetMesh também combina listas de materiais das malhas Target e Append e atualiza os materiais da malha de saída para fazer referência à lista combinada. |
Anexar malha repetida com materiais | Aplique AppendTransform repetidamente a AppendMesh, sempre adicionando a geometria a TargetMesh. Também combina listas de materiais das malhas Target e Append e atualiza os materiais da malha de saída para fazer referência à lista combinada. |
Mesclar par de vértices de malha | Tenta mesclar dois vértices e informe se eles foram mesclados. Algumas mesclagens podem ser evitadas porque criariam arestas não coletoras na malha, o que não é aceito. |
Mesclar vértices de malha em seleções | Tenta mesclar os vértices em uma seleção para seus vértices mais próximos na segunda seleção, dentro do limite de distância. Mesclagens podem ser evitadas porque criariam arestas não coletoras na malha, o que não é aceito. |
Gerenciamento de lista de baixo nível
Essas funções abrangem o gerenciamento de listas para: lista de índices, lista de escalares, lista de vetores, lista de UV e lista de cores.
| Nome do nó | Descrição |
|---|---|
Obter tamanho da lista de índices | Retorna o número de itens na lista de índices. |
Obter último índice da lista de índices | Retorna o índice do último item da lista de índices. |
Obter item da lista de índices | Retorna o item armazenado na lista de índices, em um local especificado. |
Definir item da lista de índices | Atualiza o valor do item armazenado na lista de índices na posição especificada. |
Converter lista de índices em matriz | Converte uma lista de índices em uma matriz de inteiros. |
Converter matriz em lista de índices | Converte uma matriz de inteiros em uma lista de índices. |
Duplicar lista de índices | Duplica a lista de índices do conteúdo para a lista de duplicados. |
Limpar lista de índices | Restaura todos os itens na lista de índices para o valor de limpeza. |
Obter tamanho da lista de escalares | Retorna o número de itens na lista de escalares. |
Obter último índice da lista de escalares | Retorna o índice do último item da lista de escalares. |
Obter item da lista de escalares | Retorna o escalar (double) armazenado na lista de escalares na posição especificada. |
Definir item da lista de escalares | Atualiza o valor do escalar armazenado na lista de escalares na posição especificada. |
Converter lista de escalares em matriz | Converte uma lista de escalares em uma matriz de doubles. |
Converter matriz em lista de escalares | Converte uma matriz de doubles em uma lista de escalares. |
Duplicar lista de escalares | Copia o conteúdo da lista de escalares para a lista de duplicados. |
Limpar lista de escalares | Restaure todos os itens da lista de escalares para o valor de limpeza. |
Obter tamanho da lista de vetores | Retorne o número de itens na lista de vetores. |
Obter último índice da lista de vetores | Retorne o índice do último item da lista de vetores. |
Obter item da lista de vetores | Retorne o FVector armazenado na VectorList, em um local especificado. |
Definir item da lista de vetores | Atualiza o valor do FVector armazenado na lista de vetores, em um local especificado. |
Converter lista de vetores em matriz | Converte uma lista de vetores em uma matriz de FVectors. |
Converter matriz em lista de vetores | Converte uma matriz de FVectors em uma lista de vetores. |
Duplicar lista de vetores | Copia o conteúdo da lista de vetores para a lista de vetores duplicados. |
Limpar lista de vetores | Redefinir todos os itens na lista de vetores para o valor de limpeza. |
Obter tamanho da lista de UV | Retorna o número de itens na lista de UV. |
Obter último índice da lista de UV | Retorna o índice do último item da lista de UV. |
Obter item da lista de UV | Retorna o FVector2D armazenado na lista de UV, em um local especificado. |
Definir item da lista de UV | Atualiza o valor do FVector2D armazenado na lista de UV, em um local especificado. |
Converter lista de UV em matriz | Converte uma lista de UV em uma matriz de FVector2Ds. |
Converter matriz em lista de UV | Converte uma matriz de FVector2D em UVList. |
Duplicar lista de UV | Duplica o conteúdo da lista de UV para a lista de itens duplicados. |
Obter tamanho da lista de cores | Retorna o número de itens na lista de cores. |
Obter último índice da lista de cores | Retorna o índice do último item da lista de cores. |
Obter item da lista de cores | Retorna o FLinearColor armazenado na lista de cores, em um local especificado. |
Definir item da lista de cores | Atualiza o valor do FLinearColor armazenado na lista de cores, em um local especificado. |
Converter lista de cores em matriz | Converte a lista de cores em uma matriz de FLinearColor. |
Converter matriz em lista de cores | Converte uma matriz de FLinearColor em uma lista de cores. |
Extrair canal da lista de cores | Cria uma lista de escalares que corresponde aos canais 0, 1 ou 2 de uma lista de cores. |
Extrair canais da lista de cores | Cria uma lista de vetores a partir de uma lista de cores. Os canais na lista de cores são mapeados para componentes de vetor por meio do índice do canal X, do índice do canal Y e do índice do canal Z. |
Matemática de baixo nível
Funções que operam nas listas de vetores e nas listas de escalares em forma de componentes. Para funções que usam várias listas, como "produto vetorial", as listas precisam ter o mesmo número de elementos.
| Nome do nó | Descrição |
|---|---|
Tamanho do vetor | Calcula o tamanho de cada vetor na lista de vetores A e retorna o valor na lista de escalares. |
Produto escalar | Calcula o produto escalar entre cada par de vetores na lista de vetores A e na lista de vetores B e retorna o valor na nova lista de escalares. |
Produto vetorial | Calcula o produto vetorial entre cada par de vetores na lista de vetores A e na lista de vetores B e retorna o valor na nova lista de vetores. |
Normalização de vetor no lugar | Normaliza cada vetor na lista de vetores e armazena o valor em uma lista de vetores. Se um vetor for degenerado, defina a normal como o vetor Set On Failure. |
Mesclagem de vetores | Calcula Por padrão, isso (constants = 1) adiciona os dois vetores. Defina Você também pode usar a função Linear Interpolate, definindo |
Mesclagem de vetores no lugar | Calcula Por padrão, isso (constants = 1) adiciona os dois vetores. Defina Você também pode usar a função Linear Interpolate, definindo |
Multiplicação vetorial por escalar | Calcula |
Multiplicação vetorial por escalar no lugar | Calcula |
Multiplicação vetorial por constante | Calcula |
Multiplicação vetorial por constante no lugar | Calcula |
Vetor em escalar | Converte cada vetor na lista de vetores em um escalar calculando Você pode usá-la para extrair os valores X, Y e Z de um vetor ou outro cálculo de componente. |
Inversão escalar | Calcula o If Abs(Scalar) < Epsylon, definir para o valor Set On Failure. |
Inversão escalar no lugar | Calcula o If Abs(Scalar) < Epsylon, definir para o valor Set On Failure. |
Mesclagem de escalares | Calcula Por padrão, isso (constants = 1) adiciona os dois valores. Defina A função também pode ser usada para interpolação linear, definindo |
Mesclagem de escalar no lugar | Calcula Por padrão, isso (constants = 1) adiciona os dois valores. Defina Também pode ser usado para interpolação linear, definindo |
Multiplicação de escalar | Calcula |
Multiplicação de escalar no lugar | Calcula |
Multiplicação de escalar por constante | Calcula |
Multiplicação de escalar por constante no lugar | Calcula |
Transformação no lugar | Transforme cada vetor em VectorList e armazene em VectorList |
Transformação vetorial inversa no lugar | Inverta a transformação de cada vetor em VectorList e armazene em VectorList. |
Projeção de plano vetorial no lugar | Projete cada vetor em VectorList em um determinado plano e armazene em VectorList. |
Amostragem de malha
Essas funções calculam e posicionam pontos ao longo da superfície de uma malha.
| Nó | Descrição |
|---|---|
Calcular amostragem de pontos | Calcula um conjunto de pontos de amostragem presentes na superfície da malha de destino com base nas opções de amostragem fornecidas. As amostras são distribuídas de forma aproximadamente uniforme e não sobrepostas em relação às opções fornecidas. |
Calcular amostragem de pontos não uniforme | Calcule um conjunto de pontos de amostragem presentes na superfície da malha de destino com base nas opções de amostragem e opções não uniformes fornecidas. |
Calcular amostragem ponderada de pontos de vértice | Calcule um conjunto de pontos de amostra presentes na superfície do TargetMesh com base nas opções de amostragem fornecidas e opções não uniformes. |
Calcular câmeras de captura de renderização para caixa | Calcula um conjunto de câmeras de captura de renderização para capturar uma cena dentro de uma caixa específica. |
Calcular amostragem de ponto de captura de renderização | Calcule pontos de amostra orientados nas superfícies visíveis dos atores fornecidos. As amostras são calculadas usando a captura de renderização das câmeras virtuais fornecidas. |
Calcular amostragem de pontos aleatória uniforme | Calcula uma amostragem de ponto "aleatória uniforme" (não "espaçamento uniforme") sobre a superfície da malha. |
Camadas de malha modelo - Novidade!
Essas funções gerenciam deslocamentos de vértice adicionais armazenados na malha. Elas podem ser mescladas usando pesos prescritos.
| Nó | Descrição |
|---|---|
Definir camada de malha modelo ativa | Define o índice da camada solicitado como a camada de malha modelo ativa atual, se possível. |
Definir peso da camada de malha modelo | Define o peso da camada em índice da camada como o peso solicitado. |
Definir matriz de pesos da camada de malha modelo | Define os pesos de várias camadas para corresponder à matriz de pesos determinada. Observação: se o comprimento da matriz de pesos for maior do que o número de camadas, serão definidos apenas os pesos das camadas existentes. Não adiciona nem remove camadas. |
Obter matriz de pesos da camada de malha modelo | Obtém os pesos de todas as camadas de modelo na malha. |
Obter quantidade de camadas de malha modelo | Obtém o número de camadas de modelagem ativas na malha. |
Obter camada de malha modelo ativa | Obtém as camadas de modelagem atuais ativas na malha, ou -1 se a malha não tiver camadas de modelagem de malha. |
Descartar camadas de malha modelo | Descarta todos os dados da camada de escultura, deixando as posições dos vértices atuais inalteradas. |
Mesclar camadas de malha modelo | Mescla uma série de camadas de escultura. Pode alterar a camada de modelo malha ativa. |
Raio
Funções utilitárias para criar e consultar raios. Um raio é uma linha que pode ser usada para determinar interseções de objetos. Eles são particularmente úteis na criação de interfaces de usuário interativas em Blueprints.
| Nó | Descrição |
|---|---|
Criar um raio com base em pontos | Crie um raio a partir de dois pontos, colocando a origem em A e a direção como Normalizar (B-A). |
Criar um raio com base na direção do ponto | Crie um raio com base em uma origem e direção, com direção opcionalmente não normalizada. |
Obter raio transformado | Aplique a transformação fornecida ao raio fornecido ou, opcionalmente, a transformação inversa, para retornar o novo raio transformado. |
Obter ponto de raio | Obtenha um ponto na distância determinada ao longo do raio, |
Obter início e fim do raio | Obtenha dois pontos ao longo do raio. |
Obter parâmetro do raio | Projete o ponto fornecido no ponto mais próximo ao longo do raio para retornar o parâmetro e distância do raio naquele ponto. |
Obter distância do ponto até o raio | Obtenha a distância de um determinado ponto até o ponto mais perto do raio. |
Obter ponto mais perto do raio | Obtém no raio o ponto mais próximo do ponto especificado. |
Obter interseção de esfera e raio | Verifica se o raio se encontra com uma esfera definida pelo centro da esfera e o raio da esfera. Essa função retorna duas distâncias de interseção (parâmetros de raio). Se o raio passar por cima da esfera, as duas distâncias serão as mesmas. Se errar, será "MAX_FLOAT". Use a função Get Ray Point para converter as distâncias em pontos no raio e na esfera. |
Obter interseção de caixa e raio | Verifica se o raio se encontra com uma esfera definida pelo centro da esfera e o raio da esfera. |
Obter interseção de plano e raio | Localize a interseção de um raio e um plano. |
Obter ponto mais perto do raio e linha | Calcule o par de pontos mais próximos em uma linha e raio 3D. A linha é definida por uma origem e direção, mas se estende infinitamente nas duas direções. |
Obter ponto mais perto do raio e segmento | Calcular o par de pontos mais próximos em um segmento de linha e raio 3D. O segmento de linha é definido por seus dois endpoints. |
Conjunto de pontos
Funções para trabalhar com conjuntos de pontos.
| Nó | Descrição |
|---|---|
Cluster K-Means para IDs | Use o agrupamento em clusters K-Means para agrupar os pontos fornecidos em um número de destino de clusters e retornar uma matriz com um índice de cluster por ponto. |
Cluster K-Means para matrizes | Use o agrupamento em clusters K-Means para agrupar os pontos fornecidos em um número de destino de clusters e retornar os clusters como uma matriz de listas de índices de pontos. |
Reduzir resolução de pontos | Encontre um subconjunto dos pontos determinados de um tamanho específico. Alternativamente, é possível especificar uma ponderação de prioridades e/ou solicitar espaçamento uniforme para os pontos com resolução reduzida. |
Transformações em pontos | Crie uma matriz das posições das transformações de entrada. |
Transformações de deslocamento | Desloque o local de todas as transformações por deslocamento na direção especificada, seja localmente no espaço da transformação ou no espaço do mundo. Por exemplo, essa função pode deslocar amostras de superfície de malha ao longo da direção normal da superfície. |
Nivelar pontos | Converta uma matriz de pontos de 3D para 2D, transformando-a no ReferenceFrame fornecido e tomando as coordenadas X,Y. Observação: para transformar no ReferenceFrame, aplicamos o inverso da transformação do ReferenceFrame. |
Desnivelar pontos | Converta uma matriz de pontos de 2D para 3D, transformando o ReferenceFrame fornecido, com a altura fornecida para o eixo não plano (padrão Z). |
Criar caixa delimitadora com base em pontos | Crie uma caixa delimitadora alinhada ao eixo que limita os pontos fornecidos, opcionalmente expandida com valores adicionais de cada lado. |
Obter pontos da lista de índices | Crie uma matriz do subconjunto de AllPoints indicado pela lista de índices. |
Materiais
Funções para manipular IDs de material de uma malha. Um ID de material é um inteiro por triângulo e não está diretamente conectado a nenhum material específico. Cada ID de material é associado a uma seção da malha durante a conversão de ou para uma malha estática.
| Nome do nó | Descrição |
|---|---|
Obter elementos com IDs de material | Retorna verdadeiro se a malha tiver IDs de material disponíveis/habilitados. |
Habilitar IDs de material | Habilita IDs de material em uma malha, inicializa em 0. |
Limpar IDs de material | Restaura todos os IDs de material em uma malha para 0. |
Obter máximo de ID de material | Retorna o ID de material máximo definido em uma malha no momento. |
Remapear IDs de material | Para todos os triângulos com um ID de material correspondente a um determinado valor, define o ID de material como um novo valor. |
Definir todos os IDs de material dos triângulos | Define o ID de material de todos os triângulos em uma malha para os valores em uma lista de índices de entrada. |
Definir ID de material do PolyGroup | Define o ID de material de todos os triângulos em uma malha que tem um ID de grupo de polígonos especificado (em uma camada de grupo de polígonos específica) para o ID de material especificado. |
Remapear para novos ID de material por material | Remapeie os IDs de materiais da malha de destino para um novo conjunto de IDs de material com base em uma lista de materiais de origem/atual e uma nova lista de materiais. Para cada triângulo, o Material atual é determinado como FromMaterialList[MaterialID]. O primeiro índice desse material é encontrado em ToMaterialList, e esse índice é usado como o novo MaterialID. Se um Material não puder ser encontrado em ToMaterialList, um aviso será impresso, e o MaterialID não será modificado,a menos que MissingMaterialID seja definido com um valor >= 0, caso em que MissingMaterialID será atribuído. |
Remapear e combinar materiais | Remapeie os IDs de material para serem consistentes com a lista de materiais necessários. Os IDs de material da malha de destino serão remapeados para referenciar a lista de materiais combinados, que sempre começa com os materiais necessários. |
Colisão
Funções para criar, editar e manipular formas de colisão.
| Nome do nó | Descrição |
|---|---|
Malha estática tem colisão personalizada | Retorna verdadeiro se a malha estática tiver uma colisão personalizada. Se não houver dados do editor disponíveis, retorna falso. |
Obter colisão simples do componente | Obtenha a colisão simples de um componente de primitiva. |
Definir colisão simples do componente de malha dinâmica | Defina a colisão simples em um componente de malha dinâmica. |
Obter colisão simples de malha estática | Obtenha a colisão simples de uma malha estática. |
Definir colisão simples de malha estática | Defina a colisão simples em uma malha estática. |
Obter contagem simples de formas de colisão | A contagem do número de formas de colisão simples. |
Transformar formas de colisão simples | Transforme formas de colisão simples. |
Combinar colisão simples | Adicione formas simples de colisão de "Anexar colisão à colisão para atualizar". |
Simplificar invólucros convexos | Simplifique qualquer invólucro convexo na representação de colisão simples fornecida. Atualiza a colisão simples transmitida. |
Aproximar invólucros convexos com formas mais simples | Tente aproximar quaisquer invólucros convexos na representação de colisão simples fornecida. Atualiza a colisão simples transmitida. Os cascos convexos que não são bem aproximados (para as tolerâncias definidas em ApproximateOptions) permanecerão como cascos convexos. |
Mesclar formas de colisão simples | Tente mesclar formas de colisão para criar uma representação com menos formas gerais. |
Calcular espaço negativo | Calcule o espaço negativo de uma superfície de malha de entrada que deve ser protegida na mesclagem de formas de colisão simples. |
Cobertura de esfera para matriz das esferas | Retorna uma matriz das esferas na cobertura de esfera fornecida. |
Matriz das esferas à cobertura de esfera | Retorne uma cobertura de esfera contendo as esferas na matriz de esferas fornecida. |
Definir colisão complexa personalizada de malha estática | Define a malha estática como a colisão personalizada para ser usada por outra malha estática. Observação: funciona apenas se os dados exclusivos do editor estiverem disponíveis. |
Restaurar colisão simples | Limpa as formas de colisão simples. |
Gerar colisão com base em malha | Gera formas de colisão simples para uma forma de malha dinâmica de entrada. |
Combinar matriz de colisão simples | Combina as formas de colisão SimpleCollisionArray em um único elemento SimpleCollision. |
Calcular decomposição convexa navegável | Calcula a decomposição convexa "navegável" da superfície de uma malha de entrada. Essa é uma decomposição convexa apropriada para um personagem de (ou maior que) um determinado tamanho. |
Contenção
Funções para aproximar uma malha com invólucro convexo.
| Nome do nó | Descrição |
|---|---|
Calcular invólucro convexo da malha | Calcula o invólucro convexo de uma determinada malha de destino, ou parte dela se uma seleção opcional for fornecida, e coloca o resultado na malha do invólucro. |
Calcular invólucro de varredura da malha | Calcula o invólucro de varredura de uma determinada malha para um determinado plano 3D definido por ProjectionFrame e armazena do resultado na malha de invólucro. O invólucro de varredura é uma varredura linear do invólucro convexo 2D dos vértices da malha projetados no plano (a varredura contém precisamente as extensões da malha ao longo do plano normal). |
Calcular decomposição convexa de malha | Calcule uma decomposição de invólucro convexo do TargetMesh determinado. Se mais que um invólucro for solicitado, serão retornados vários invólucros que tentam se aproximar da malha. Se as configurações de simplificação estiverem habilitadas, não há garantia de que toda a malha fique contida nos invólucros. |
Valores de vértice
Você usa essas funções para obter e manipular valores de malha armazenados nos vértices, incluindo as cores do vértice
Vários valores, como normais, podem ser armazenados em um vértice específico, mas esses métodos retornarão apenas um.
| Nome do nó | Descrição |
|---|---|
Definir cor constante dos vértices da malha | Define as cores de todos os vértices para uma cor específica. |
Definir malha pelas cores do vértice | Define a cor de cada vértice usando uma lista de cores. |
Obter malha pelas cores do vértice | Obtém uma lista de cores de vértice único para cada vértice da malha na malha de destino, derivada da sobreposição da cor do vértice |
Definir cor do vértice de seleção da malha | Define as cores na sobreposição de cor do vértice da malha de destino, identificada pela seleção, como um valor constante.
|
Converter sRGB das cores dos vértices da malha em linear | Aplique uma transformação de cor SRGB para linear em todas as cores do vértice. |
Converter linear de cores dos vértices da malha em sRGB | Aplique uma transformação de cores linear para SRGB em todas as cores de vértices. |
Obter malha por normais de vértice | Obtenha uma lista de vetores de normais únicas para cada vértice da malha na malha de destino, derivada da sobreposição de normais. |
Obter malha por UV de vértice | Obtenha uma lista de UV de um único vértice para cada vértice da malha na malha de destino, derivada da sobreposição UV especificada. |
Desfocar cores de vértices da malha | Desfoque o atributo de cor da malha. Se a malha não tiver um atributo de cor, a função retornará a malha inalterada. |
Transferir cores de vértices da malha | Transfere as cores do vértice da malha de origem para a malha de destino. Pressupõe que as malhas estão alinhadas. Caso contrário, use a função de código de script de geometria "Transformar malha" para alinhá-las. |
Amostragem e criação de textura
Funções para ler e criar dados de textura.
| Nome do nó | Descrição |
|---|---|
Fazer amostragem de textura 2D em posições de UV | Faça amostragem do mapa de textura fornecido na lista de posições UV e retorna a cor em cada posição na saída da lista de cores. |
Criar novo ativo de textura 2D | Crie um ativo de textura 2D serializado com base em uma UTexture2D temporária. |
Fazer amostragem de alvo de renderização de textura 2D em posições de UV | Faça amostragem do mapa de textura fornecido na lista de posições UV e retorna a cor em cada posição na saída da lista de cores. Esta função busca dos dados de GPU antes de fazer amostragem. Por isso, conforme a aplicação, pode ser lenta e ineficiente. |
Incorporação
Essas funções incorporam dados entre uma malha de origem e de destino em dados de cor do vértice ou de textura. É possível incorporar vários dados da malha, como normais, curvatura, oclusão de ambiente, mapa de opacidade e mapa de cores de subsuperfície. Também é possível especificar o tipo de filtro a ser aplicado.
| Nome do nó | Descrição |
|---|---|
Incorporar textura | Cria texturas para a malha de destino a partir de dados amostrados na malha de origem. |
Incorporar vértice | Preenche as cores do vértice na malha alvo com os resultados das propriedades de incorporação da malha de origem específica. |
Incorporar textura de capturas de renderização | Incorpora texturas para uma malha de destino a partir de capturas de renderização. |
Criar shell do UV de tipo de incorporação | Gere as opções de incorporação para o shell do UV. |
Incorporar distância assinada para volume extra | Grave um campo de distância na textura de volume existente fornecida. |
Criar altura de tipo de incorporação | Gera as opções de incorporação para os dados de altura. |
UV
Você usa estas funções para manipular UV de uma malha.
| Nome do nó | Descrição |
|---|---|
Obter número de canais UV | Obtém o número de canais UV em uma malha. |
Definir número de canais UV | Define o número de canais UV em uma malha. |
Obter caixa delimitadora definida com UV | Obtém a caixa delimitadora 2D de todos os UV em um canal UV. |
Copiar canal UV | Substitui o canal de UV de destino por valores do canal de UV de origem. |
Transladar UV da malha | Aplica a translação 2D a todos os UV, ou a um subconjunto de UV se você fornecer uma seleção, no índice do UVSet. |
Dimensionar UV da malha | Aplica a escala 2D a todos os UV, ou a um subconjunto de UV se você fornecer uma seleção, no índice do UVSet. |
Girar UV da malha | Aplica rotação 2D em todas as UV, ou um subconjunto de UV se você fornecer uma seleção, no índice do UVSet. |
Recalcular UV da malha | Recalcula UV para uma malha com base em diferentes tipos de ilhas UV bem definidas, como ilhas UV existentes, grupos de polígonos ou a entrada de seleção. |
Reembalar UV da malha | Empacota as ilhas UV existentes em um espaço UV padrão. |
Definir UV da malha a partir da projeção planar | Usando a projeção planar, defina UV para uma malha inteira ou um subconjunto definido pela entrada de seleção. |
Definir UV da malha a partir da projeção da caixa | Usando a projeção de caixa, defina UV para uma malha inteira ou um subconjunto definido pela entrada de seleção. |
Definir UV da malha a partir da projeção do cilindro | Usando a projeção cilíndrica, defina UV para uma malha inteira ou um subconjunto definido pela entrada de Seleção. |
Gerar automaticamente UV de malha do compilador de patches | Calcula novos UV usando o método PatchBuilder e, opcionalmente, os empacota. |
Gerar automaticamente X UV de malha do atlas | Calcula novos UV usando XAtlas e, opcionalmente, os empacota. |
Obter informações de UVSize da malha | Calcula informações sobre dimensões e áreas para um canal UV de uma malha, com uma seleção de malha opcional. |
Obter malha por UV de vértice | Obtém uma lista de UV de um único vértice para cada vértice da malha na malha de destino, derivada da sobreposição UV especificada. |
Copiar canal UV de malha para malha | Copia UV 2D do UV fornecido em "Copiar da malha" para as posições de vértice 3D em "Copiar para malha UV". Os IDs de material e de grupo de polígonos são preservados na malha UV. |
Copiar malha para canal UV da malha | Transfere as posições de vértice e triângulos 3D de "Copiar de UVMesh" para o canal UV determinado, identificado pelo índice do canal UV de "Copiar para malha". As posições 3D (X,Y,Z) serão copiadas como posições UV (X,Y). |
Calcular parâmetro UV local da malha | Calcule a parametrização de UV local em vértices da malha de destino em torno do Ponto central/Triângulo fornecido. Este método usa uma parametrização de mapa exponencial discreto, que desdobra a malha localmente com base em distâncias e ângulos geodésicos. O ponto central terá um valor de UV (0, 0) e os UV de vértice calculados serão tais que "Length( UV) == geodesic distance". |
Adicionar elemento UV à malha | Adiciona um novo elemento UV ao canal UV especificado da malha e retorna um novo ID de elemento UV. |
Definir IDs de elemento de UV de triângulo da malha | Define os IDs de elementos de UV para um triângulo fornecido no canal UV especificado, que é os índices dos triângulos UV. Essa função não cria UV. O triângulo UV só pode ser definido se a topologia resultante for válida. Ou seja, os elementos não podem ser compartilhados entre vértices de malha de base diferentes, por isso não podem ter sido usados por outros triângulos, ou já devem ter sido associadosao mesmo vértice de malha em outros triângulos UV. Se alguma condição não for atendida, bIsValidTriangle será retornado como falso. |
Obter IDs de elemento de UV de triângulo da malha | Retorna os IDs de elementos UV associados aos três vértices do triângulo no canal UV especificado. Se o triângulo não existir na malha ou se nenhum UV estiver definido no canal de UV especificado para o triângulo, bHaveValidUVs será retornado como falso. |
Obter posição do elemento UV da malha | Retorna a posição UV para um determinado ID de elemento UV no canal UV especificado. Se o canal de UV ou ID do elemento não existir, bIsValidElementID será retornado como falso. |
Definir posição do elemento UV da malha | Define a posição UV de um ElementID específico no canal UV fornecido. Se o canal de UV ou ID do elemento não existir, bIsValidElementID será retornado como falso. |
Definir costuras UV ao longo das arestas selecionadas | Converte a seleção em uma seleção de arestas e define ou remove costuras UV ao longo de todas as arestas selecionadas. |
Aplicar dimensionamento UV de densidade de texel | Redimensiona UV no canal UV de uma malha para corresponder a uma densidade de texel especificada, descrita pelas opções passadas. Compatível como processamento em um subconjunto de UV por meio de uma seleção não vazia. |
UV de malha de layout | Encapsular as ilhas UV existentes no canal UV especificado no espaço UV padrão com base nas opções de reembalagem. |
Transferir UV de malha por projeção | Copia UV de uma malha para outra por meio da projeção ao longo da direção selecionada. Costuras de UV não são permitidas, é atribuída uma única coordenada de UV a cada vértice na seleção da malha de destino. |
Interseção de Caixa UV 2D | Testa a interseção de dois limites Box2D, com suporte opcional para trabalhar em um espaço delimitado. |
PolyGroup
Funções para manipular grupos de polígonos de uma malha. Grupos de polígonos são integers por triângulo que definem implicitamente regiões e trechos de triângulos nas ferramentas de modelagem e em algumas operações do script de geometria. No entanto, uma camada de grupo de polígonos é um número por triângulo e você pode usá-la para qualquer outra finalidade. Para saber mais sobre PolyGroups, confira Como entender PolyGroups.
| Nome do nó | Descrição |
|---|---|
Obter elementos com PolyGroups | Retorna verdadeiro se a malha tiver uma camada de PolyGroup padrão. |
Habilitar PolyGroups | Habilita uma camada de grupo de polígonos padrão em uma malha. |
Obter número de camadas de PolyGroup estendidas | Retorna a contagem de camadas PolyGroup estendidas. As camadas de PolyGroup estendidas ainda não são totalmente compatíveis com todas as operações ou ferramentas de modelagem. |
Definir camadas de PolyGroups estendidos numéricos | Define o número de camadas PolyGroup estendidas em uma malha. |
Limpar PolyGroups | Restaura as atribuições de polígonos do triângulo para um valor constante para uma determinada camada de grupo de polígonos. |
Copiar camada de PolyGroups | Copia PolyGroups de uma camada para outra. |
Converter ilhas UV em PolyGroups | Cria e atribui um novo PolyGroup para cada ilha UV desconectada da malha. |
Converter componentes em PolyGroups | Cria e atribui um novo PolyGroup para cada componente desconectado de uma malha. |
Calcular PolyGroups com base no limiar do ângulo | Define PolyGroups ao particionar a malha com base em uma dobra de aresta/ângulo de abertura. |
Calcular PolyGroups com base na detecção de polígono | Identifica polígonos e atribui IDs de PolyGroups. |
Adicionar camada de PolyGroup nomeada | Adiciona uma camada de PolyGroup estendida com o nome fornecido. Se uma camada com esse nome já estiver na malha, essa camada existente será retornada e nenhuma nova camada será adicionada. |
Encontrar camada de PolyGroup estendida por nome | Encontra uma camada PolyGroup estendida pelo seu nome. Se houver várias camadas com o mesmo nome, retorna a primeira camada. |
Obter caixa delimitadora de PolyGroup | Calcula as delimitações de um PolyGroup. |
Obter caixa delimitadora UV de PolyGroup | Calcula as delimitações UV de um PolyGroup. |
Obter centroide UV do PolyGroup | Calcula o centroide UV de um PolyGroup. |
Peso de osso
Essas funções calculam e manipulam pesos de ossos, também conhecidos como pesos de revestimento. Os pesos dos ossos determinam a influência da transformação de um osso em um conjunto de vértices. Também é possível obter informações sobre o esqueleto armazenado na malha dinâmica. Essas informações são 1:1 com o esqueleto da malha do esqueleto após a conversão em uma malha dinâmica pelo nó Copy Mesh From Skeletal Mesh.
| Nó | Descrição |
|---|---|
A malha tem pesos de osso | Verifique se a malha de destino tem um atributo "Peso de osso" por vértice definido. |
Criar pesos de osso na malha | Crie um atributo "Pesos de osso" na malha de destino, se ele ainda não existir. Se existir e |
Obter índice máximo de peso de osso | Determine o maior índice de peso de osso existente na malha. |
Obter pesos de osso do vértice | Retorne uma matriz de pesos de ossos em um vértice específico da malha de destino. |
Obter maior peso de osso do vértice | Retorne o peso de osso do peso máximo em um vértice específico da malha de destino. |
Definir pesos de osso do vértice | Defina o peso de osso em um vértice específico da malha de destino. |
Definir todos os pesos de osso do vértice | Defina todos os vértices da malha de destino de acordo com os pesos de osso especificados. |
Calcular pesos de osso suavizados | Calcule uma vinculação de revestimento suave para a malha fornecida ao esqueleto fornecido. |
Transferir pesos de osso da malha | Transfira os pesos de osso do SourceMesh para o TargetMesh. Pressupõe que as malhas estão alinhadas. Caso contrário, use a função de código de script de geometria "Transformar malha" para alinhá-las. |
Copiar ossos da malha | Copie os atributos do osso (esqueleto) da malha de origem para a malha de destino. |
Descartar ossos da malha | Descartar os atributos do osso (esqueleto) da malha de destino. |
Obter índice do osso | Obtém o índice do osso com o nome fornecido. |
Obter nome do osso-raiz | Obtenha o nome do osso-raiz. |
Obter filhos do osso | Obtenha as informações sobre os filhos do osso. |
Obter todas as informações dos ossos | Obtenha uma matriz de ossos representando o esqueleto. Cada entrada contém informações sobre o osso. |
Obter informações do osso | Obtém o índice do osso com o nome fornecido. |
Copiar pesos de osso da malha | Copia todos os pesos de osso de um perfil de origem para um perfil de destino, na mesma malha, substituindo todos. |
Mesclar pesos de osso | Mescla dois pesos de osso usando um valor alfa que varia de 0 a 1, inclusive. |
Remover pesos de osso | Remove os ossos fornecidos de qualquer atribuição de peso de osso no perfil fornecido. |
Consultas geométricas de malha
Funções para consultas geométricas de alto nível de uma malha.
| Nome do nó | Descrição |
|---|---|
Obter caixa delimitadora de malha | Calcula a caixa delimitadora dos vértices da malha. |
Obter área de volume de malha | Calcula o volume e a área da malha. |
Obter malha fechada | Retorna verdadeiro se a malha estiver fechada, como se não houvesse arestas de limite topológico. |
Obter número de loops de borda abertos | Retorna o número de loops de aresta abertos, como "lacunas" na malha. |
Obter número de arestas de borda abertas | Retorna o número de bordas de limite topológico na malha. |
Obter número de componentes conectados | Retorna o número de componentes conectados separados na malha, como "patches de triângulo" conectados por bordas compartilhadas. |
Calcular invólucro convexo da malha | Calcula o invólucro convexo de uma malha específica, ou parte da malha definida pela entrada Selection, e retorna em uma malha separada. |
Calcular invólucro de varredura da malha | Calcula um invólucro por meio de varredura 2D da malha de entrada e retorna em uma malha separada. |
Calcular decomposição convexa de malha | Calcule uma decomposição de invólucro convexo da malha de destino. Se mais que um invólucro for solicitado, serão retornados vários invólucros que tentam se aproximar da malha. Não há garantia de que a malha inteira esteja contida nos invólucros. |
Obter centro da área de volume de malha | Calcula o volume, a área e o centro de massa da malha. |
Geodésica da malha
Essas funções calculam o caminho mais curto determinado em uma superfície de malha.
| Nó | Descrição |
|---|---|
Obter caminho de vértice mais curto | Calcula uma lista de vértices que representa o caminho mais curto restrito a viajar ao longo das arestas do triângulo da malha entre o vértice inicial e final prescrito. Isso pode falhar se os pontos inicial e final estiverem dentro de componentes conectados separados da malha. |
Obter caminho de superfície mais curto | Calcula um polígono que representa o caminho mais curto da superfície da malha entre dois pontos prescritos na malha fornecida. Pode haver falha se os pontos inicial e final estiverem em componentes conectados separados da malha.
|
Criar caminho de superfície | Calcula um PolyPath que representa um caminho de superfície "reto" que começa no ponto prescrito na malha e continua na direção indicada até chegar ao comprimento do caminho solicitado ou encontrar um limite de malha, o que vier primeiro.
|
Pool de malhas
Funções para chamada e liberação do pool de malhas de cálculo.
| Nome do nó | Descrição |
|---|---|
Obter pool de malhas global | Acesse um pool de malhas de cálculo global (criado no primeiro acesso). |
Descartar pool de malhas global | Limpa ou destrói completamente o pool de malhas global atual, permitindo que ele e todas as suas malhas tenham o lixo coletado. |
Solicitar e liberar malha de cálculo | Macro para solicitar uma malha de cálculo que pode ser usada pelo pin de execução "Com malha" e liberada automaticamente antes do pin de execução "Após liberação". |
Solicitar e liberar malha de cálculo do pool de malhas global | Macro para solicitar e liberar uma malha cálculo usando o pool de malhas de cálculo global. |
Polígono simples
Um polígono 2D simples é um polígono fechado sem lacunas. Você pode usar essas funções para chamar e manipular polígonos simples.
| Nó | Descrição |
|---|---|
Obter contagem de vértices de polígono | Retorna o número de vértices em um polígono simples. |
Obter contagem de vértices | Retorna o vértice especificado de um polígono simples. Vertex Index faz o loop, ou seja, -1 dá o último vértice no polígono. Se o polígono não tiver vértices, retorna o vetor zero. |
Definir vértice de polígono | Defina o vértice especificado de um polígono simples. Vertex Index faz o loop, ou seja, -1 dá o último vértice no polígono. Não faz nada se o polígono não tiver vértices. |
Adicionar vértice de polígono | Defina o vértice especificado de um polígono simples. Retorna o índice do vértice adicionado. |
Obter tangente de polígono | Retorna a tangente de um vértice de um polígono simples. Vertex Index faz o loop, ou seja, -1 fornece a tangente do último vértice no polígono. Se o polígono não tiver vértices, retorna o vetor zero. |
Obter comprimento do arco de polígono | Retorna o comprimento de arco de um polígono simples. |
Obter área do polígono | Retorna a área delimitada por um polígono simples. |
Obter delimitações do polígono | Retorna a caixa delimitadora de um polígono simples. |
Converter spline em polígono | Faz amostragem de posições em um |
Polígono simples para matriz de vetor | Retorna uma matriz de vetores 3D com as localizações dos vértices do polígono, com a coordenada Z definida como zero. |
Polígono simples para matriz de vetor 2D | Retorna uma matriz de vetores 2D com as localizações dos vértices do polígono. |
Matriz de vetor para polígono simples | Retorna um polígono criado com base em uma matriz de vetores de posição 3D, ignorando a coordenada Z. |
Matriz de vetor 2D para polígono simples | Retorna um polígono criado com base em uma matriz de vetores de posição 2D. |
Lista de polígonos
Uma lista de polígonos inclui uma lista de polígonos gerais, que podem ter lacunas. Você pode usar essas funções para chamar e editar polígonos em uma lista de polígonos.
| Nó | Descrição |
|---|---|
Obter contagem de vértices de polígono | Retorna o número de vértices na forma externa de um polígono se o índice da lacuna for -1 ou na lacuna interna especificada. Retorna 0 para polígonos inválidos ou índices de buracos. |
Obter contagem de vértices | Retorna o vértice especificado de um polígono: do polígono externo se o índice da lacuna for -1 ou da lacuna interna especificada. Os vértices são o vetor zero para polígonos inválidos ou índices de lacunas ou se o polígono estiver vazio. O índice do vértice ficará em loop. |
Obter contagem de polígonos | Retorna o número de polígonos na lista de polígonos. |
Obter contagem de lacunas do polígono | Retorna o número de lacunas em um polígono. Retorna zero para um índice de polígono inválido. |
Obter vértices do polígono | Retorna os vértices de um polígono: do polígono externo, se o índice da lacuna for -1, ou da lacuna interna especificada. Os vértices de saída estão vazios para polígonos inválidos ou índices dos buracos. |
Obter área do polígono | Retorna a área delimitada por um polígono. Retorna zero para um índice de polígono inválido. |
Obter delimitações do polígono | Retorna a caixa delimitadora de um polígono. Retorna uma caixa vazia e inválida para um índice de polígono inválido. |
Obter polígono simples | Retorna um polígono simples especificado de uma lista de polígonos: o polígono externo, se o índice da lacuna for -1, ou a lacuna interna especificada. O polígono está vazio para polígonos inválidos ou índices dos buracos. |
Obter área da lista de polígonos | Retorna a área delimitada por um polígono. |
Obter delimitações da lista de polígonos | Retorna a caixa delimitadora de um polígono. |
Criar lista de polígonos com base em um único polígono | Crie uma lista de polígonos de um único polígono, com lacunas opcionais. |
Adicionar polígono à lista | Adicione o polígono a uma lista de polígonos, com lacunas opcionais. Retorna o índice do polígono adicionado. |
Criar lista de polígonos com base em polígonos simples | Crie uma lista de polígonos com base em uma matriz de polígonos simples. |
Anexar lista de polígonos | Adicione à lista de polígonos os polígonos em "Polígonos a serem anexados". |
União de polígonos | Calcula a união de todos os polígonos da lista de polígonos. Também resolve autointerseções dentro de cada polígono. |
Diferença entre polígonos | Calcule a diferença da lista de polígonos e dos polígonos para subtrair. |
Interseção de polígonos | Calcule a interseção da lista de polígonos e polígonos para fazer interseção. |
"Or" exclusivo de polígonos | Calcule o "or" (ou) exclusivo da lista de polígonos e polígonos para o "or" (ou) exclusivo. |
Deslocamento de polígonos | Aplique um deslocamento único a uma lista de polígonos fechados. |
Deslocamentos de polígonos | Aplique dois deslocamentos em sequência a uma lista de polígonos fechados. |
Morfologia de abertura de polígonos | Aplicar um operador de abertura morfológico a uma lista de polígonos fechados: primeiro deslocando em deslocamento negativo e, em seguida, em deslocamento positivo. Se o deslocamento for negativo, isso funcionará como uma operação de fechamento. |
Morfologia de fechamento de polígonos | Aplique um operador de fechamento morfológico a uma lista de polígonos fechados: primeiro deslocando em deslocamento positivo e, em seguida, em deslocamento negativo. Se o deslocamento for negativo, isso funcionará como uma operação de abertura. |
Criar polígonos com base no deslocamento do caminho | Aplique um deslocamento a um único caminho 2D aberto, gerando como resultado polígonos fechados. |
Caminho de polígonos
Essas funções realizam manipulações de caminho dos polígonos. Um caminho de polígonos é um caminho definido por uma ordenação de vértices.
| Nome do nó | Descrição |
|---|---|
Obter número de vértices no caminho de polígonos | Retorna o número de vértices no caminho de polígonos. |
Obter último índice do caminho de polígonos | Retorna o índice do último vértice no caminho de polígonos. |
Obter vértice do caminho de polígonos | Retorna a posição 3D do vértice especificado. |
Obter tangente do caminho de polígonos | Retorna o vetor de tangente local do caminho do polígono no índice de vértice especificado. |
Obter comprimento do arco do caminho de polígonos | Retorna o comprimento do caminho de polígonos. |
Obter índice do vértice mais próximo | Retorna o índice do vértice do caminho de polígonos mais próximo ao ponto especificado em 3D. |
Nivelar para 2D no eixo | Cria uma cópia 2D nivelada do caminho descartando o eixo fornecido e usando as outras duas coordenadas como as novas coordenadas X, Y. |
Converter spline em caminho de polígonos | Faz amostragem das posições de um USplineComponent em um caminho de polígonos com base nas opções de amostragem fornecidas. |
Converter caminho de polígonos em matriz | Preenche uma matriz de vetores 3D com as posições de vértice do caminho de polígonos. |
Converter matriz em caminho de polígonos | Cria um caminho de polígono a partir de uma matriz de vetores de posição 3D. |
Converter caminho de polígonos em matriz de vetor 2D | Criar uma matriz de vetores 2D com as localizações dos vértices do caminho de polígonos projetadas no plano XY. |
Converter matriz de vetor 2D em caminho de polígonos | Cria um caminho de polígono com base em uma matriz de vetores de posição 2D. A coordenada Z dos vértices do caminho do polígono correspondente é zero. |
Criar caminho circular 3D | Cria um círculo fechado ao redor da origem no plano XY e é reposicionado pela entrada da transformação. |
Criar caminho circular 2D | Cria um círculo fechado no plano XY em torno de um determinado centro. Para caminhos fechados, o vértice final não é uma cópia do vértice inicial. |
Criar caminho de arco 3D | Cria um arco aberto ao redor da origem no plano XY e o reposiciona pela entrada da transformação. |
Criar caminho de arco 2D | Cria um arco aberto no plano XY ao redor do centro especificado. |
Comparações de malhas
Funções para comparar duas malhas. Esses nós não modificam as malhas pelo uso.
| Nome do nó | Descrição |
|---|---|
É malha igual | Retorna verdadeiro se as duas malhas de entrada forem equivalentes nas comparações definidas pelas opções de entrada. |
Medir distâncias entre as malhas | Mede as distâncias mínima, máxima e média do ponto mais próximo entre duas malhas. |
É malha intersecional | Retorna verdadeiro se as duas malhas de entrada (com transformações opcionais) estiverem se cruzando geometricamente. |
BVH e consultas espaciais
Estas funções criam e consultam um objeto de hierarquia de volume de limitação (BVH) para uma malha.
| Nome do nó | Descrição |
|---|---|
Compilar BVH para malha | Compila um objeto BVH para uma malha que pode ser usado pelos nós 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. A função retorna uma estrutura BVH de malha dinâmica de script de geometria. |
É BVH válida para malha | Verifica se o objeto BVH ainda pode ser usado com a malha. Em geral, retorna falso se a malha foi alterada. |
Recompilar BVH para malha | Recompila o objeto BVH para a malha no local, o que pode reduzir as alocações de memória, em comparação com a criação de um novo BVH. |
Procurar ponto mais próximo na malha | Encontra o ponto na malha/BVH mais próximo de um ponto 3D específico. |
Procurar intersecção mais próxima do raio com a malha | Encontra a interseção mais próxima de um raio 3D com a malha ou BVH. |
É ponto dentro da malha | Testa se um ponto está dentro da malha/BVH usando a consulta Fast Winding Number. |
Utilitários
Essas funções auxiliares são úteis no processamento de malha do script de geometria e em geradores procedurais.
| Nome do nó | Descrição |
|---|---|
Criar pool de malhas dinâmicas | Cria um novo objeto de pool de malhas dinâmicas. |
Criar novo nome de caminho de ativo exclusivo | Crie um nome de ativo exclusivo com base em um caminho e um nome de ativo-base. Isso é útil com funções como Criar novo ativo de malha estática com base na malha. Este nó funciona apenas no editor. |
Obter string de informações da malha | Retorna uma string de depuração que contém estatísticas da malha e outras informações. |
Fazer amostragem da spline para transformações | A amostra de um USplineComponent em uma lista de FTransforms, com base nas SamplingOptions fornecidas. |
Glossário
| Termo | Definição |
|---|---|
Sobreposição | Uma estrutura de dados que representa um tipo de dados de vértice aplicados a uma malha. Esses tipos incluem: cor do vértice, normal, tangente e UV. Vários valores do tipo especificado podem ser armazenados em um único vértice. Nesses casos, dependendo do tipo, ocorre uma das seguintes situações: é usado o último valor, é usada a média dos valores ou é usado um valor arbitrário. |
Anel único | Os vértices vizinhos do vértice selecionado, conectados por uma borda. O anel único do vértice M. |
Conjunto de UV | Contém as coordenadas UV de uma malha, também chamadas de canal UV. Você pode usar vários canais UV para representar diferentes mapas UV. |
Extensões | As meias dimensões de uma caixa, medidas ao longo dos três eixos. São usadas para determinar o tamanho da extensão a partir de um ponto central. Um ponto central, C, e uma extensão, E, resultam em uma caixa com um canto inferior esquerdo em |
Bordas delimitadoras de PolyGroup