La bibliothèque du plug-in Geometry Script contient de nombreuses fonctionnalités, notamment des fonctions de construction et de requêtes de maillage de bas niveau telles que la création d'un maillage triangle par triangle ou le décompte de ses vertex, mais aussi des fonctions de haut niveau comme les opérations booléennes sur les maillages et les tests d'intersection.
Pour en savoir plus sur l'utilisation de la bibliothèque du plug-in Geometry Script, consultez la page Geometry Scripting Users Guide (Guide d'utilisation du plug-in Geometry Script).
La plupart des fonctions sont disponibles lorsque vous utilisez l'éditeur et au moment de l'exécution. Certaines fonctions spécifiques ne sont toutefois disponibles que lorsque vous utilisez l'éditeur ; celles-ci ont été répertoriées dans les tableaux ci-dessous.
Pour en savoir plus sur les différentes fonctions, consultez les API Blueprint et Python.
Lecture/écriture de ressources et de composants
Vous pouvez utiliser les fonctions suivantes pour lire et écrire des instances de maillage dynamique, telles que la lecture et l'écriture vers ou depuis une ressource ou un composant existant ou nouveau.
| Nom de nœud | Description |
|---|---|
Copie de maillage à partir d'un maillage statique | Extraire un maillage dynamique d'une ressource de maillage statique. |
Copie de maillage à maillage statique | Mettre à jour une ressource de maillage statique avec une nouvelle géométrie convertie à partir d'un maillage dynamique. |
Copier le maillage à partir du composant | Extraire un acteur de maillage dynamique d'un type de composant pris en charge, dans l'espace du monde ou local. |
Créer un nouveau volume à partir du maillage | Créer un nouvel acteur de volume, par exemple un volume de blocage, à partir d'un acteur de maillage dynamique. Ce nœud ne fonctionne que dans l'éditeur. |
Créer une nouvelle ressource de maillage statique à partir du maillage | Crée une ressource de maillage statique à partir d'un acteur de maillage dynamique. Ce nœud ne fonctionne que dans l'éditeur. |
Définir la collision de maillage statique à partir du maillage | Générer des formes de collision simples pour une ressource de maillage statique en fonction du maillage d'entrée. |
Définir la collision de maillage dynamique à partir du maillage | Générer des formes de collision simples pour un composant de maillage dynamique en fonction du maillage d'entrée. |
Copier les maillages de collision à partir d'un objet | Extraire la géométrie de collision à partir d'un objet et le copier avec les maillages stockés dans le maillage dynamique.
|
Réinitialiser la collision de maillage dynamique | Supprimer les collisions simples du composant de maillage dynamique |
Copie de maillage à partir d'un maillage squelettique | Copier le maillage squelettique dans le maillage dynamique cible. |
Copie de maillage à maillage squelettique | Copier le maillage dynamique donné vers le maillage squelettique. |
Créer une ressource de maillage squelettique à partir du maillage | Crée une nouvelle ressource de maillage squelettique à partir du maillage cible. Ce nœud ne fonctionne que dans l'éditeur. |
Vérifier que le maillage statique a un niveau de détail disponible | Vérifier si une ressource de maillage statique dispose du LOD demandé. Autrement dit, vérifie si le nœud Copy Mesh From Static Mesh peut réussir selon le type de LOD et l'index de LOD donnés. |
Obtenir le nombre de LOD de maillage statique du type | Déterminer le nombre de LOD disponibles pour le LODType demandé dans une ressource de maillage statique. |
Déterminer l'occlusion du maillage | Déterminer les maillages entièrement masqués par d'autres maillages dans l'ensemble, vus de l'extérieur. |
Obtenir la liste des matériaux LOD à partir du maillage squelettique | Extraire la liste des matériaux et les index de matériaux correspondants du LOD spécifié de la ressource de maillage squelettique. |
Obtenir la liste des matériaux à partir du maillage statique | Récupérer les matériaux de ressource à partir de la ressource de maillage statique. |
Obtenir la liste des matériaux à partir du maillage squelettique | Obtenir les matériaux de la ressource à partir de la ressource de maillage squelettique. |
Convertir la carte des matériaux en liste de matériaux | Convertir la carte des matériaux en liste de matériaux et en liste de noms de créneau. Les matériaux nuls seront conservés dans la liste, et celle-ci aura le même nombre d'éléments que la carte. |
Convertir la liste des matériaux en carte de matériaux | Convertir la liste des matériaux et la liste des noms de créneaux en carte de matériaux, qui est le format attendu par CreateNewSkeletalMeshAssetFromMesh. |
Copie de cible de morphose à maillage squelettique | Ajouter une cible de morphose de maillage dynamique à un élément de maillage squelettique. |
Copie de profil de pondération de surfaçage à maillage squelettique | Ajouter un profil de pondération de surfaçage de maillage dynamique à une ressource de maillage squelettique. |
Générer des primitives
Vous pouvez utiliser ces fonctions pour générer et ajouter un maillage de primitive au maillage dynamique d'entrée.
| Nom de nœud | Description |
|---|---|
Ajouter une boîte | Ajouter une boîte 3D à un maillage dynamique spécifié. |
Ajouter la latitude et la longitude de la sphère | Ajouter une sphère 3D triangulée à l'aide d'une topologie latitude/longitude au maillage dynamique. |
Ajouter une boîte sphérique | Ajouter une sphère 3D triangulée à l'aide d'une topologie de boîte au maillage dynamique. |
Ajouter une capsule | Ajouter une capsule 3D à un maillage dynamique. |
Ajouter un cylindre | Ajouter un cylindre 3D (extrémités facultatives) à un maillage dynamique. |
Ajouter un cône | Ajouter un cône 3D à un maillage dynamique. |
Ajouter un tore | Ajoute un tore 3D (donut) ou un tore partiel à un maillage dynamique. |
Ajouter un rectangle XY | Ajouter un rectangle planaire à un maillage dynamique. |
Ajouter un rectangle arrondi XY | Ajouter un rectangle planaire aux coins arrondis (RoundRect) à un maillage dynamique. |
Ajouter un disque | Ajouter un disque planaire à un maillage dynamique. |
Ajouter un polygone triangulé | Ajouter une triangulation de Delaunay d'un polygone planaire 2D à un maillage dynamique. |
Ajouter un polygone de rotation | Ajouter la surface de révolution d'un polygone 2D et une révolution complète ou partielle (avec coiffes optionnelles) à un maillage dynamique. |
Ajouter un polygone de rotation en spirale | Faire tourner un polygone 2D sur un chemin hélicoïdal, comme celui utilisé pour créer une spirale verticale. |
Ajouter un chemin de rotation | Faire tourner un chemin 2D ouvert, avec des coiffes optionnelles en haut et en bas. |
Ajouter un polygone extrudé simple | Extruder un polygone 2D le long d'un chemin vertical en utilisant un maillage dynamique sélectionné. |
Ajouter un simple polygone balayé | Balayer un polygone 2D le long d'un chemin 3D arbitraire à l'aide d'un maillage dynamique sélectionné. |
Ajouter un escalier linéaire | Ajouter un escalier linéaire à l'aide d'un maillage dynamique sélectionné. |
Ajouter un escalier courbe | Ajoute un escalier courbe ascendant à l'aide d'un maillage dynamique sélectionné. |
Ajouter un maillage transformé | Appliquer chaque transformation au nœud Append Mesh, puis ajouter sa géométrie au maillage cible. |
Ajouter un polygone de balayage | Balayer et faire pivoter un polygone 2D le long du chemin de balayage pour créer un maillage 3D qui s'ajoute au maillage fourni. |
Ajouter un diagramme de Voronoï 2D | Générer des cellules de Voronoi triangulées à partir des sites de Voronoi fournis, en identifiant chacune d'elles avec des polygroupes, et les ajouter au maillage fourni. |
Ajouter un polygone de balayage | Balayer les vertex de polyligne 2D donnés le long du chemin de balayage spécifié comme ensemble de FTransforms. Si les vertex 2D sont (U, V), dans l'espace de coordonnées de FTransform, X pointe "le long" du chemin, Y pointe "vers la droite" (U) et Z pointe "vers le haut" (V). |
Ajouter une boîte englobante | Ajouter une boîte 3D au maillage cible avec les dimensions et l'origine définies dans la zone de saisie. |
Ajouter une triangulation de Delaunay 2D | Générer une triangulation de Delaunay des vertex fournis et l’ajouter au maillage cible. |
Ajouter une triangulation de liste de polygones | Générer une triangulation Delaunay de la liste de polygones fournie et l'ajouter au maillage cible. |
Ajouter un polygone triangulé 3D | Ajouter un polygone triangulé (avec les vertex spécifiés en 3D) au maillage cible. Utilise la triangulation basée les oreilles. Le rapport entre les vertex de sortie et les vertex d'entrée est toujours de 1:1. Le point de terminaison du polygone n'est pas répété. |
Ajouter des formes de collision simples | Ajouter des formes de collision simple au maillage cible, triangulées comme spécifié dans les options de triangulation. |
Ajouter un recouvrement sphérique | Ajoute les sphères du recouvrement sphérique au maillage cible. |
Ajouter une boîte avec collision | Ajouter une boîte 3D au maillage cible et créer une collision simple correspondante. |
Ajouter une boîte englobante avec collision | Ajouter une boîte 3D au maillage cible avec les dimensions et l'origine définies dans la zone de saisie. Créer également une collision simple correspondante. |
Ajouter la latitude et la longitude de la sphère avec une collision | Ajouter au maillage cible une sphère 3D triangulée avec une topologie de latitude/longitude. Créer également une collision simple correspondante. |
Ajouter une boîte de sphères avec collision | Ajouter une sphère 3D triangulée à l'aide d'une topologie de boîte au maillage cible. Créer également une collision simple correspondante. |
Ajouter une capsule avec collision | Ajouter une capsule 3D au maillage cible Créer également une collision simple correspondante. |
Créer une boucle d’arêtes contraintes | À utiliser avec la fonction Ajouter une triangulation de Delaunay 2D. Créer une boucle d'arêtes reliant des vertex successifs. Par exemple, une boucle (3,0) génère les arêtes (2,0), (0,1) et (1,2). |
Créer une chaîne d’arêtes contraintes | À utiliser avec la fonction Ajouter une triangulation de Delaunay 2D. Créer une chaîne d'arêtes reliant des vertex successifs. Par exemple, une chaîne (3,0) génère les arêtes (0,1) et (1,2). |
Transformation et déformation
Vous pouvez utiliser ces fonctions pour manipuler les positions des vertex d'un maillage dynamique. Ces manipulations ne modifient pas la topologie du maillage ni la connectivité.
| Nom de nœud | Description |
|---|---|
Déplacer le maillage | Appliquer une translation aux vertex d'un maillage. |
Changer l'échelle du maillage | Appliquer une transformation d'échelle aux vertex d'un maillage. |
Transformer le maillage | Appliquer une FTransform arbitraire aux vertex d'un maillage. |
Appliquer déformation par courbure au maillage | Appliquer une déformation par courbure autour d'un axe défini par une transformation. |
Appliquer déformation par torsion au maillage | Appliquer une déformation par torsion autour d'un axe défini par une transformation. |
Appliquer une déformation de type évasement au maillage | Appliquer une déformation de type évasement ou renflement au maillage. |
Appliquer une déformation mathématique au maillage | Appliquer diverses déformations simples basées sur des fonctions mathématiques, en l'occurrence une onde sinusoïdale 1D ou 2D avec une orientation arbitraire. |
Appliquer le bruit de Perlin au maillage | Appliquer un déplacement de bruit de Perlin 3D à l'ensemble du maillage ou à certaines zones de ce maillage définies par une sélection facultative. |
Appliquer un lissage itératif au maillage | Appliquer plusieurs itérations de lissage de maillage au maillage entier ou à un sous-ensemble défini par l'option Sélection |
Appliquer un déplacement à partir d'une texture | Appliquer un déplacement à un maillage dynamique en fonction d'une texture 2D et d'un canal UV. |
Faire pivoter le maillage | Faire pivoter le maillage par rapport à l'origine spécifiée. |
Déplacer le pivot vers l'emplacement | Définir l'emplacement du pivot pour le maillage. Étant donné que le pivot d'un objet de maillage est toujours le point à (0,0,0), cette fonction translate simplement le maillage en fonction de -PivotLocation. |
Réaliser une transformation à partir de l’axe Z | Créer une transformation à l'emplacement donné, avec le vecteur ZAxis comme axe Z de la transformation et l'axe X ou l'axe Y orienté vers le vecteur Tangente, en fonction du paramètre |
Réaliser une transformation à partir des axes | Créer une transformation à l'emplacement donné, avec le vecteur ZAxis comme axe Z de la transformation et l'axe X ou l'axe Y orienté vers le vecteur Tangente, en fonction du paramètre |
Obtenir le vecteur de l’axe de transformation | Obtenir le vecteur d’orientation des axes X, Y et Z de la transformation. |
Obtenir le rayon de l'axe de transformation | Obtenir le rayon à l'emplacement de la transformation aligné sur la direction des axes X, Y et Z de la transformation. |
Obtenir le plan de l'axe de transformation | Obtenir le plan à l'emplacement de la transformation en alignant la normale du plan sur la direction des axes X, Y et Z de la transformation. |
Composition et décomposition
Vous pouvez utiliser ces fonctions pour combiner des maillages ou les séparer.
| Nom de nœud | Description |
|---|---|
Copie de maillage à maillage | Copier le maillage d'un maillage dynamique vers un autre. |
Obtenir le sous-maillage à partir du maillage | Copier une liste de triangles d'un maillage dynamique à un autre. |
Diviser le maillage par composants | Séparer un maillage en parties, une pour chaque composant connecté, tirées d'un groupe de maillages dynamiques. |
Diviser le maillage par identifiant de matériau | Séparer un maillage en parties, une pour chaque identifiant de matériau, tirées d'un groupe de maillages dynamiques. |
Ajouter un maillage | Ajouter la géométrie d'un maillage à un autre, avec une transformation facultative. |
Ajouter un maillage répété | Ajoute la géométrie d'un maillage à un autre en fonction du nombre de fois qu'elle doit se répéter, en cumulant une transformation à chaque fois. Cette opération est utile pour réaliser des motifs. |
Modélisation du maillage
Ces fonctions fournissent des opérations de modélisation standard de haut niveau, mais appellent fréquemment le code de traitement de maillage de faible niveau que l'outil du même nom appellerait en mode Modélisation.
| Nom de nœud | Description |
|---|---|
Appliquer le booléen de maillage | Appliquer une opération booléenne (telle que l'union, l'intersection et la soustraction) sur un maillage dynamique à partir d’un second maillage. |
Appliquer une coupe de plan de maillage | Pour appliquer une coupe de plan à un maillage, en remplissant les éventuels trous créés. |
Appliquer une division de plan de maillage | Diviser un maillage en deux moitiés, en remplissant les éventuels trous. |
Appliquer un miroir de maillage | Reproduire en miroir un maillage sur un plan, avec découpe et jonction éventuelles des triangles. |
Appliquer un décalage de maillage | Déplacer les vertex d'un maillage vers une surface décalée. |
Appliquer une enveloppe de maillage | Déplacer une copie des triangles du maillage sur une surface décalée et les relier aux triangles d'origine. Par exemple, pour créer une coquille épaissie. |
Appliquer l’extrusion de maillage | Extruder les triangles d'un maillage le long d'une direction constante. Par exemple, ce nœud crée un solide à partir d'un polygone triangulé ouvert. |
Appliquer la solidification de maillage | Remplacer le maillage par une approximation voxelisée et maillée (opération VoxWrap) |
Appliquer la morphologie de maillage | Remplacer le maillage par une approximation de maillage décalé basée sur SDF. |
Appliquer une union interne au maillage | Un objet effectue une opération d’union booléenne avec lui-même, ce qui permet notamment de corriger les auto-intersections et de supprimer la géométrie flottante. |
Appliquer le biseau de polygroupe de maillage | Appliquer l’opération de biseautage de maillage sur toutes les arêtes de polygroupe. |
Appliquer la déconnexion des faces du maillage le long des arêtes | Déconnecter les triangles du maillage cible le long des arêtes de la sélection. La sélection d’entrée identifie toujours les mêmes éléments géométriques après la déconnexion. |
Appliquer le biseau aux arêtes sélectionnées du maillage | Appliquer une opération de biseautage de maillage à des parties du maillage cible à l'aide des paramètres Options de biseautage. |
Sélections de maillage
Ces fonctions identifient les régions d'un maillage pour différents outils afin qu'ils puissent fonctionner localement. Plusieurs fonctions peuvent œuvrer sur l'ensemble du maillage ou sur un sous-ensemble défini par une sélection. Les types de sélection incluent des triangles, des vertex et des polygroupes.
| Nom de nœud | Description |
|---|---|
Inverser la sélection du maillage | Inverser la sélection sur le maillage cible. |
Créer/sélectionner toutes les sélections de maillage | Créer une sélection de type sélection donné contenant tous les éléments du maillage cible |
Convertir la sélection de maillage | Convertir une sélection de maillage en un type différent. Par défaut, les vertex sont mappés sur les triangles situés dans le voisinage de premier ordre et les triangles sur tous les vertex contenus. |
Combiner les sélections de maillage | Combine deux sélections de maillage en une nouvelle sélection de maillage. Les deux entrées, Sélection A et Sélection B doivent être de même type. |
Convertir la matrice d’index en sélection de maillage | Créer une sélection de maillage à partir de la matrice d'index. |
Convertir l’index défini en sélection de maillage | Créer une sélection de maillage à partir de l’index défini. |
Convertir une sélection de maillage en matrice d'index | Convertir une sélection de maillage en matrice d'index. |
Convertir la liste d’index en sélection de maillage | Créer une sélection de maillage à partir de la liste d’index. Dans les cas où le type de liste d'index ne correspond pas au type de sélection, la conversion de la sélection de maillage s'effectue avec |
Convertir une sélection de maillage en liste d'index | Convertir une sélection de maillage en une liste d'index. |
Sélectionner les éléments de maillage dans la boîte | Créer une nouvelle sélection de maillage de type sélection pour le maillage cible en recherchant tous les éléments contenus dans la boîte. |
Sélectionner les éléments de maillage dans la boîte avec un BVH | Créer une nouvelle sélection de maillage de type sélection pour le maillage cible en recherchant tous les éléments contenus dans la boîte. Similaire à Sélectionner les éléments de maillage dans la boîte, mais utilise un BVH pour accélérer le processus. |
Sélectionner les éléments de maillage dans une sphère | Créer une nouvelle sélection de maillage de type sélection pour le maillage cible en recherchant tous les éléments contenus dans la sphère. |
Sélectionner les éléments de maillage avec un plan | Créer une nouvelle sélection de maillage de type sélection pour le maillage cible en recherchant tous les éléments sur un côté du plan, en particulier le côté vers lequel pointe la normale de surface d'un plan. |
Sélectionner les éléments de maillage par angle de normale | Créer une nouvelle sélection de maillage de type sélection pour le maillage cible en recherchant tous les éléments dont le vecteur normal se situe à l'intérieur d'un seuil d'écart angulaire par rapport à la normale donnée. Pour les sélections de triangles et de polygroupes, la normale de facette du triangle est utilisée ; pour les sélections de vertex, la normale moyenne par vertex est utilisée. |
Sélectionner les éléments de maillage à l'intérieur du maillage | Créer une nouvelle sélection de maillage de type sélection pour le maillage cible en recherchant tous les éléments à l'intérieur d'un second maillage de sélection. |
Élargir la sélection de maillage aux éléments connectés | Élargir la sélection sur le maillage cible aux régions connectées et renvoyer la nouvelle sélection. |
Obtenir la boîte englobante de la sélection de maillage | Obtenir la boîte englobante 3D d'une sélection de maillage. |
Obtenir les boucles de délimitation de la sélection de maillage | Calculer l'ensemble des boucles de vertex bordant une sélection de maillage. Les polylignes 3D et les listes d'index de vertex sont renvoyées pour chaque boucle. Pour une sélection de vertex, cette fonction renvoie les boucles de bordure autour du voisinage à un anneau de la sélection de vertex. |
Obtenir des informations sur la sélection de maillage | Demander des informations sur une sélection de maillage. |
Déboguer/afficher une sélection de maillage | Afficher les informations sur la sélection de maillage dans le journal de sortie. |
Développer/réduire la sélection de maillage | Développer ou réduire la sélection du maillage cible aux voisins connectés. Pour les sélections de vertex, l'option Développer inclut les vertex situés dans le voisinage direct des vertex sélectionnés et l'option Réduire supprime tous les vertex non sélectionnés situés dans le voisinage direct. Pour les sélections de triangles, ajoutez ou supprimez les triangles connectés aux triangles sélectionnés. * Pour les sélections de polygroupes, ajoutez ou supprimez les polygroupes connectés aux polygroupes sélectionnés. |
Obtenir des informations sur la sélection unique de maillage | Demander des informations sur une sélection de maillages et obtenir le nombre d'éléments uniques sélectionnés |
Sélectionner les éléments de maillage par identifiant de matériau | Créer une sélection de type sélection qui contient tous les éléments de maillage référençant les triangles portant l’identifiant de matériau donné. |
Sélectionner les éléments de maillage par polygroupe | Créer une sélection de type sélection qui contient tous les éléments de maillage référençant les triangles portant l’identifiant de polygroupe donné dans la GroupLayer donnée. |
Sélectionner les arêtes vives du maillage | Créer une nouvelle sélection, pour le maillage cible, de toutes les arêtes vives dont la normale de triangle adjacent diffère d'au moins MinAngleDeg |
Sélectionner les arêtes de délimitation du maillage | Créer une nouvelle sélection, pour le maillage cible, de toutes les arêtes de délimitation du maillage. |
Sélectionner les arêtes de délimitation de la sélection | Créer une nouvelle BoundarySelection, pour le TargetMesh, des arêtes de délimitation d'une autre Sélection. |
Modifier le maillage par sélection
Fonctions permettant de modifier la géométrie à partir d'une sélection donnée.
Maillage de transformation
| Nom de nœud | Description |
|---|---|
Transformer la sélection de maillage | Appliquer la transformation donnée à la partie sélectionnée du maillage. |
Déplacer la sélection de maillage | Appliquer la translation donnée à la partie sélectionnée du maillage. |
Faire pivoter la sélection de maillage | Faire pivoter la partie sélectionnée du maillage par rapport à l'origine spécifiée. |
Échelle de la sélection de maillage | Appliquer l'échelle donnée à la partie sélectionnée du maillage. |
Matériaux et polygroupes
| Nom de nœud | Description |
|---|---|
Définir l’identifiant de matériau de la sélection de maillage | Définir un nouvel identifiant de matériau sur tous les triangles de la sélection donnée. |
Définir le polygroupe de la sélection de maillage | Définir un nouveau polygroupe sur tous les triangles de la sélection donnée, pour la couche de groupe donnée. |
Modélisation du maillage
| Nom de nœud | Description |
|---|---|
Appliquer la déconnexion des faces du maillage | Déconnecter les triangles du maillage cible identifiés par la sélection. |
Appliquer la duplication des faces du maillage | Dupliquer les triangles du maillage cible identifiés par l'entrée Sélection. |
Appliquer l’extrusion linéaire des faces du maillage | Appliquer l'extrusion linéaire aux triangles du maillage cible identifiés par la sélection. |
Appliquer le décalage des faces du maillage | Appliquer un décalage aux faces du maillage cible identifiées par la sélection, ou à toutes les faces si la sélection est vide. |
Appliquer un insert ou un décalage vers l’extérieur aux faces du maillage | Appliquer un insert ou un décalage vers l’extérieur aux faces du maillage cible identifiées par la sélection ou à toutes les faces si la sélection est vide. |
Appliquer le biseau à la sélection de maillage | Appliquer une opération de biseautage de maillage à des parties du maillage cible à l'aide des paramètres Options de biseautage. |
Sous-division
Ces fonctions appliquent diverses stratégies de subdivision de maillage à un maillage dynamique.
| Nom de nœud | Description |
|---|---|
Appliquer la subdivision Catmull-Clark au polygroupe | Appliquer une subdivision Catmull-Clark à la topologie des polygroupes du maillage (la triangulation d’entrée est ignorée). Ce nœud ne fonctionne que dans l'éditeur. |
Appliquer la subdivision en boucle au triangle | Appliquer la subdivision en boucle au maillage d'entrée. Ce nœud ne fonctionne que dans l'éditeur. |
Appliquer la tessellation sélective | Tesseller la sélection de maillage spécifiée à l'aide du type de motif indiqué. |
Appliquer la tessellation PN | Appliquer une tessellation point-normale au maillage d’entrée. |
Appliquer une tessellation uniforme | Appliquer une tessellation uniforme au maillage d'entrée. |
Simplification
Ces fonctions simplifient un maillage à l'aide de différentes stratégies.
| Nom de nœud | Description |
|---|---|
Appliquer la simplification au nombre de triangles | Simplifier le maillage jusqu'à ce qu'un nombre cible de triangles soit atteint. |
Appliquer la simplification au nombre de vertex | Simplifier le maillage jusqu'à ce qu'un nombre cible de vertex soit atteint. |
Appliquer la simplification à la tolérance | Simplifier le maillage jusqu'à une tolérance géométrique cible. Par exemple, toute simplification supplémentaire risque d'entraîner un écart par rapport au maillage d'entrée supérieur à la tolérance. |
Appliquer la simplification aux surfaces planes | Simplifier les zones planes du maillage qui comportent plus de triangles que nécessaire. Cela ne modifie pas la forme 3D du maillage. |
Appliquer la simplification à la topologie du polygroupe | Simplifier le maillage jusqu'à la topologie du polygroupe. Par exemple, les faces de niveau supérieur des polygroupes du maillage. Ou bien une boîte-sphère par défaut où la simplification de la topologie de polygroupe produit une boîte. |
Box
Fonctions utilitaires pour le calcul de fonctions mathématiques élémentaires pour les objets de boîte.
| Nœud | Description |
|---|---|
Créer une boîte à partir de la taille du centre | Créer une boîte à partir d'un point central et des dimensions X, Y et Z. |
Créer une boîte à partir des longueurs du centre | Créer une boîte à partir d'un point central et des longueurs X, Y et Z. Les longueurs sont des demi-dimensions. |
Obtenir la taille du centre de la boîte | Obtenir le point central et les dimensions X, Y et Z d'une boîte. |
Obtenir le coin de la boîte | Obtenir la position d'un coin de la boîte. Les coins sont indexés de 0 à 7, selon un ordre où :
|
Obtenir le centre de la face de la boîte | Obtenir la position du centre d'une face d'une boîte. Les faces sont indexées de 0 à 5, selon un ordre où :
|
Obtenir le volume et la surface de la boîte | Obtenir le volume et la surface d'une boîte. |
Obtenir la boîte agrandie | Obtenir la boîte d'entrée agrandie en ajoutant le paramètre Développer par paramètre aux valeurs min et max. Les dimensions sont limitées au point central si l'un des paramètres Développer par est supérieur à la moitié de la taille de la boîte. |
Obtenir la boîte transformée | Appliquer la transformation d'entrée aux coins de la zone de saisie et renvoyer la nouvelle boîte contenant ces points. |
Tester l'intersection des boîtes | Vérifier si la boîte 1 et la boîte 2 se croisent. |
Rechercher l’intersection des boîtes | Rechercher la boîte formée par l'intersection de la boîte 1 et de la boîte 2. |
Obtenir la distance entre les boîtes | Calculer la distance minimale entre la boîte 1 et la boîte 2. |
Vérifier si un point se trouve à l'intérieur de la boîte | Vérifier si un point se trouve à l'intérieur de la boîte ; renvoyer true si c'est le cas, false sinon. |
Rechercher le point le plus proche de la boîte | Rechercher le point sur les faces de la boîte qui est le plus proche du point d'entrée. Si le point se trouve à l'intérieur de la boîte, il est renvoyé. |
Obtenir la distance entre le point et la boîte | Calculer la distance minimale entre la boîte et le point. |
Tester l'intersection de la boîte avec une sphère | Vérifier si la boîte coupe une sphère définie par le centre et le rayon de la sphère. |
Normales
Ces fonctions recalculent les normales d'un maillage.
| Nom de nœud | Description |
|---|---|
Inverser les normales | Inverser les normales du maillage en inversant l'orientation de chaque face. |
Définir les normales par vertex | Définir les normales du maillage en normales par vertex. Par exemple, aucune normale divisée à aucun vertex. |
Définir les normales du maillage selon les normales des faces | Définir les normales du maillage selon les normales des faces ou des triangles. Par exemple, divise les normales le long de chaque bord du maillage. |
Calculer les normales séparées | Calculer les normales séparées du maillage en fonction d'une tolérance d'angle ou d'autres facteurs tels que la topologie du polygroupe. |
Recalculer les normales | Recalculer les normales de maillage existantes. Préserve les normales divisées existantes. À utiliser après des déformations de maillage, par exemple. |
Calculer les tangentes | Recalculer les tangentes du maillage (diverses méthodes). |
Définir les normales du maillage par vertex | Définir toutes les normales dans la superposition des normales du maillage cible aux normales par vertex spécifiées. |
Vérifier si le maillage a des tangentes | Vérifier si le maillage cible possède une couche d'attributs de tangentes activée. |
Supprimer les tangentes | Supprimer toute couche d'attributs de tangentes existante du maillage cible. |
Calculer les tangentes | Recalculer les tangentes du maillage cible, en utilisant la méthode spécifiée |
Définir les tangentes du maillage par vertex | Définir toutes les tangentes dans les superpositions de tangentes du maillage cible aux tangentes par vertex spécifiées. |
Définir les tangentes par vertex du maillage | Calculer la position interpolée, |
Mettre à jour la normale du vertex | Mettre à jour les normales et les tangentes au vertexD du maillage cible. |
Recalculer les normales de la sélection de maillage | Recalculer les normales du maillage cible sur tous les triangles/vertex de la sélection donnée à l'aide des options de calcul données. Cette méthode conserve toutes les arêtes vives existantes, c'est-à-dire que chaque normale de triangle-vertex partagée est recalculée en faisant la moyenne des normales de face des triangles qui font référence à cette normale de triangle-vertex partagée. |
Définir les normales séparées le long des arêtes sélectionnées | Définir ou supprimer les normales séparées (également appelées normales vives) de toutes les arêtes de la sélection. |
Nettoyer et réparer
Vous pouvez utiliser ces fonctions pour résoudre les problèmes d'un maillage ou pour appliquer d'autres réparations standard.
| Nom de nœud | Description |
|---|---|
Compacter le maillage | Compacter les vertex et les triangles du maillage pour supprimer tout "trou" dans les listes d’identifiants de vertex ou d’identifiants de triangle (voir la discussion dans la section Requêtes de maillage de bas niveau). |
Supprimer les attributs du maillage | Supprimer l'ensemble d’attributs d'un maillage dynamique, tels que tous les UV, les normales, les identifiants de matériau, les colorisations des vertex et les couches de polygroupes étendues. Notez que cela peut entraver le fonctionnement de nombreuses fonctions. |
Réparer automatiquement les normales | Cette fonction tente de réorienter automatiquement les normales d'un maillage de manière à ce qu'elles soient cohérentes, par exemple en corrigeant les normales inversées. |
Souder les arêtes du maillage | Souder si possible les arêtes de délimitation ouvertes du maillage afin d'éliminer les "fissures". |
Remplir tous les trous du maillage | Essayer de remplir toutes les boucles de délimitation ouvertes (telles que les trous dans la surface de la géométrie) d'un maillage. |
Supprimer les petits composants | Supprimer les composants connectés du maillage dont le volume, la surface ou le nombre de triangles est inférieur à un seuil. |
Supprimer les triangles masqués | Supprimer tous les triangles du maillage qui ne sont pas visibles depuis une vue extérieure, selon diverses définitions des termes "visible" et "extérieur". |
Résoudre les jonctions en T du maillage | Essayer de résoudre les jonctions en T dans le maillage cible. |
Scinder les points en nœud papillon du maillage | Scinder les vertex du maillage cible qui forment un nœud papillon, c’est-à-dire lorsqu’un seul vertex relie plusieurs régions du maillage. |
Réparer la géométrie dégénérée du maillage | Modifier le maillage cible en supprimant de petits triangles ou en fusionnant des triangles jusqu'à ce que toutes les arêtes soient supérieures à une longueur minimale spécifiée. |
Supprimer les vertex inutilisés | Supprimer les vertex qui ne sont pas utilisés par les triangles. Ne met pas à jour les identifiants des vertex restants. Pour ce faire, utilisez le maillage compact. |
Fixer les limites ouvertes du maillage | Fixer les vertex des arêtes ouvertes à la limite ouverte compatible la plus proche, si elle se trouve dans la distance de tolérance. |
Requêtes de maillage de bas niveau
Ces fonctions fournissent des informations de bas niveau sur les éléments d'un maillage. Dans ce contexte, VertexID et TriangleID sont des nombres entiers.
Dans un maillage dynamique, il peut exister des écarts dans la plage de VertexID ou de TriangleID (après la suppression des vertex/triangles) et certaines opérations (comme la simplification) peuvent renvoyer un maillage avec des écarts. Les écarts qui se produisent dans les plages d'ID sont nettoyés à l'aide de la fonction Maillage compact.
| Nom de nœud | Description |
|---|---|
Obtenir le nombre de vertex | Obtenir le nombre de vertex dans le maillage. |
Obtenir le nombre d’identifiants de vertex | Obtenir le nombre d’identifiants de vertex dans le maillage, qui peut être supérieur au nombre de vertex si le maillage n'est pas dense. C'est notamment le cas après avoir supprimé des vertex. |
Est un identifiant de vertex valide | Renvoyer true si l’identifiant de vertex fait référence à un vertex valide. |
Obtenir tous les identifiants de vertex | Renvoyer une liste des index de tous les identifiants de vertex dans le maillage. |
Obtenir la position du vertex | Obtenir la position 3D d'un vertex de maillage, par identifiant de vertex. |
Obtenir la position de tous les vertex | Renvoyer une liste de vecteurs de toutes les positions de vertex du maillage. Cette liste peut être longue. |
Obtenir le nombre de triangles | Renvoyer le nombre de triangles dans le maillage. Notez qu'il s'agit d'une fonction directement sur le maillage dynamique. |
Obtenir le nombre d’identifiants de triangle | Obtenir le nombre d’identifiants de triangle dans le maillage. Ce nombre peut être supérieur au nombre de triangles si le maillage n'est pas dense, même après la suppression des triangles. |
Est un identifiant de triangle valide | Renvoyer true si un TriangleID fait référence à un triangle valide. |
Obtenir tous les identifiants de triangle | Renvoyer une liste d'index de tous les identifiants de triangle d’un maillage. |
Obtenir les index des triangles | Renvoyer le triplet d’index de vertex d'un triangle. |
Obtenir tous les index du triangle | Renvoyer une TriangleList de tous les triplets d’index de triangle d'un maillage. |
Obtenir les positions des triangles | Renvoyer la position des trois coins d'un triangle. |
Obtenir la normale de la face du triangle | Renvoyer la normale de la face/facette d'un triangle. |
Obtenir les UV du triangle | Renvoyer les trois UV d'angle d'un triangle. |
Obtenir l’identifiant de matériau du triangle | Renvoyer l’identifiant du matériau actuel d'un triangle. |
Obtenir tous les identifiants de matériau du triangle | Renvoyer une liste des index de tous les identifiants de matériau d'un triangle. |
Obtenir l'identifiant du polygroupe du triangle | Renvoyer l'identifiant de polygroupe actuel d’un triangle, dans une couche de polygroupe donnée. |
Vérifier s’il existe des écarts entre les identifiants de vertex | Renvoyer true s’il existe des écarts dans la liste des identifiants de vertex. Par exemple, la valeur du nœud Get Number of Vertex IDs est supérieure à celle du nœud Get Vertex Count. |
Vérifier s’il existe des écarts entre les identifiants de triangle | Renvoyer true s’il existe des écarts dans la liste des identifiants de triangle, de sorte que Obtenir le nombre d’identifiants de triangle soit supérieur à Obtenir le nombre de triangles. |
Déterminer la densité du maillage | Renvoyer true si le maillage est dense. Par exemple, il n'existe aucun écart dans les identifiants de vertex ou les identifiants de triangle. |
Déterminer si le maillage comporte un ensemble d’attributs | Renvoyer true si le maillage comporte un ensemble d'attributs activé pour stocker les UV, les normales, les identifiants de matériau et les colorisations des vertex. Ce nœud est généralement activé par défaut. |
Obtenir la position du triangle interpolé | Calculer la position interpolée, |
Calculer les coordonnées barycentriques du triangle | Calculer les coordonnées barycentriques (A,B,C) des points par rapport au TriangleID spécifié du maillage cible. |
Obtenir les UV interpolés du triangle | Calculer les UV interpolés, |
Obtenir les normales du triangle | Pour le TriangleID spécifié du maillage cible, obtenir les vecteurs Normale et Tangente à chaque vertex du triangle. Ces normales et tangentes seront extraites des superpositions de normales et tangentes. |
Obtenir les normales interpolées du triangle | Calculer la normale interpolée, |
Obtenir les tangentes et les normales du triangle | Pour le TriangleID spécifié du maillage cible, obtenir les vecteurs Normale et Tangente à chaque vertex du triangle. Ces normales et tangentes seront extraites des superpositions de normales et tangentes. |
Obtenir les tangentes et les normales interpolées du triangle | Calculer les normales et les tangentes interpolées du TriangleID spécifié dans les attributs de Normale et Tangente du maillage cible. |
Déterminer si les colorisations des vertex sont activées | Renvoyer true si l'attribut Colorisations des vertex est activé sur le maillage cible. |
Obtenir les colorisations des vertex du triangle | Pour le TriangleID spécifié du maillage cible, obtenir les colorisations des vertex à chaque vertex du triangle. Ces couleurs seront extraites de l'attribut Couleur de vertex. |
Obtenir la colorisation des vertex interpolée du triangle | Calculer la colorisation des vertex interpolée, |
Obtenir toutes les positions des vertex sur les arêtes | Renvoyer les positions des vertex pour chaque arête de la liste d'index donnée. |
Obtenir de l'aire des UV du maillage | Obtenir l’aire des triangles dans l'espace UV pour le canal UV donné. |
Obtenir toutes les arêtes de jonction des UV | Renvoyer tous les identifiants d'éléments d'arête qui sont des arêtes de jonction d’UV pour un canal UV donné. |
Obtenir le nombre d’îles UV | Renvoyer le nombre d'îles d'UV dans un canal UV donné. |
Créer un maillage de bas niveau
Ces fonctions permettent de créer un maillage triangle par triangle et d'effectuer d'autres opérations de modification de maillage de bas niveau.
L'utilisation de ces fonctions dans des situations impliquant une boucle sur les éléments de maillages dotés de plusieurs milliers de triangles peut être assez lente dans les scripts Blueprint ou Python.
| Nom de nœud | Description |
|---|---|
Définir la position du vertex | Définir la position 3D d'un vertex de maillage. |
Ajouter un vertex au maillage | Ajouter un nouveau vertex au maillage et renvoyer un nouvel identifiant de vertex. |
Ajouter des vertex au maillage | Ajouter une liste de vertex au maillage. |
Supprimer un vertex du maillage | Supprimer un vertex du maillage. |
Supprimer des vertex du maillage | Supprimer une liste de vertex du maillage. |
Ajouter un triangle au maillage | Ajouter un triangle (tuple d’identifiant de vertex à 3 éléments) au maillage. |
Ajouter des triangles au maillage | Ajouter une liste de triangles au maillage. |
Supprimer un triangle du maillage | Supprimer un triangle du maillage. |
Supprimer des triangles du maillage | Supprimer une liste de triangles du maillage. |
Supprimer des triangles du polygroupe | Supprimer tous les triangles du maillage qui comportent un polygroupe particulier, dans une couche de polygroupe spécifique. |
Ajouter des tampons au maillage | Ajouter un ensemble de vertex/triangles au maillage, avec des attributs tels que les normales et les UV. Similaire à la section de création de maillage dans le composant de maillage procédural. |
Définir les normales d’un triangle de maillage | Définir les normales d'un triangle de maillage. |
Définir les UV d’un triangle de maillage | Définir les UV d'un triangle de maillage. |
Définir l'identifiant du matériau du triangle | Définir l'identifiant de matériau d'un triangle de maillage. |
Définir toutes les positions des vertex du maillage | Définir toutes les positions des vertex du maillage cible aux positions spécifiées. |
Ajouter des matériaux au maillage | Appliquer la transformation d'ajout au maillage d'ajout, puis ajouter sa géométrie au maillage cible. Combiner également les listes de matériaux des maillages cibles et d'ajout, et mettre à jour les matériaux des maillages de sortie pour référencer la liste combinée. |
Ajouter des matériaux au maillage transformé | Pour chaque transformation dans AppendTransforms, appliquer la transformation à AppendMesh, puis ajouter sa géométrie au TargetMesh. Combiner également les listes de matériaux des maillages cibles et d'ajout, et mettre à jour les matériaux des maillages de sortie pour référencer la liste combinée. |
Ajouter de manière répétée des matériaux au maillage | Appliquer à répétition AppendTransform à AppendMesh, en ajoutant à chaque fois la géométrie à TargetMesh. Combiner également les listes de matériaux des maillages cibles et d'ajout, et mettre à jour les matériaux des maillages de sortie pour référencer la liste combinée. |
Gérer les listes de bas niveau
Ces fonctions couvrent la gestion des listes pour la liste d'index, la liste des paramètres scalaires, la liste des vecteurs, la liste des UV et la liste des couleurs.
| Nom de nœud | Description |
|---|---|
Obtenir la longueur de la liste d’index | Renvoyer le nombre d'éléments de la liste d'index. |
Obtenir le dernier index de la liste d’index | Renvoyer l'index du dernier élément de la liste d'index. |
Obtenir l'élément de la liste d'index | Renvoyer l'élément stocké dans la liste d'index à l'emplacement spécifié. |
Définir l'élément de la liste d'index | Mettre à jour la valeur de l'élément stocké dans la liste d'index à l'emplacement spécifié. |
Convertir la liste d'index en matrice | Convertir une liste d'index en une matrice d'entiers. |
Convertir une matrice en liste d'index | Convertir une matrice d'entiers en liste d'index. |
Dupliquer la liste d'index | Dupliquer la liste d'index de contenu dans la liste de duplication. |
Effacer la liste d'index | Réinitialiser tous les éléments de la liste d'index à la valeur d'effacement. |
Obtenir la longueur de la liste de scalaires | Renvoyer le nombre d'éléments de la liste de scalaires. |
Obtenir le dernier index de la liste de scalaires | Renvoyer l'index du dernier élément de la liste de scalaires. |
Obtenir l’élément de la liste de scalaires | Renvoyer le scalaire (double) stocké dans la liste de scalaires à l'emplacement spécifié. |
Définir l'élément de la liste de scalaires | Mettre à jour la valeur du scalaire stocké dans la liste de scalaires à l'emplacement spécifié. |
Convertir une liste de scalaires en matrice | Convertir une liste de scalaires en une matrice de doubles. |
Convertir une matrice en liste de scalaires | Convertir une matrice de doubles en une liste de scalaires. |
Dupliquer la liste de scalaires | Copier le contenu de la liste de scalaires dans la liste de doublons. |
Effacer la liste de scalaires | Réinitialiser tous les éléments de la liste de scalaires à la valeur d'effacement. |
Obtenir la longueur de la liste de vecteurs | Renvoyer le nombre d'éléments de la liste de vecteurs. |
Obtenir le dernier index de la liste de vecteurs | Renvoyer l'index du dernier élément de la liste de vecteurs. |
Obtenir l'élément de la liste de vecteurs | Renvoyer le FVector stocké dans la VectorList à l'emplacement spécifié. |
Définir l’élément de la liste de vecteurs | Mettre à jour la valeur du FVector stocké dans la liste de vecteurs à l'emplacement spécifié. |
Convertir la liste de vecteurs en matrice | Convertir une liste de vecteurs en une matrice de FVectors. |
Convertir la matrice en liste de vecteurs | Convertir une matrice de FVectors en une liste de vecteurs. |
Dupliquer la liste de vecteurs | Copier le contenu de la liste de vecteurs dans la liste de vecteurs dupliquée. |
Effacer la liste de vecteurs | Réinitialiser tous les éléments de la liste de vecteurs à la valeur d'effacement. |
Consulter la longueur de la liste des UV | Renvoyer le nombre d'éléments de la liste des UV. |
Obtenir le dernier index de la liste des UV | Renvoyer l'index du dernier élément de la liste des UV. |
Obtenir l'élément de la liste des UV | Renvoyer le FVector2D stocké dans la liste des UV à l'emplacement spécifié. |
Définir l'élément de la liste des UV | Mettre à jour la valeur du FVector2D stocké dans la liste des UV à l'emplacement spécifié. |
Convertir la liste des UV en matrice | Convertir une liste d'UV en une matrice de FVector2D. |
Convertir une matrice en liste d’UV | Convertir une matrice de FVector2D en UVList. |
Dupliquer la liste des UV | Dupliquer le contenu de la liste des UV en une liste de doublons. |
Obtenir la longueur de la liste des couleurs | Renvoyer le nombre d'éléments de la liste des couleurs. |
Obtenir le dernier index de la liste des couleurs | Renvoyer l'index du dernier élément de la liste des couleurs. |
Obtenir l'élément de la liste des couleurs | Renvoyer la FLinearColor stockée dans la liste des couleurs à l'emplacement spécifié. |
Définir l'élément de la liste des couleurs | Mettre à jour la valeur de la FLinearColor stockée dans la liste des couleurs à l'emplacement spécifié. |
Convertir la liste des couleurs en matrice | Convertir la liste des couleurs en une matrice de FLinearColor. |
Convertir une matrice en liste de couleurs | Convertir une matrice de FLinearColor en une liste de couleurs. |
Extraire le canal de la liste de couleurs | Créer une liste de scalaires correspondant au canal 0,1 ou 2 d'une liste de couleurs. |
Extraire les canaux de la liste des couleurs | Créer une liste de vecteurs à partir d'une liste de couleurs. Les canaux de la liste des couleurs sont mappés sur les composants de vecteur au moyen de l'index de canal X, de l'index de canal Y et de l'index de canal Z. |
Mathématiques de bas niveau
Fonctions qui opèrent sur les listes de vecteurs et les listes de paramètres scalaires composant par composant. Pour les fonctions qui utilisent plusieurs listes, telles que Vector Dot, les listes doivent disposer du même nombre d'éléments.
| Nom de nœud | Description |
|---|---|
Longueur du vecteur | Calculer la longueur de chaque vecteur de la liste de vecteurs A et renvoyer la valeur dans la liste de scalaires. |
Produit scalaire de vecteurs | Calculer le produit scalaire entre chaque paire de vecteurs de la liste de vecteurs A et de la liste de vecteurs B et renvoyer la valeur dans la nouvelle liste de scalaires. |
Produit vectoriel de vecteurs | Calculer le produit vectoriel entre chaque paire de vecteurs de la liste de vecteurs A et de la liste de vecteurs B et renvoyer la valeur dans la nouvelle liste de vecteurs. |
Normaliser le vecteur sur place | Normaliser chaque vecteur de la liste de vecteurs et stocker la valeur dans une liste de vecteurs. Si un vecteur est dégénéré, définissez la normale sur le vecteur Définir en cas d'échec. |
Fusionner les vecteurs | Calculer Par défaut, (constantes = 1) additionne les deux vecteurs. Définir Vous pouvez également utiliser la fonction pour effectuer une interpolation linéaire en définissant |
Fusionner les vecteurs sur place | Calculer Par défaut, (constantes = 1) additionne les deux vecteurs. Définir Vous pouvez également utiliser la fonction pour effectuer une interpolation linéaire en définissant |
Multiplication vectorielle scalaire | Calculer |
Multiplication vectorielle scalaire sur place | Calculer |
Multiplication vectorielle constante | Calculer |
Multiplication vectorielle constante sur place | Calculer |
Vecteur en scalaire | Convertir chaque vecteur de la liste des vecteurs en un scalaire en calculant Vous pouvez l'utiliser pour extraire les valeurs X, Y et Z d'un vecteur, ou pour d'autres calculs par composante. |
Inversion scalaire | Calculer Si Abs(Scalaire) < Epsilon, sélectionnez la valeur Définir en cas d'échec. |
Inversion scalaire sur place | Calculer Si Abs(Scalaire) < Epsilon, sélectionnez la valeur Définir en cas d'échec. |
Fusion de scalaires | Calculer Par défaut, (constantes = 1) additionne les deux valeurs. Définir La fonction peut également être utilisée pour effectuer une interpolation linéaire, en définissant |
Fusion de scalaires sur place | Calculer Par défaut, (constantes = 1) additionne les deux valeurs. Définir Peut également être utilisée pour effectuer une interpolation linéaire, en définissant |
Multiplication scalaire | Calculer |
Multiplication scalaire sur place | Calculer |
Multiplication scalaire constante | Calculer |
Multiplication scalaire constante sur place | Calculer |
Transformation sur place | Transformer chaque vecteur de VectorList et le stocker dans VectorList. |
Transformation vectorielle inverse sur place | Effectuer une transformation inverse de chaque vecteur de la VectorList et la stocker dans la VectorList. |
Projection du plan vectoriel sur place | Projeter chaque vecteur de la VectorList dans le plan donné et le stocker dans la VectorList. |
Échantillonnage du maillage
Ces fonctions calculent et placent des points le long de la surface d'un maillage.
| Nœud | Description |
|---|---|
Calculer l'échantillonnage de points | Calculer un ensemble de points d'échantillonnage situés sur la surface du maillage cible en fonction des options d'échantillonnage fournies. Les échantillons sont répartis de manière plus ou moins uniforme et ne se chevauchent pas par rapport aux options fournies. |
Calculer l'échantillonnage de points non uniforme | Calculer un ensemble de points d'échantillonnage situés sur la surface du maillage cible en fonction des options d'échantillonnage fournies et des options de non-uniformité. |
Calculer l'échantillonnage de points pondéré par vertex | Calculer un ensemble de points d'échantillonnage situés sur la surface du maillage cible en fonction des options d'échantillonnage fournies et des options de non-uniformité. |
Calculer les caméras de capture de rendu de la boîte | Calculer un ensemble de caméras de capture de rendu pour capturer une scène à l'intérieur de la boîte donnée. |
Calculer l'échantillonnage de points de capture de rendu | Calculer des points d'échantillonnage orientés sur les surfaces visibles des acteurs donnés. Les échantillons sont calculés à l'aide de l'option Capture de rendu à partir des caméras virtuelles données. |
Rayon
Fonctions utilitaires pour créer et interroger des rayons. Un rayon est une ligne qui peut être utilisée pour déterminer les intersections d'objets. Ces fonctions sont particulièrement utiles pour créer des interfaces utilisateur interactives dans les blueprints.
| Nœud | Description |
|---|---|
Créer un rayon à partir de points | Créer un rayon à partir de deux points, en plaçant l’origine en A et la direction comme la normalisation de (B - A). |
Créer un rayon à partir de la direction d'un point | Créer un rayon à partir d'un point d'origine et d'une direction, avec éventuellement une direction non normalisée. |
Obtenir le rayon transformé | Appliquer la transformation donnée au rayon donné, ou éventuellement la transformation inverse, et renvoyer le nouveau rayon transformé. |
Obtenir un point sur le rayon | Obtenir un point à la distance donnée sur le rayon, |
Obtenir les points de départ et d’arrivée sur le rayon | Obtenir deux points sur le rayon. |
Obtenir le paramètre du rayon | Projeter le point donné sur le point le plus proche sur le rayon et renvoyer le paramètre du rayon et la distance à ce point. |
Obtenir la distance au point sur le rayon | Obtenir la distance entre le point donné et le point le plus proche sur le rayon. |
Obtenir le point le plus proche sur le rayon | Obtenir le point le plus proche du rayon par rapport au point donné. |
Obtenir l'intersection entre la sphère et le rayon | Vérifier si le rayon coupe une sphère définie par le centre et le rayon de la sphère. Cette fonction renvoie deux distances d'intersection (paramètres de rayon). Si le rayon effleure la sphère, les deux distances sont identiques. Dans le cas contraire, la distance correspond à MAX_FLOAT. Utilisez la fonction Get Ray Point pour convertir les distances en points sur le rayon et la sphère. |
Obtenir l'intersection entre la boîte et le rayon | Vérifier si le rayon coupe une sphère définie par le centre et le rayon de la sphère. |
Obtenir l'intersection entre le plan et le rayon | Déterminer l'intersection d'un rayon et d'un plan. |
Obtenir le point le plus proche de la ligne et du rayon | Calculer la paire de points les plus proches sur un rayon et une ligne 3D. La ligne est définie par une origine et une direction, mais s'étend infiniment dans les deux directions. |
Obtenir le point le plus proche du segment et du rayon | Calculer la paire de points les plus proches sur un rayon 3D et un segment de ligne. Le segment de ligne est défini par ses deux points de terminaison. |
Ensemble de points
Fonctions permettent d'utiliser des ensembles de points.
| Nœud | Description |
|---|---|
Cluster de K-moyennes en identifiants | Utiliser le regroupement de K-moyennes pour regrouper les points donnés en un nombre cible de clusters, et renvoyer une matrice avec un index de cluster par point. |
Cluster de K-moyennes en matrice | Utiliser le regroupement de K-moyennes pour regrouper les points donnés en un nombre cible de clusters, et renvoyer les clusters sous forme de matrice de listes d’index de point. |
Sous-échantillonner les points | Rechercher un sous-ensemble des points donnés de la taille spécifiée. Vous pouvez éventuellement spécifier une pondération prioritaire ou demander un espacement uniforme des points sous-échantillonnés. |
Transformations en points | Créer une matrice des positions des transformations d'entrée. |
Décaler les transformations | Décaler l'emplacement de toutes les transformations dans la direction donnée, soit localement dans l'espace de la transformation, soit dans l'espace du monde. Par exemple, ce nœud peut décaler les échantillons de surface de maillage le long de la direction de normale de la surface. |
Aplatir les points | Convertir une matrice de points 3D en 2D, en la transformant dans la ReferenceFrame donnée et en prenant les coordonnées X,Y. Notez que pour appliquer une transformation dans la ReferenceFrame, nous appliquons l'inverse de la transformation de la ReferenceFrame. |
Annuler l’aplatissement des points | Convertir une matrice de points 2D en 3D, en la transformant à partir de la ReferenceFrame donnée, avec la hauteur donnée pour l'axe non plat (par défaut l’axe Z). |
Créer une boîte englobante à partir de points | Créer une boîte englobante alignée sur les axes qui encadre les points donnés, avec éventuellement une marge supplémentaire ajoutée de chaque côté. |
Obtenir les points à partir de la liste d'index | Créer une matrice du sous-ensemble de l’ensemble des points indiqués par la liste d’index. |
Materials
Fonctions permettant de manipuler les ID de matériau d'un maillage. Un ID de matériau est un entier par triangle qui n'est pas directement connecté à un matériau spécifique. Chaque identifiant de matériau est associé à une section de maillage lors de la conversion vers ou depuis un maillage statique.
| Nom de nœud | Description |
|---|---|
Déterminer si des identifiants de matériau sont présents | Renvoyer true si le maillage dispose d’identifiants de matériau disponibles/activés. |
Activer les identifiants de matériau | Activer les identifiants de matériau sur un maillage ; initialisation à 0. |
Effacer les identifiants de matériau | Réinitialiser tous les identifiants de matériau d'un maillage à 0. |
Obtenir l’identifiant de matériau maximum | Renvoyer l'identifiant de matériau maximum actuellement défini sur un maillage. |
Remapper les identifiants de matériau | Rechercher tous les triangles dont l'identifiant de matériau correspond à une valeur donnée et définir l'identifiant de matériau à une nouvelle valeur. |
Définir tous les identifiants de matériau des triangles | Définir l'identifiant de matériau de tous les triangles d'un maillage aux valeurs d'une liste d'index d'entrée. |
Définir l'identifiant de matériau du polygroupe | Définir l'identifiant de matériau de tous les triangles d'un maillage ayant un identifiant de polygroupe spécifié (dans une couche de polygroupe donnée) sur l'identifiant de matériau spécifié. |
Remapper aux nouveaux identifiants de matériau par matériau | Remapper les identifiants de matériau du maillage cible à un nouvel ensemble d’identifiants de matériau basé sur une liste de matériaux actuels et une liste de nouveaux matériaux. Pour chaque triangle, le matériau actuel est déterminé comme FromMaterialList[MaterialID], puis le premier index de ce matériau se trouve dans ToMaterialList, et cet index est utilisé comme nouvel ID de matériau. Si un matériau est introuvable dans ToMaterialList, un avertissement est consigné et l'ID de matériau reste inchangé, sauf si MissingMaterialID est défini sur une valeur >= 0, auquel cas MissingMaterialID est attribué. |
Remapper et combiner les matériaux | Remapper les identifiants de matériau pour qu'ils soient cohérents avec une liste de matériaux requis. Les identifiants de matériau du maillage cible sont remappés pour référencer la liste des matériaux combinés, qui commence toujours par les matériaux requis. |
Collision
Fonctions de création, de modification et de manipulation de formes de collision.
| Nom de nœud | Description |
|---|---|
Le maillage statique a une collision personnalisée | Renvoyer true si le maillage statique a une collision personnalisée. Si aucune donnée d'éditeur n'est disponible, renvoie false. |
Obtenir la collision simple à partir d'un composant | Obtenir la collision simple d'un composant primitif. |
Définir la collision simple d'un composant de maillage dynamique | Définir la collision simple sur un composant de maillage dynamique |
Obtenir la collision simple d'un maillage statique | Obtenir la collision simple d'un maillage statique. |
Définir la collision simple d'un maillage statique | Définir la collision simple sur un maillage statique. |
Obtenir le nombre de formes de collision simple | Compter le nombre de formes de collision simple. |
Transformer les formes de collision simples | Transformer les formes de collision simples. |
Combiner des formes de collision simples | Ajouter les formes de collision simples de Append Collision (Ajouter une collision) à Collision To Update (Collision à mettre à jour). |
Simplifier les coques convexes | Simplifier toutes les coques convexes dans la représentation de collision simple donnée. Met à jour la collision simple transmise. |
Approximer les coques convexes avec des formes de collision plus simples | Tenter d’approximer toute enveloppe convexe dans la représentation de collision simple donnée. Met à jour la collision simple transmise. Les enveloppes convexes qui ne sont pas correctement approximées (par rapport aux tolérances définies dans ApproximateOptions) restent des enveloppes convexes. |
Fusionner les formes de collision simples | Tenter de fusionner les formes de collision pour créer une représentation avec moins de formes globales. |
Calculer l'espace négatif | Calculer l'espace négatif d'une surface de maillage d'entrée qui doit être protégée lors de la fusion de formes de collision simples. |
Convertir le recouvrement de sphères en matrice de sphères | Renvoyer une matrice de sphères dans le recouvrement de sphères donné. |
Convertir la matrice de sphères en recouvrement de sphères | Renvoyer un recouvrement de sphères contenant les sphères de la matrice de sphères donnée. |
Définir la collision complexe personnalisée du maillage statique | Définir un maillage statique comme collision personnalisée pour un autre maillage statique. Remarque : Cette option ne fonctionne que si les données de l'éditeur sont disponibles. |
Réinitialiser la collision simple | Effacer les formes de collision simple. |
Générer une collision à partir d'un maillage | Générer des formes de collision simples pour une forme de maillage dynamique d'entrée |
Combiner la matrice de collisions simples | Combiner les formes de collision SimpleCollisionArray en une seule SimpleCollision. |
Calculer la décomposition convexe navigable | Calculer la décomposition convexe 'navigable' d'une surface de maillage d'entrée. Il s'agit d'une décomposition convexe adaptée à un personnage d'une taille donnée (ou supérieure). |
Confinement
Fonctions permettant d'approximer un maillage avec enveloppe convexe.
| Nom de nœud | Description |
|---|---|
Calculer l’enveloppe convexe du maillage | Calculer l'enveloppe convexe d'un maillage cible donné, ou d'une partie du maillage si une sélection facultative est fournie, et placer le résultat dans l’enveloppe du maillage. |
Calculer l’enveloppe balayée du maillage | Calculer l’enveloppe balayée d'un maillage cible donné pour un plan 3D donné défini par ProjectionFrame, et placer le résultat dans Hull Mesh. L'enveloppe balayée est un balayage linéaire de l'enveloppe convexe 2D des vertex de maillage projetés sur le plan (le balayage contient précisément les longueurs du maillage le long de la normale du plan) |
Calculer la décomposition convexe du maillage | Calculer une décomposition d’enveloppe convexe du maillage cible donné. En supposant que plusieurs enveloppes soient demandées, plusieurs enveloppes seront renvoyées qui tentent d'approximer le maillage. Si les paramètres de simplification sont activés, il n'est pas garanti que l'ensemble du maillage soit contenu dans les enveloppes. |
Valeurs de vertex
Utilisez ces fonctions pour obtenir et manipuler les valeurs de maillage stockées aux vertex, y compris les colorisations des vertex
Plusieurs valeurs, telles que les normales, peuvent être stockées à un vertex donné, mais ces méthodes n'en renvoient qu'une seule.
| Nom de nœud | Description |
|---|---|
Définir la colorisation des vertex constante du maillage | Définir toutes les colorisations des vertex sur une couleur spécifique. |
Définir les maillages par colorisation des vertex | Définir la couleur de chaque vertex à l'aide d'une liste de couleurs. |
Obtenir les maillages par colorisation des vertex | Obtenir une liste de colorisations des vertex unique pour chaque vertex du maillage cible, dérivée de la superposition de la colorisation des vertex. |
Définir la colorisation des vertex de la sélection de maillage | Définir les couleurs de la superposition de colorisation des vertex du maillage cible, identifiée par la sélection, sur une valeur constante.
|
Convertir les colorisations des vertex du maillage de SRVB à linéaire | Appliquer une transformation de couleur de SRVB à linéaire sur toutes les colorisations des vertex. |
Convertir les colorisations des vertex du maillage de linéaire à SRVB | Appliquer une transformation de couleur de linéaire à SRVB sur toutes les colorisations des vertex. |
Obtenir les maillages par normales de vertex | Obtenir une liste de vecteurs de normale uniques pour chaque vertex du maillage dans le maillage cible, dérivée de la superposition des normales. |
Obtenir les maillages par UV de vertex | Obtenir une liste d'UV de vertex uniques pour chaque vertex du maillage cible, dérivée de la superposition d’UV spécifiée. |
Flouter les colorisations des vertex du maillage | Flouter l'attribut de couleur du maillage. Si le maillage n'a pas d'attribut de couleur, cette fonction renvoie le maillage inchangé. |
Échantillonnage et création de textures
Fonctions de lecture et de création de données de texture.
| Nom de nœud | Description |
|---|---|
Échantillonner la texture 2D aux positions UV | Échantillonner la texture donnée à la liste des positions UV et renvoyer la couleur à chaque position dans la liste de couleurs générée. |
Créer une nouvelle ressource de texture 2D | Créer une ressource de texture 2D sérialisé à partir d'une UTexture2D temporaire. |
Échantillonner la cible de rendu de texture 2D aux positions UV | Échantillonner la texture donnée à la liste des positions UV et renvoyer la couleur à chaque position dans la liste de couleurs générée. Cette fonction récupère les données du GPU avant l'échantillonnage. Par conséquent, selon votre application, elle peut être inefficace et lente. |
Précalcul
Ces fonctions précalculent les données entre un maillage source et un maillage cible en données de texture ou de colorisation des vertex. Vous pouvez créer diverses données de maillage telles que les normales, la courbure, l'occlusion ambiante, la texture d'opacité et la color map de la sous-surface. Il existe également la possibilité de spécifier le type de filtrage à appliquer.
| Nom de nœud | Description |
|---|---|
Précalculer une texture | Créer des textures pour le maillage cible à partir des données échantillonnées dans le maillage source. |
Précalculer les vertex | Remplir les colorisations des vertex dans le maillage cible avec les résultats des propriétés de précalcul du maillage source donné. |
Précalculer la texture à partir des captures de rendu | Précalculer les textures pour un maillage cible à partir de captures de rendu. |
Créer une enveloppe UV basée sur le type de précalcul | Générer les options de précalcul des enveloppes UV. |
Précalculer la distance signée dans la texture de volume | Écrire un champ de distance dans la texture de volume existante donnée. |
UV
Ces fonctions permettent de manipuler les UV d'un maillage.
| Nom de nœud | Description |
|---|---|
Obtenir le nombre de canaux UV | Obtenir le nombre de canaux UV d'un maillage. |
Définir le nombre de canaux UV | Définir le nombre de canaux UV sur un maillage. |
Obtenir la boîte englobante de l'ensemble d'UV | Obtenir la boîte englobante 2D de tous les UV d'un canal UV. |
Copier le canal UV | Remplacer le canal UV cible par les valeurs du canal UV source. |
Déplacer les UV du maillage | Appliquer la translation 2D à tous les UV, ou à un sous-ensemble d'UV si une sélection est fournie, dans l'index de l'UVSet. |
Changer l'échelle des UV du maillage | Appliquer l’échelle 2D à tous les UV, ou à un sous-ensemble d'UV si une sélection est fournie, dans l'index de l'UVSet. |
Faire pivoter les UV de maillage | Appliquer la rotation 2D à tous les UV, ou à un sous-ensemble d'UV si une sélection est fournie, dans l'index de l'UVSet. |
Recalculer les UV du maillage | Recalculer les UV d'un maillage en fonction de différents types d’îles UV bien définis, tels que les îles UV existantes, les polygroupes ou l’entrée Sélection. |
Réempaqueter les UV du maillage | Empaqueter les îles UV existantes dans l'espace UV standard. |
Définir les UV du maillage à partir de la projection planaire | À l'aide de la projection planaire, définissez les UV d'un maillage entier ou d'un sous-ensemble défini à l'aide de l'entrée Sélection. |
Définir les UV du maillage à partir de la projection de boîte | À l'aide de la projection de boîte, définissez les UV d'un maillage entier ou d'un sous-ensemble défini à l'aide de l'entrée Sélection. |
Définir les UV du maillage à partir de la projection de cylindre | À l'aide de la projection de cylindre, définissez les UV d'un maillage entier ou d'un sous-ensemble défini à l'aide de l'entrée Sélection. |
Générer automatiquement les UV du maillage du générateur de patchs | Calculer les nouveaux UV à l'aide de la méthode PatchBuilder, avec option de réempaquetage. |
Générer automatiquement les UV de maillage de l’atlas X | Calculer les nouveaux UV à l'aide de XAtlas, avec option de réempaquetage. |
Obtenir des informations sur la taille du maillage | Calculer les informations sur les dimensions et les zones d'un canal UV d'un maillage, avec une sélection de maillage facultative. |
Obtenir les maillages par UV de vertex | Obtenir une liste d'UV de vertex uniques pour chaque vertex du maillage cible, dérivée de la superposition d’UV spécifiée. |
Copier le canal UV d’un maillage à l’autre | Copier les UV 2D de l'index du canal UV donné dans Copier à partir du maillage vers les positions des vertex 3D dans Copier vers le maillage d’UV. Les identifiants de polygroupe et les ID de matériau sont conservés dans le maillage UV. |
Copier le canal UV d’un maillage à l’autre | Transférer les positions des vertex 3D et les triangles de Copier à partir de UVMesh vers le canal UV donné identifié par Vers l'index du canal UV de Copier vers le maillage. Les positions 3D (X,Y,Z) sont copiées en tant que positions UV (X,Y). |
Calculer le paramètre UV local du maillage | Calculer une paramétrisation UV locale sur les vertex du maillage cible autour du CenterPoint/triangle donné. Cette méthode utilise un paramétrage Texture exponentielle discrète, qui déballe le maillage localement en fonction des distances et des angles géodésiques. Le point central a une valeur UV (0,0) et les UV des vertex calculés sont tels que `Length(UV) == geodesic distance`. |
Ajouter un élément UV au maillage | Ajouter un nouvel élément UV au canal UV spécifié du maillage et renvoyer un nouvel identifiant d'élément UV. |
Définir les identifiants des éléments UV d’un triangle de maillage | Définir les identifiants des éléments UV d’un triangle donné dans le canal UV spécifié, c'est-à-dire les index des triangles UV. Cette fonction ne crée pas de nouveaux UV. Le triangle UV ne peut être défini que si la topologie résultante est valide. Autrement dit, il n'est pas possible de partager les éléments entre différents vertex de maillage de base ; ainsi, ils doivent être soit inutilisés par d'autres triangles, soit déjà associés au même vertex de maillage dans d'autres triangles UV. Si l'une de ces conditions n'est pas remplie, bIsValidTriangle est renvoyé comme étant false. |
Obtenir les identifiants des éléments UV d’un triangle de maillage | Renvoyer les identifiants des éléments UV associés aux trois vertex du triangle dans le canal UV spécifié. Si le triangle n'existe pas dans le maillage ou si aucun UV n'est défini dans le canal UV spécifié pour le triangle, bHaveValidUVs est renvoyé comme étant false. |
Obtenir la position de l'élément UV du maillage | Renvoyer la position UV d’un identifiant d'élément UV donné dans le canal UV spécifié. Si le canal UV ou l'ID d'élément n'existe pas, bIsValidElementID est renvoyé comme étant false. |
Définir la position de l'élément UV du maillage | Définir la position UV d'un identifiant d'élément spécifique dans le canal UV donné. Si le canal UV ou l'ID d'élément n'existe pas, bIsValidElementID est renvoyé comme étant false. |
Définir les jointures UV le long des arêtes sélectionnées | Convertir la sélection en sélection d'arêtes et définir ou supprimer les jointures UV le long des arêtes sélectionnées. |
Appliquer l'échelle UV de la densité des texels | Redimensionner les UV dans le canal UV d'un maillage pour les faire correspondre à une densité de texel spécifiée, décrite par les options transmises. Prendre en charge le traitement d'un sous-ensemble d'UV via une sélection non vide. |
Disposition des UV du maillage | Empaqueter les îles UV existantes dans le canal UV spécifié dans l'espace UV standard en fonction des options de réempaquetage. |
Polygroupe
Fonctions permettant de manipuler les polygroupes d'un maillage. Les polygroupes sont des entiers par triangle qui définissent implicitement des régions et des zones de triangles dans les outils de modélisation et certaines opérations du plug-in Geometry Script. Cependant, une couche de polygroupe est un numéro par triangle que vous pouvez utiliser à toute autre fin. Pour en savoir plus sur les polygroupes, consultez la rubrique Comprendre les polygroupes.
| Nom de nœud | Description |
|---|---|
Déterminer si des polygroupes sont présents | Renvoyer true si le maillage possède une couche de polygroupe standard. |
Activer les polygroupes | Activer la couche de polygroupe standard sur un maillage. |
Obtenir le nombre de couches de polygroupes étendues | Renvoyer le nombre de couches de polygroupes étendues. Les couches de polygroupe étendues ne sont pas encore entièrement prises en charge par toutes les opérations ou tous les outils de modélisation. |
Définir le nombre de couches de polygroupes étendues | Définir le nombre de couches de polygroupe étendues sur un maillage. |
Effacer les polygroupes | Réinitialiser les assignations de polygroupe de triangle à une valeur constante pour une couche de polygroupe donnée. |
Copier les couches de polygroupes | Copier les polygroupes d’une couche à une autre. |
Convertir les îles UV en polygroupes | Créer et assigner un nouveau polygroupe à chaque île UV déconnectée d'un maillage. |
Convertir les composants en polygroupes | Créer et assigner un nouveau polygroupe à chaque composant déconnecté d'un maillage. |
Calculer les polygroupes à partir du seuil d'angle | Définir les polygroupes en partitionnant le maillage sur la base d'un angle de pli/d'ouverture des arêtes. |
Calculer les polygroupes à partir de la détection des polygones | Identifier les polygones et assigner les identifiants de polygroupe. |
Pondération des os
Ces fonctions calculent et manipulent les pondérations des os, également appelées pondération de surfaçage. Les pondérations des os déterminent l'influence de la transformation d'un os sur un ensemble de vertex. Vous pouvez également obtenir des informations sur le squelette stocké dans le maillage dynamique. Ces informations correspondent exactement au squelette du maillage squelettique après la conversion en maillage dynamique via le nœud Copy Mesh From Skeletal Mesh.
| Nœud | Description |
|---|---|
Le maillage comporte des pondérations d'os | Vérifier si le Tesh cible possède un attribut de pondération d'os défini par vertex. |
Le maillage crée des pondérations d'os | Créer un nouvel attribut Bone Weights (Pondérations d’os) sur le maillage cible, s'il n'existe pas déjà. S'il existe et que |
Obtenir l'index de pondération d’os maximal | Déterminer l’index de pondération d’os le plus grand existant sur le maillage. |
Obtenir les pondérations d’os des vertex | Renvoyer une matrice de pondération d'os à un vertex donné du maillage cible. |
Obtenir la pondération d'os de vertex la plus grande | Renvoyer la pondération d'os de la pondération maximale à un vertex donné du maillage cible. |
Définir les pondérations d'os du vertex | Définir la pondération d'os à un vertex donné du maillage cible. |
Définir toutes les pondérations d'os de vertex | Définir tous les vertex du maillage cible aux pondérations d'os données. |
Calculer les pondérations des os lisses | Calculer une liaison de tenue lisse pour le maillage donné au squelette fourni. |
Transférer les pondérations d’os du maillage | Transférer les pondérations d’os du maillage source au maillage cible. Les maillages doivent normalement être alignés. Sinon, utilisez la fonction de script de géométrie Transform Mesh pour les aligner. |
Copier les os du maillage | Copier les attributs d’os (squelette) du maillage source au maillage cible. |
Éliminer les os du maillage | Éliminer les attributs d'os (squelette) du maillage cible. |
Obtenir l’index de l'os | Obtenir l'index de l'os portant le nom donné. |
Obtenir le nom de l'os racine | Obtenir le nom de l'os racine. |
Obtenir les enfants de l’os | Obtenir les informations sur les enfants de l'os. |
Obtenir les informations sur tous les os | Obtenir une matrice d'os représentant le squelette. Chaque entrée contient des informations sur l'os. |
Obtenir les informations sur l’os | Obtenir l'index de l'os portant le nom donné. |
Le maillage copie les pondérations d’os | Copier toutes les pondérations d’os d'un profil source sur un profil cible, sur le même maillage, en les remplaçant toutes. |
Fusionner les pondérations d’os | Fusionner deux pondérations d'os à l'aide d'une valeur Alpha comprise entre 0 et 1 inclus. |
Élaguer les pondérations d’os | Supprimer les os donnés de toute assignation de pondération d'os sur le profil donné. |
Requêtes géométriques sur le maillage
Fonctions pour les requêtes géométriques de haut niveau d'un maillage.
| Nom de nœud | Description |
|---|---|
Obtenir la boîte englobante du maillage | Calculer la boîte englobante des vertex du maillage. |
Obtenir la surface et le volume du maillage | Calculer le volume et la surface du maillage. |
Déterminer si le maillage est fermé | Renvoyer true si le maillage est fermé, c'est-à-dire s'il n'y a pas d'arêtes de délimitation topologiques. |
Obtenir le nombre de boucles à bordure ouverte | Renvoyer le nombre de boucles à bordure ouverte, telles que les "trous" dans le maillage. |
Obtenir le nombre d'arêtes à bordure ouverte | Renvoyer le nombre d'arêtes de délimitation topologiques du maillage. |
Obtenir le nombre de composants connectés | Renvoyer le nombre de composants connexes distincts dans le maillage, tels que des "zones de triangles" connectées par des arêtes communes. |
Calculer l’enveloppe convexe du maillage | Calculer l'enveloppe convexe d'un maillage donné, ou d'une partie du maillage définie à l'aide de l'entrée Sélection, et la renvoyer dans un maillage distinct. |
Calculer l’enveloppe balayée du maillage | Calculer une enveloppe balayée 2D du maillage d'entrée et la renvoyer dans un maillage séparé. |
Calculer la décomposition convexe du maillage | Calculer une décomposition d'enveloppe convexe du maillage cible donné. En supposant que plusieurs enveloppes soient demandées, plusieurs enveloppes seront renvoyées qui tentent d'approximer le maillage. Rien ne garantit que la totalité du maillage soit contenue dans les enveloppes. |
Obtenir le centre, la surface et le volume du maillage | Calculer le volume, la surface et le centre de masse du maillage. |
Géodésique du maillage
Ces fonctions calculent le chemin le plus court donné sur une surface de maillage.
| Nœud | Description |
|---|---|
Obtenir le chemin de vertex le plus court | Calculer une liste de vertex représentant le chemin le plus court contraint de parcourir les arêtes du triangle du maillage entre les vertex de départ et d'arrivée prescrits. Cette fonction peut échouer si les points de début et de fin se trouvent dans des composants connectés distincts du maillage. |
Obtenir le chemin de surface le plus court | Calculer un chemin polyligne représentant le chemin de surface de maillage le plus court entre deux points spécifiés sur le maillage fourni. Cette opération peut échouer si les points de départ et d’arrivée se trouvent dans des composants connectés distincts du maillage.
|
Créer un chemin de surface | Calculer un chemin polyligne représentant un chemin de surface "droite" commençant au point indiqué sur le maillage et continuant dans la direction indiquée jusqu'à ce qu'il atteigne la longueur de chemin demandée ou qu'il rencontre une limite de maillage, selon la première éventualité.
|
Pool de maillage
Fonctions permettant d'appeler et de libérer le pool de maillages de calcul.
| Nom de nœud | Description |
|---|---|
Obtenir le pool de maillages global | Accéder à un pool de maillages de calcul global (créé lors du premier accès). |
Éliminer le pool de maillages global | Effacer ou détruire complètement le pool de maillages global actuel, ce qui permet à ce dernier et à tous ses maillages d'être éliminés lors du nettoyage de la mémoire. |
Demander et libérer un maillage de calcul | Macro permettant de demander un maillage de calcul qui peut être utilisé via la broche d'exécution With Mesh, puis de la libérer automatiquement avant la broche d'exécution After Release. |
Demander et libérer un maillage de calcul du pool global | Macro permettant de demander et de libérer un maillage de calcul en utilisant le pool global de maillages de calcul. |
Polygone simple
Un polygone 2D simple est un polygone fermé sans trous. Vous pouvez utiliser ces fonctions pour appeler et manipuler des polygones simples.
| Nœud | Description |
|---|---|
Obtenir le nombre de vertex d’un polygone | Renvoyer le nombre de vertex d'un polygone simple. |
Obtenir le vertex d’un polygone | Renvoyer le vertex spécifié d'un polygone simple. L'index du vertex effectue une boucle, c'est-à-dire que -1 donne le dernier vertex du polygone. Si le polygone n'a pas de vertex, il renvoie le vecteur zéro. |
Définir le vertex d’un polygone | Définir le vertex spécifié d'un polygone simple. L'index du vertex effectue une boucle, c'est-à-dire que -1 donne le dernier vertex du polygone. Rien ne se passe si le polygone n'a pas de vertex. |
Ajouter un vertex au polygone | Définir le vertex spécifié d'un polygone simple. Renvoie l'index du vertex ajouté. |
Obtenir la tangente d'un polygone | Renvoyer la tangente d'un vertex d'un polygone simple. L'index du vertex effectue une boucle, c'est-à-dire que -1 donne la tangente du dernier vertex du polygone. Si le polygone n'a pas de vertex, il renvoie le vecteur zéro. |
Obtenir la longueur d'arc d'un polygone | Renvoyer la longueur d'arc d'un polygone simple. |
Obtenir la surface d’un polygone | Renvoyer la surface délimitée par un polygone simple. |
Obtenir les limites d’un polygone | Renvoyer la boîte englobante d'un polygone simple. |
Convertir une spline en polygone | Échantillonner les positions d'un |
Convertir un polygone simple en matrice de vecteurs | Renvoyer une matrice de vecteurs 3D contenant les emplacements des vertex du polygone, la coordonnée Z étant fixée à zéro. |
Convertir un polygone simple en matrice de vecteurs 2D | Renvoyer une matrice de vecteurs 2D avec l'emplacement des vertex du polygone. |
Convertir une matrice de vecteurs en polygone simple | Renvoyer un polygone créé à partir d'une matrice de vecteurs de position 3D, sans tenir compte de la coordonnée Z. |
Convertir une matrice de vecteurs 2D en polygone simple | Renvoyer un polygone créé à partir d'une matrice de vecteurs de position 2D. |
Liste de polygones
Une liste de polygones comprend une liste de polygones généraux qui peuvent comporter des trous. Vous pouvez utiliser ces fonctions pour appeler et modifier des polygones dans une liste de polygones.
| Nœud | Description |
|---|---|
Obtenir le nombre de vertex d’un polygone | Renvoyer le nombre de vertex dans la forme extérieure d'un polygone, si l'index de trou est -1, ou dans le trou intérieur spécifié. Renvoie 0 pour les index de polygone ou de trou non valides. |
Obtenir le vertex d’un polygone | Renvoyer le vertex spécifié d'un polygone — soit du polygone extérieur, si l'index de trou est -1, soit du trou intérieur spécifié. Les vertex sont le vecteur zéro pour les index de polygone ou de trou non valides, ou si le polygone est vide. L'index de vertex effectue une boucle. |
Obtenir le nombre de polygones | Renvoyer le nombre de polygones dans la liste des polygones. |
Obtenir le nombre de trous d’un polygone | Renvoyer le nombre de trous dans un polygone. Renvoie zéro pour un index de polygone non valide. |
Obtenir les vertex d’un polygone | Renvoyer les vertex d'un polygone — soit du polygone extérieur, si l'index de trou est -1, soit du trou intérieur spécifié. Les vertex extérieurs sont vides en cas d'index de polygone ou de trou non valides. |
Obtenir la surface d’un polygone | Renvoyer la zone délimitée par un polygone. Renvoie zéro pour un index de polygone non valide. |
Obtenir les limites d’un polygone | Renvoyer la boîte englobante d'un polygone. Renvoyer une boîte vide et non valide pour un index de polygone non valide. |
Obtenir le polygone simple | Renvoyer un polygone simple spécifié à partir d'une liste de polygones — soit le polygone extérieur, si l'index de trou est -1, soit le trou intérieur spécifié. Les polygones sont vides si les index de polygone ou de trou ne sont pas valides. |
Obtenir la surface de la liste de polygones | Renvoyer la zone délimitée par un polygone. |
Obtenir les limites de la liste de polygones | Renvoyer la boîte englobante d'un polygone. |
Créer une liste de polygones à partir d'un seul polygone | Créer une liste de polygones à partir d'un seul polygone, avec des trous facultatifs. |
Ajouter un polygone à la liste | Ajouter un polygone à une liste de polygones, avec des trous facultatifs. Renvoie l'index du polygone ajouté. |
Créer une liste de polygones à partir de polygones simples | Créer une liste de polygones à partir d'une matrice de polygones simples. |
Ajouter une liste de polygones | Ajouter les polygones dans Polygones à ajouter à la liste de polygones. |
Union de polygones | Calculer l'union de tous les polygones de la liste de polygones. Résout également les auto-intersections au sein de chaque polygone. |
Différence des polygones | Calculer la différence entre la liste de polygones et les polygones à soustraire. |
Intersection des polygones | Calculer l'intersection de la liste de polygones et de polygones à croiser. |
Ou exclusif des polygones | Calculer le ou exclusif entre la liste de polygones et les polygones à exclure. |
Décalage des polygones | Appliquer un décalage unique à une liste de polygones fermés. |
Décalage des polygones | Appliquer deux décalages successifs à une liste de polygones fermés. |
Ouverture morphologique des polygones | Appliquer un opérateur d'ouverture morphologique à une liste de polygones fermés — en effectuant d’abord un décalage de -Offset, puis un décalage de +Offset. Si le décalage est négatif, cette fonction est similaire à une opération de fermeture. |
Fermeture morphologique des polygones | Appliquer un opérateur de fermeture morphologique à une liste de polygones fermés — en effectuant d’abord un décalage de +Offset, puis un décalage de -Offset. Si le décalage est négatif, cette fonction est similaire à une opération d'ouverture. |
Créer des polygones à partir d'un décalage de chemin | Appliquer un décalage à un chemin ouvert 2D unique, générant ainsi des polygones fermés. |
Chemin de polygone
Ces fonctions effectuent des manipulations sur les chemins de polygone. Un chemin de polygone est un chemin défini par un ordre de vertex.
| Nom de nœud | Description |
|---|---|
Obtenir le nombre de vertex du chemin polyligne | Renvoyer le nombre de vertex du chemin polyligne. |
Obtenir le dernier index d’un chemin polyligne | Renvoyer l'index du dernier vertex du chemin polyligne. |
Obtenir le vertex d’un chemin polyligne | Renvoyer l’emplacement 3D du vertex spécifié. |
Obtenir la tangente d’un chemin polyligne | Renvoyer le vecteur tangente local du chemin polyligne à l'index du vertex spécifié. |
Obtenir la longueur d'arc d'un chemin polyligne | Renvoyer la longueur du chemin polyligne. |
Obtenir l’index du vertex le plus proche | Renvoyer l'index du vertex de chemin polyligne le plus proche du point spécifié en 3 D. |
Aplatir en 2D sur l'axe | Créer une copie 2D aplatie du chemin, en supprimant l'axe donné et en utilisant les deux autres coordonnées comme nouvelles coordonnées X, Y. |
Convertir la spline en chemin polyligne | Échantillonner les positions d'un USplineComponent dans un chemin polyligne, en fonction des options d'échantillonnage données. |
Convertir un chemin polyligne en matrice | Remplir une matrice de vecteurs 3D avec les emplacements des vertex du chemin polyligne. |
Convertir une matrice en chemin polyligne | Créer un chemin polyligne à partir d'une matrice de vecteurs de position 3D. |
Convertir un chemin polyligne en matrice de vecteurs 2D | Créer une matrice de vecteurs 2D avec les emplacements des vertex du chemin polyligne, projetés sur le plan XY. |
Convertir une matrice de vecteurs 2D en chemin polyligne | Créer un chemin polyligne à partir d'une matrice de vecteurs de position 2D. La coordonnée Z des vertex du chemin de polygone correspondants est zéro. |
Créer un chemin circulaire 3D | Créer un cercle fermé autour de l'origine sur le plan XY, puis le repositionner à l’aide de l'entrée Transformation. |
Créer un chemin circulaire 2D | Créer un cercle fermé sur le plan XY autour du centre donné. Pour les chemins fermés, le vertex de fin n'est pas un doublon du vertex de départ. |
Créer un chemin d'arc 3D | Créer un arc ouvert autour de l'origine sur le plan XY, puis le repositionner à l’aide de l'entrée Transformation. |
Créer un chemin d'arc 2D | Créer un arc ouvert sur le plan XY autour du centre donné. |
Comparaisons de maillage
Fonctions de comparaison de deux maillages. Ces nœuds ne modifient aucun maillage lors de leur utilisation.
| Nom de nœud | Description |
|---|---|
Est le même maillage | Renvoyer true si les deux maillages d'entrée sont équivalents selon les comparaisons définies par les options d'entrée |
Mesurer les distances entre les maillages | Mesurer les distances min/max et la moyenne des points les plus proches entre deux maillages. |
Est un maillage croisé | Renvoyer true si les deux maillages d'entrée (avec des transformations facultatives) sont géométriquement en intersection. |
BVH et requêtes spatiales
Ces fonctions créent et interrogent un objet BHV (Bounding Volume Hierarchy) pour un maillage.
| Nom de nœud | Description |
|---|---|
Créer l’objet BVH du maillage | Créer un objet BVH pour un maillage qui peut être utilisé par les nœuds Is BVH Valid For Mesh, Rebuild BVH for Mesh, Find Nearest Point On Mesh, Find Nearest Ray Intersection With Mesh, et Is Point Inside Mesh. Cette fonction renvoie une structure BVH de maillage dynamique Geometry Script. |
L’objet BVH est-il valide pour le maillage ? | Vérifier si l'objet BVH peut encore être utilisé avec le maillage — il renvoie généralement false si le maillage a été modifié. |
Reconstruire l’objet BVH pour le maillage | Reconstruire l'objet BVH du maillage sur place, ce qui peut réduire les allocations de mémoire par rapport à la création d'un nouveau BVH. |
Rechercher le point le plus proche sur le maillage | Rechercher le point le plus proche du maillage/BVH par rapport à un point 3D donné. |
Rechercher l'intersection de rayon la plus proche avec le maillage | Rechercher l'intersection la plus proche d'un rayon 3D avec le maillage ou le BVH. |
Le point est-il à l'intérieur du maillage ? | Vérifier si un point se trouve à l'intérieur du maillage/BVH à l'aide de la requête Fast Winding Number. |
Utilitaires
Ces fonctions d'aide sont utiles pour le traitement des maillages de Geometry Script et les générateurs procéduraux.
| Nom de nœud | Description |
|---|---|
Créer un pool de maillages dynamiques | Créer un nouvel objet de pool de maillages dynamique. |
Créer un nouveau nom de chemin de ressource unique | Créer un nouveau nom de ressource unique à partir d'un chemin de base et d'un nom de ressource de base, ce qui est utile avec des fonctions telles que Créer une nouvelle ressource de maillage statique à partir d'un maillage. Ce nœud ne fonctionne que dans l'éditeur. |
Obtenir la chaîne d’information du maillage | Renvoyer une chaîne de débogage contenant des statistiques et d'autres informations sur le maillage. |
Échantillonner une spline en transformations | Échantillonner un USplineComponent dans une liste de FTransforms, sur la base des options d'échantillonnage données. |
Glossaire
| Terme | Définition |
|---|---|
Superposition | Une structure de données représentant un type de données de vertex appliquées à un maillage, notamment la colorisation des vertex, la normale, la tangente et l'UV. Plusieurs valeurs du type spécifié peuvent être stockées sur un seul vertex. Dans de tels cas, selon le type, l'une des situations suivantes se produit : la dernière valeur est utilisée, les valeurs sont moyennées ou une valeur arbitraire est utilisée. |
Voisinage direct | Les vertex voisins du vertex sélectionné, reliés par une arête. Le voisinage direct du vertex M. |
Ensemble d’UV | Contient les coordonnées UV d'un maillage, également appelées canal UV. Vous pouvez utiliser plusieurs canaux UV pour représenter différentes textures d'UV. |
Longueurs | Les demi-dimensions d'une boîte, mesurées le long des trois axes. Elles sont utilisées pour déterminer la longueur à partir d'un point central. Un point central, C, et la longueur, E, donnent une boîte dont le coin inférieur gauche proche se trouve à |