EditableMesh

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Création impossible

EditableMesh modifie le maillage visuel appliqué lorsqu'il est lié à un MeshPart, ce qui permet de rechercher et de modifier le maillage à la fois dans Studio et dans l'expérience.

Activer les expériences publiées

Pour des raisons de sécurité, l'utilisation de EditableMesh échoue par défaut pour les expériences publiées.Pour activer l'utilisation, vous devez être âgé de 13 ans ou plus et vérifier votre identité.Après avoir été vérifié, ouvrez les paramètres de jeu de Studio , sélectionnez sécurité et activez le bouton autoriser les API de maillage/image .

Permissions

Pour empêcher une utilisation malveillante, AssetService:CreateEditableMeshAsync() ne vous permettra de charger et d'éditer que des ressources de maillage :

  • Ceux qui sont possédés par le créateur de l'expérience (si l'expérience est possédée par une personne).
  • Ceux qui sont possédés par un groupe (si l'expérience appartient au groupe).
  • Ceux qui sont possédés par l'utilisateur de Studio connecté (si le fichier de lieu n'a pas encore été sauvegardé ou publié sur Roblox).

Limites de mémoire

Les ressources modifiables sont actuellement coûteuses pour l'utilisation de la mémoire.Pour minimiser son impact sur les performances du client, EditableMesh a des budgets de mémoire stricts du côté du client, bien que le serveur, Studio et les plugins fonctionnent avec une mémoire illimitée.L'utilisation de FixedSize peut vous aider à rester dans le budget de mémoire et, dans certains scénarios, le lien d'un EditableMesh à plusieurs MeshParts (multiréférencement) peut aider à l'optimisation de la mémoire.

Création et affichage

Un EditableMesh peut être créé à partir d'un existant Content d'un MeshPart ou d'un ID de maillage en utilisant AssetService:CreateEditableMeshAsync(), ou un EditableMesh vide peut être créé avec AssetService:CreateEditableMesh().Il peut ensuite être affiché, modifié et son modèle de collision mis à jour.Pas toutes les étapes sont nécessaires ; par exemple, vous pourriez vouloir créer un EditableMesh simplement pour le raycast sans jamais l'afficher.


local AssetService = game:GetService("AssetService")
-- Créer un EditableMesh vide
local editableMesh = AssetService:CreateEditableMesh()
-- Créer un EditableMesh à partir de l'ID de la ressource
local editableMeshFromAsset = nil
local success, errorMessage = pcall(function()
editableMeshFromAsset = AssetService:CreateEditableMeshAsync(Content.fromAssetId(ASSET_ID))
end)
-- Créer un EditableMesh à partir d'un autre EditableMesh
local editableMeshFromAnother = nil
local success, errorMessage = pcall(function()
editableMeshFromAnother = AssetService:CreateEditableMeshAsync(Content.fromObject(OTHER_EDITABLE_MESH))
end)
-- Créer un maillage modifiable à partir de MeshPart
local editableMeshFromMeshPart = nil
local success, errorMessage = pcall(function()
editableMeshFromMeshPart = AssetService:CreateEditableMeshAsync(MESH_PART.MeshContent)
end)

Un EditableMesh est affiché lorsqu'il est lié à un nouveau MeshPart , via AssetService:CreateMeshPartAsync() .Vous pouvez créer plus d'instances MeshPart qui font référence à la même EditableMesh``Datatype.Content ou qui se lient à une instance existante MeshPart via MeshPart:ApplyMesh().


local AssetService = game:GetService("AssetService")
local Workspace = game:GetService("Workspace")
-- Créer un EditableMesh à partir de l'ID de la ressource
local editableMeshFromAsset = nil
local success, errorMessage = pcall(function()
editableMeshFromAsset = AssetService:CreateEditableMeshAsync(Content.fromAssetId(ASSET_ID))
end)
-- Créer une nouvelle partie maillée liée à l'éditableMesh
local newMeshPart = nil
local success, errorMessage = pcall(function()
newMeshPart = AssetService:CreateMeshPartAsync(Content.fromObject(editableMeshFromAsset))
end)
-- Alternativement, liez la nouvelle partie maillée créée ci-dessus à une partie maillée existante
local existingMeshPart = Workspace:FindFirstChild("EXISTING_MESH_PART")
existingMeshPart:ApplyMesh(newMeshPart)

