EditableMesh
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
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.

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
Retourne true si un maillage est de taille fixe.
Méthodes
Ajoute une nouvelle couleur à la géométrie et renvoie un ID de couleur stable.
Ajoute un nouveau normal à la géométrie et renvoie un ID normal stable.
Ajoute un nouveau triangle au maillage et renvoie une ID de visage stable.
Ajoute un nouvel UV à la géométrie et renvoie un ID UV stable.
Ajoute un nouveau vertex à la géométrie et renvoie un ID vertex stable.
Détruit le maillage.
Trouve le point le plus proche sur la surface du maillage.
Trouve le vertex le plus proche d'un point spécifique dans l'espace.
Trouve tous les sommets dans une sphère spécifique.
Renvoie une liste de visages adjacents à un visage donné.
Renvoie une liste de sommets adjacents à un sommet donné.
Renvoie la couleur pour l'ID de couleur donné.
Renvoie la couleur alpha (transparence) à l'ID de couleur donné.
Renvoie toutes les couleurs du maillage.
Renvoie les ID de couleur du visage pour les sommets sur le visage.
Renvoie les ID normaux du visage pour les sommets sur le visage.
Renvoie les ID UV du visage pour les sommets sur le visage.
Renvoie les ID de vertex du visage.
Renvoie toutes les faces du maillage.
Renvoie le vecteur normal pour l'ID normal donné.
Renvoie tous les normaux du maillage.
Obtient la position d'un vertex.
Renvoie les coordonnées UV à l'ID UV donné.
Renvoie tous les UV du maillage.
Retourne tous les sommets en tant que liste d'ID de vertex stables.
Renvoie une chaîne décrivant un ID stable, utile aux fins de débogage.
Fusionne les vertex qui se touchent.
Supprime un visage en utilisant son identifiant de visage stable.
Supprime tous les vertices inutilisés, les normales, les UV et les couleurs, et renvoie les ID supprimés.
Réinitialisez cet ID normal pour qu'il soit calculé automatiquement.
Définit la couleur pour un ID de couleur.
Définir la couleur alpha (transparence) pour un ID de couleur.
Définit les couleurs du vertex du visage à de nouveaux ID de couleur.
Définit les normales du vertex du visage à de nouvelles normales d'identification.
Définit les UV du vertex du visage à de nouvelles identités UV.
Définit les véritables du visage à de nouvelles ID de vertex.
Définissez la norme pour un ID normal.
Définit une position de vertex dans l'espace local de l'objet du maillage.
Définit les coordonnées UV pour un ID UV.
Divise tous les visages sur le maillage pour être des triangles.
Évènements
Propriétés
FixedSize
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
La nouvelle couleur.
La couleur alpha (transparence).
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
Le vecteur normal. Si la valeur normale n'est pas spécifiée, la normale sera calculée automatiquement.
Retours
ID normal stable du nouveau normal.
AddTriangle
Ajoute un nouveau triangle au maillage et renvoie une ID de visage stable.
Paramètres
ID du premier vertex du triangle.
ID du deuxième vertex du triangle.
ID du troisième vertex du triangle.
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.
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.
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
Position de point dans l'espace d'objet local du maillage.
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
Position de point dans l'espace d'objet local du maillage.
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
Centre de la sphère dans l'espace local de l'objet du maillage.
Rayon de la sphère.
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.

Paramètres
Retours
Liste d'ID de visage adjacente au visage donné.
GetAdjacentVertices
Donné un ID de vertex stable, renvoie une liste de vertices adjacents.

Paramètres
ID de vertex autour duquel obtenir des vertices adjacents.
Retours
Liste des ID des verticaux adjacents autour de l'ID du vertex donné.
GetColor
Renvoie la couleur pour l'ID de couleur donné.
Paramètres
ID de couleur pour obtenir la couleur.
Retours
Couleur pour l'ID de couleur stable demandé.
GetColorAlpha
Renvoie la couleur alpha (transparence) à l'ID de couleur stable donné.
Paramètres
ID de couleur pour lequel obtenir l'alpha.
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
ID de visage pour lequel obtenir les ID de couleur.
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
ID de visage pour obtenir les ID normaux.
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
ID de visage pour obtenir les ID UV.
Retours
Liste des ID UV utilisés pour les sommets sur le visage donné.
GetFaceVertices
Renvoie les ID de vertex du visage.
Paramètres
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
ID normal pour lequel obtenir le vecteur normal.
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
ID de vertex stable pour lequel obtenir la position.
Retours
Position d'un vertex dans l'espace d'objet local du maillage.
GetUV
Renvoie les coordonnées UV à l'ID UV donné.
Paramètres
ID UV pour lequel obtenir la coordonnée UV.
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 pour lequel retourner une chaîne d'information de débogage.
Retours
Chaîne qui décrit l'ID en format lisible par l'homme.
MergeVertices
Fusionne les vertex qui se touchent, pour utiliser un seul ID de vertex mais garder les autres ID d'attributs originaux.
Paramètres
La distance à laquelle les sommets sont jugés se toucher.
Retours
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
Origine du rayon dans l'espace local de l'objet du maillage.
Direction du rayon.
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.
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
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
ID normal stable à réinitialiser.
Retours
SetColor
Définit la couleur pour un ID de couleur.
Paramètres
ID de couleur stable pour lequel définir la couleur.
Couleur à définir.
Retours
SetColorAlpha
Définir la couleur alpha (transparence) pour un ID de couleur.
Paramètres
ID de couleur stable pour lequel définir la couleur alpha.
Alpha à définir.
Retours
SetFaceColors
Définit les couleurs du vertex du visage à de nouveaux ID de couleur.
Paramètres
ID de visage pour lequel mettre à jour les couleurs des vertex.
Liste des nouvelles ID de couleur stables à utiliser pour les sommets du visage donné.
Retours
SetFaceNormals
Définit les normales du vertex du visage à de nouvelles normales d'identification.
Paramètres
ID de visage pour mettre à jour les normales du vertex.
Liste des nouveaux ID normaux stables à utiliser pour les sommets du visage donné.
Retours
SetFaceUVs
Définit les UV du vertex du visage à de nouvelles identités UV.
Paramètres
ID de visage pour mettre à jour les UV du vertex.
Liste des nouveaux ID UV stables à utiliser pour les sommets du visage donné.
Retours
SetFaceVertices
Définit les véritables du visage à de nouvelles ID de vertex.
Paramètres
ID de visage pour mettre à jour les sommets.
Liste des nouveaux ID de vertex stables à utiliser pour le visage donné.
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
ID normal stable pour lequel définir le vecteur normal.
Vecteur normal à définir.
Retours
SetPosition
Définit une position de vertex dans l'espace local de l'objet du maillage.
Paramètres
ID de vertex stable du vertex à la position.
Position dans l'espace d'objet local du maillage.
Retours
SetUV
Définit les coordonnées UV pour un ID UV.
Paramètres
ID UV pour lequel définir les coordonnées UV.
Coordonnées UV.
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() .