Pour recalculer la géométrie de collision et de fluide après avoir édité, vous pouvez à nouveau appeler AssetService:CreateMeshPartAsync() et MeshPart:ApplyMesh() pour mettre à jour un MeshPart existant.Il est généralement recommandé de le faire à la fin d'une édition conceptuelle, et non après des appels individuels à des méthodes qui manipulent la géométrie.Les modifications visuelles du maillage seront toujours immédiatement reflétées par le moteur, sans avoir besoin d'appeler AssetService:CreateMeshPartAsync() .

Mailles de taille fixe

Lors de la création d'un EditableMesh à partir d'une ressource de maillage existante (via AssetService:CreateEditableMeshAsync() ), le maillage résultant est de taille fixe par défaut.Les mailles de taille fixe sont plus efficaces en termes de mémoire, mais vous ne pouvez pas modifier le nombre de verticaux, de faces ou d'attributs.Seules les valeurs des attributs de vertex et des positions peuvent être modifiées.


local AssetService = game:GetService("AssetService")
-- Créer un EditableMesh sans défaut de taille fixe
local editableMeshFromAsset = nil
local success, errorMessage = pcall(function()
editableMeshFromAsset = AssetService:CreateEditableMeshAsync(Content.fromAssetId(ASSET_ID), {FixedSize = false})
end)

ID de vertex/face stables

De nombreuses méthodes EditableMesh prennent vertex , normal , UV , couleur et visage ID.Ils sont représentés comme des entiers dans Luau, mais ils nécessitent une manipulation spéciale.La principale différence est que les ID sont stables et qu'ils restent les mêmes même si d'autres parties du maillage changent.Par exemple, si un EditableMesh a cinq sommets {1, 2, 3, 4, 5} et que vous supprimez le sommet 4, les nouveaux sommets seront {1, 2, 3, 5}.

Notez que les ID ne sont pas garantis d'être en ordre et qu'il peut y avoir des trous dans la numérotation, donc lorsque vous itérez à travers les sommets ou les faces, vous devez itérer à travers la table retournée par GetVertices() ou GetFaces() .

Attributs de vertex divisés

Un sommet vert est un coin d'un visage, et se connecte topologiquement les visages ensemble.Les sommets peuvent avoir plusieurs attributs : position, normale, coordonnées UV, couleur et transparence.

Parfois, il est utile pour tous les visages qui touchent un vertex d'utiliser les mêmes valeurs d'attribut, mais parfois vous voudrez que des visages différents utilisent des valeurs d'attribut différentes sur le même vertex.Par exemple, sur une sphère lisse, chaque vertex n'aura qu'un seul normal.En revanche, au coin d'un cube, le vertex aura 3 normales différentes (une pour chaque visage adjacent).Vous pouvez également avoir des coutures dans les coordonnées UV ou des changements soudains dans les couleurs du vertex.

Lors de la création de visages, chaque vertex aura par défaut un de chaque attribut : un normal, une coordonnée UV et une couleur/transparence.Si vous voulez créer une couture, vous devez créer de nouveaux attributs et les définir sur le visage.Par exemple, ce code créera un cube aiguisé :


local AssetService = game:GetService("AssetService")
-- En l'absence de 4 ID de sommet, ajoute un nouveau normal et 2 triangles, ce qui fait un quadruple aiguisé
local function addSharpQuad(editableMesh, vid0, vid1, vid2, vid3)
local nid = editableMesh:AddNormal() -- Cela crée un ID normal qui est automatiquement calculé
local fid1 = editableMesh:AddTriangle(vid0, vid1, vid2)
editableMesh:SetFaceNormals(fid1, {nid, nid, nid})
local fid2 = editableMesh:AddTriangle(vid0, vid2, vid3)
editableMesh:SetFaceNormals(fid2, {nid, nid, nid})
end
-- Fait un cube avec des bords crevés entre les 6 côtés
local function makeSharpCube()
local editableMesh = AssetService:CreateEditableMesh()
local v1 = editableMesh:AddVertex(Vector3.new(0, 0, 0))
local v2 = editableMesh:AddVertex(Vector3.new(1, 0, 0))
local v3 = editableMesh:AddVertex(Vector3.new(0, 1, 0))
local v4 = editableMesh:AddVertex(Vector3.new(1, 1, 0))
local v5 = editableMesh:AddVertex(Vector3.new(0, 0, 1))
local v6 = editableMesh:AddVertex(Vector3.new(1, 0, 1))
local v7 = editableMesh:AddVertex(Vector3.new(0, 1, 1))
local v8 = editableMesh:AddVertex(Vector3.new(1, 1, 1))
addSharpQuad(editableMesh, v5, v6, v8, v7) -- Avant
addSharpQuad(editableMesh, v1, v3, v4, v2) -- Retour
addSharpQuad(editableMesh, v1, v5, v7, v3) -- Gauche
addSharpQuad(editableMesh, v2, v4, v8, v6) -- Droite
addSharpQuad(editableMesh, v1, v2, v6, v5) -- En bas
addSharpQuad(editableMesh, v3, v7, v8, v4) -- Haut
editableMesh:RemoveUnused()
return editableMesh
end

Enroulement

Les faces maillées ont une face avant et une face arrière.Lors du dessin des mailles, seule la face avant des visages est dessinée par défaut, bien que vous puissiez le modifier en définissant la propriété maillage DoubleSided à true.

L'ordre des sommets autour du visage détermine si vous regardez devant ou derrière.Le front du visage est visible lorsque les sommets vont dans le sens contraire autour de lui.

Order of the vertices around the face

Poses de FACS

Les têtes animables utilisent le système de codage d'action faciale (FACS).Voir la référence poses FACS pour des informations utiles lors de l'utilisation de GetFacsPoses() et de méthodes similaires.

Chaque pose FACS est spécifiée par une valeur Enum.FacsActionUnit .Pour la pose FACS, les os virtuels peuvent chacun avoir un CFrame qui transforme l'os initial CFrame dans la position de lien du maillage en la position CFrame de l'unité d'action FACS.Tous les os CFrames sont dans l'espace local du maillage.

Ces poses FACS sont mélangées ensemble pendant l'animation.Parfois, le mélange des poses de base produit de mauvais résultats.Dans ces cas, vous pouvez annuler le mélange de combinaisons spécifiques de poses de base avec une pose corrective qui est plus agréable.Une pose corrective est spécifiée par 2 ou 3 valeurs Enum.FacsActionUnit correctives.Comme une position FACS de base, pour une position corrective, les os virtuels peuvent chacun avoir un CFrame qui transforme le CFrame initial des os dans la position de lien du maillage en CFrame pour cette position corrective FACS.

Limites

EditableMesh a actuellement une limite de 60 000 vertices et de 20 000 triangles. Tenter d'ajouter trop de vertices ou de triangles provoquera une erreur.

Résumé

Propriétés

  • Lecture uniquement
    Non répliqué
    Sécurité Roblox
    Lecture parallèle

    Retourne true si un maillage est de taille fixe.

Méthodes

Propriétés

FixedSize

Lecture uniquement
Non répliqué
Sécurité Roblox
Lecture parallèle

Les mailles de taille fixe permettent de modifier les valeurs des attributs de vertex, mais n'autorisent pas l'ajout ou la suppression de vertex et de triangles.

Méthodes

AddColor

Ajoute une nouvelle couleur à la géométrie et renvoie un ID de couleur stable.

Paramètres

color: Color3

La nouvelle couleur.

Valeur par défaut : ""
alpha: number

La couleur alpha (transparence).

Valeur par défaut : ""

Retours

ID de couleur stable de la nouvelle couleur.

AddNormal

Ajoute une nouvelle norme à la géométrie et renvoie un ID normal stable. Si la valeur normale n'est pas spécifiée, la normale sera calculée automatiquement.

Paramètres

normal: Vector3

Le vecteur normal. Si la valeur normale n'est pas spécifiée, la normale sera calculée automatiquement.

Valeur par défaut : ""

Retours

ID normal stable du nouveau normal.

AddTriangle

Ajoute un nouveau triangle au maillage et renvoie une ID de visage stable.

Paramètres

vertexId0: number

ID du premier vertex du triangle.

Valeur par défaut : ""
vertexId1: number

ID du deuxième vertex du triangle.

Valeur par défaut : ""
vertexId2: number

ID du troisième vertex du triangle.

Valeur par défaut : ""

Retours

ID de visage stable du nouveau visage.

AddUV

Ajoute un nouvel UV à la géométrie et renvoie un ID UV stable.

Paramètres

La nouvelle coordonnée UV.

Valeur par défaut : ""

Retours

ID UV stable du nouveau UV.

AddVertex

Ajoute un nouveau vertex à la géométrie et renvoie un ID vertex stable.

Paramètres

Position dans l'espace d'objet local du maillage.

Valeur par défaut : ""

Retours

ID de vertex stable du nouveau vertex.

Destroy

()

Détruit le contenu du maillage, récupérant immédiatement la mémoire utilisée.


Retours

()

FindClosestPointOnSurface

Trouve le point le plus proche sur la surface du maillage.Renvoie l'ID du visage, le point sur le maillage dans l'espace d'objet local, et la coordonnée barycentrique de la position dans le visage.Voir RaycastLocal() pour plus d'informations sur les coordonnées barycentriques.

Paramètres

point: Vector3

Position de point dans l'espace d'objet local du maillage.

Valeur par défaut : ""

Retours

Triplet de l'ID du visage, point sur le maillage dans l'espace d'objet local, et la coordonnée barycentrique de la position dans le visage.

FindClosestVertex

Trouve le vertex le plus proche d'un point spécifique dans l'espace et renvoie un ID de vertex stable.

Paramètres

toThisPoint: Vector3

Position de point dans l'espace d'objet local du maillage.

Valeur par défaut : ""

Retours

ID de vertex stable le plus proche au point spécifié dans l'espace.

FindVerticesWithinSphere

Trouve tous les sommets dans une sphère spécifique et renvoie une liste d'ID de vertex stables.

Paramètres

center: Vector3

Centre de la sphère dans l'espace local de l'objet du maillage.

Valeur par défaut : ""
radius: number

Rayon de la sphère.

Valeur par défaut : ""

Retours

Liste des ID de vertex stables dans la sphère demandée.

GetAdjacentFaces

Donné un identifiant de visage stable, renvoie une liste de visages adjacents.

Adjacent faces indicated around requested face

Paramètres

faceId: number
Valeur par défaut : ""

Retours

Liste d'ID de visage adjacente au visage donné.

GetAdjacentVertices

Donné un ID de vertex stable, renvoie une liste de vertices adjacents.

Adjacent vertices indicated around requested vertex

Paramètres

vertexId: number

ID de vertex autour duquel obtenir des vertices adjacents.

Valeur par défaut : ""

Retours

Liste des ID des verticaux adjacents autour de l'ID du vertex donné.

GetCenter


Retours

Centre de la boîte de conteneur de la EditableMesh.

GetColor

Renvoie la couleur pour l'ID de couleur donné.

Paramètres

colorId: number

ID de couleur pour obtenir la couleur.

Valeur par défaut : ""

Retours

Couleur pour l'ID de couleur stable demandé.

GetColorAlpha

Renvoie la couleur alpha (transparence) à l'ID de couleur stable donné.

Paramètres

colorId: number

ID de couleur pour lequel obtenir l'alpha.

Valeur par défaut : ""

Retours

Alpha de couleur à l'ID de couleur stable de la demande.

GetColors

Renvoie toutes les couleurs du maillage en tant que liste d'ID de couleur stables.


Retours

Liste d'ID de couleur stables.

GetFaceColors

Renvoie les ID de couleur du visage pour les sommets sur le visage.

Paramètres

faceId: number

ID de visage pour lequel obtenir les ID de couleur.

Valeur par défaut : ""

Retours

Liste des ID de couleur utilisés pour les sommets sur le visage donné.

GetFaceNormals

Renvoie les ID normaux du visage pour les sommets sur le visage.

Paramètres

faceId: number

ID de visage pour obtenir les ID normaux.

Valeur par défaut : ""

Retours

Liste des ID normaux utilisés pour les sommets sur le visage donné.

GetFaceUVs

Renvoie les ID UV du visage pour les sommets sur le visage.

Paramètres

faceId: number

ID de visage pour obtenir les ID UV.

Valeur par défaut : ""

Retours

Liste des ID UV utilisés pour les sommets sur le visage donné.

GetFaceVertices

Renvoie les ID de vertex du visage.

Paramètres

faceId: number
Valeur par défaut : ""

Retours

Liste des ID de vertex autour du visage donné.

GetFaces

Renvoie toutes les faces du maillage en tant que liste d'ID de visage stables.


Retours

Liste d'ID de visage stables.

GetNormal

Renvoie le vecteur normal pour l'ID normal donné.

Paramètres

normalId: number

ID normal pour lequel obtenir le vecteur normal.

Valeur par défaut : ""

Retours

Vecteur normal à l'ID normal demandé.

GetNormals

Renvoie tous les normaux du maillage en tant que liste d'ID normaux stables.


Retours

Liste d'ID normaux stables.

GetPosition

Obtient la position d'un vertex dans l'espace d'objets locaux du maillage.

Paramètres

vertexId: number

ID de vertex stable pour lequel obtenir la position.

Valeur par défaut : ""

Retours

Position d'un vertex dans l'espace d'objet local du maillage.

GetSize


Retours

Taille du EditableMesh.

GetUV

Renvoie les coordonnées UV à l'ID UV donné.

Paramètres

uvId: number

ID UV pour lequel obtenir la coordonnée UV.

Valeur par défaut : ""

Retours

Coordonnées UV à l'ID UV demandé.

GetUVs

Renvoie tous les UV du maillage en tant que liste d'ID UV stables.


Retours

Liste d'ID UV stables.

GetVertices

Retourne tous les sommets en tant que liste d'ID de vertex stables.


Retours

Liste des ID de vertex stables.

IdDebugString

Renvoie une chaîne décrivant un ID stable, utile aux fins de débogage, comme f17 ou v12 , contenant le type, le numéro d'ID et la version.

Paramètres

id: number

ID pour lequel retourner une chaîne d'information de débogage.

Valeur par défaut : ""

Retours

Chaîne qui décrit l'ID en format lisible par l'homme.

MergeVertices

Map

Fusionne les vertex qui se touchent, pour utiliser un seul ID de vertex mais garder les autres ID d'attributs originaux.

Paramètres

mergeTolerance: number

La distance à laquelle les sommets sont jugés se toucher.

Valeur par défaut : ""

Retours

Map

Une mise en correspondance de l'ancienne ID de vertex à la nouvelle ID de vertex pour les verticaux qui ont été fusionnés.

RaycastLocal

Lance un rayon et renvoie un point d'intersection, l'ID du visage et les coordonnées barycentriques.Les entrées et les sorties de cette méthode sont dans l'espace d'objet local du maillage.

Un coordonnée barycentrique est un moyen de spécifier un point dans un visage comme une combinaison pondérée des 3 sommets du visage.Cela est utile comme moyen général de mélanger les attributs de vertex.Voir l'échantillon de code de cette méthode comme illustration.

Paramètres

origin: Vector3

Origine du rayon dans l'espace local de l'objet du maillage.

Valeur par défaut : ""
direction: Vector3

Direction du rayon.

Valeur par défaut : ""

Retours

Triplet du point d'intersection, de l'ID du visage et des coordonnées barycentriques.

Échantillons de code

This code finds the position and UV coordinates of the closest point on an EditableMesh to the input point.

EditableMesh:RaycastLocal()

local AssetService = game:GetService("AssetService")
-- Initialize EditableMesh in space
local editableMesh = nil
local success, errorMsg = pcall(function()
editableMesh = AssetService:CreateEditableMeshAsync(Content.fromUri("rbxassetid://ASSET_ID"))
end)
local meshPart = nil
if success and editableMesh then
meshPart = AssetService:CreateMeshPartAsync(
Content.fromObject(editableMesh),
{ CollisionFidelity = Enum.CollisionFidelity.Hull }
)
meshPart.Parent = workspace
else
print(errorMsg)
end
local function castRayFromCamera(position)
if not meshPart then
return
end
-- Create ray from camera along the direction of a clicked point
local camera = workspace.CurrentCamera
local ray = camera:ScreenPointToRay(position.X, position.Y)
-- Convert to object space to use with RaycastLocal()
local relativeOrigin = meshPart.CFrame:PointToObjectSpace(ray.Origin)
local relativeDirection = meshPart.CFrame:VectorToObjectSpace(ray.Direction)
local triangleId, point, barycentricCoordinate
triangleId, point, barycentricCoordinate = editableMesh:RaycastLocal(relativeOrigin, relativeDirection * 100)
if not triangleId then
-- Didn't hit any triangles
return
end
-- Interpolate UVs within the triangle
local vert1, vert2, vert3 = editableMesh:GetTriangleVertices(triangleId)
local uv0 = editableMesh:GetUV(vert1)
local uv1 = editableMesh:GetUV(vert2)
local uv2 = editableMesh:GetUV(vert3)
local u = (barycentricCoordinate.x * uv0.x) + (barycentricCoordinate.y * uv1.x) + (barycentricCoordinate.z * uv2.x)
local v = (barycentricCoordinate.x * uv0.y) + (barycentricCoordinate.y * uv1.y) + (barycentricCoordinate.z * uv2.y)
return Vector2.new(u, v)
end

RemoveFace

()

Supprime un visage en utilisant son identifiant de visage stable.

Paramètres

faceId: number
Valeur par défaut : ""

Retours

()

RemoveUnused

Supprime tous les sommets, normaux, UV et couleurs qui ne sont pas utilisés dans n'importe quel visage, et renvoie les ID supprimés.


Retours

Tous les ID de stable supprimés.

ResetNormal

()

Réinitialisez cet ID normal pour être automatiquement calculé en fonction de la forme du maillage, au lieu d'être défini manuellement.

Paramètres

normalId: number

ID normal stable à réinitialiser.

Valeur par défaut : ""

Retours

()

SetColor

()

Définit la couleur pour un ID de couleur.

Paramètres

colorId: number

ID de couleur stable pour lequel définir la couleur.

Valeur par défaut : ""
color: Color3

Couleur à définir.

Valeur par défaut : ""

Retours

()

SetColorAlpha

()

Définir la couleur alpha (transparence) pour un ID de couleur.

Paramètres

colorId: number

ID de couleur stable pour lequel définir la couleur alpha.

Valeur par défaut : ""
alpha: number

Alpha à définir.

Valeur par défaut : ""

Retours

()

SetFaceColors

()

Définit les couleurs du vertex du visage à de nouveaux ID de couleur.

Paramètres

faceId: number

ID de visage pour lequel mettre à jour les couleurs des vertex.

Valeur par défaut : ""
ids: Array

Liste des nouvelles ID de couleur stables à utiliser pour les sommets du visage donné.

Valeur par défaut : ""

Retours

()

SetFaceNormals

()

Définit les normales du vertex du visage à de nouvelles normales d'identification.

Paramètres

faceId: number

ID de visage pour mettre à jour les normales du vertex.

Valeur par défaut : ""
ids: Array

Liste des nouveaux ID normaux stables à utiliser pour les sommets du visage donné.

Valeur par défaut : ""

Retours

()

SetFaceUVs

()

Définit les UV du vertex du visage à de nouvelles identités UV.

Paramètres

faceId: number

ID de visage pour mettre à jour les UV du vertex.

Valeur par défaut : ""
ids: Array

Liste des nouveaux ID UV stables à utiliser pour les sommets du visage donné.

Valeur par défaut : ""

Retours

()

SetFaceVertices

()

Définit les véritables du visage à de nouvelles ID de vertex.

Paramètres

faceId: number

ID de visage pour mettre à jour les sommets.

Valeur par défaut : ""
ids: Array

Liste des nouveaux ID de vertex stables à utiliser pour le visage donné.

Valeur par défaut : ""

Retours

()

SetNormal

()

Définissez la norme pour un ID normal. Cela changera la valeur normale pour chaque vertex du visage qui utilise l'ID normal.

Paramètres

normalId: number

ID normal stable pour lequel définir le vecteur normal.

Valeur par défaut : ""
normal: Vector3

Vecteur normal à définir.

Valeur par défaut : ""

Retours

()

SetPosition

()

Définit une position de vertex dans l'espace local de l'objet du maillage.

Paramètres

vertexId: number

ID de vertex stable du vertex à la position.

Valeur par défaut : ""

Position dans l'espace d'objet local du maillage.

Valeur par défaut : ""

Retours

()

SetUV

()

Définit les coordonnées UV pour un ID UV.

Paramètres

uvId: number

ID UV pour lequel définir les coordonnées UV.

Valeur par défaut : ""

Coordonnées UV.

Valeur par défaut : ""

Retours

()

Triangulate

()

Divise tous les visages sur le maillage pour être des triangles.Actuellement, cela ne fait rien puisque seuls les triangles peuvent être créés, mais si votre code repose sur des triangles, il est recommandé d'appeler cette méthode après avoir appelé AssetService:CreateEditableMeshAsync() .


Retours

()

Évènements