Apprendre
Classe de moteur
EditableMesh
Création impossible

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


Résumé
Propriétés
Méthodes
AddBone(boneProperties: Dictionary):number
AddColor(color: Color3,alpha: number):number
AddTriangle(vertexId0: number,vertexId1: number,vertexId2: number):number
Destroy():()
GetVertexFaceUV(vertexId: number,faceId: number):number
MergeVertices(mergeTolerance: number):Map
RaycastLocal(origin: Vector3,direction: Vector3):Tuple
RemoveBone(boneId: number):()
RemoveFace(faceId: number):()
ResetNormal(normalId: number):()
SetBoneCFrame(boneId: number,cframe: CFrame):()
SetBoneIsVirtual(boneId: number,virtual: boolean):()
SetBoneName(boneId: number,name: string):()
SetBoneParent(boneId: number,parentBoneId: number):()
SetColor(colorId: number,color: Color3):()
SetColorAlpha(colorId: number,alpha: number):()
SetFaceColors(faceId: number,ids: {any}):()
SetFaceNormals(faceId: number,ids: {any}):()
SetFaceUVs(faceId: number,ids: {any}):()
SetFaceVertices(faceId: number,ids: {any}):()
SetFacsBonePose(action: Enum.FacsActionUnit,boneId: number,cframe: CFrame):()
SetFacsCorrectivePose(actions: {any},boneIds: {any},cframes: {any}):()
SetFacsPose(action: Enum.FacsActionUnit,boneIds: {any},cframes: {any}):()
SetNormal(normalId: number,normal: Vector3):()
SetPosition(vertexId: number,p: Vector3):()
SetUV(uvId: number,uv: Vector2):()
SetVertexBones(vertexId: number,boneIDs: {any}):()
SetVertexBoneWeights(vertexId: number,boneWeights: {any}):()
SetVertexFaceColor(vertexId: number,faceId: number,colorId: number):()
SetVertexFaceNormal(vertexId: number,faceId: number,normalId: number):()
SetVertexFaceUV(vertexId: number,faceId: number,uvId: number):()
Membres hérités

Référence API
Propriétés
FixedSize
Lecture uniquement
Non répliqué
Sécurité Roblox
Lecture parallèle
Capacités : DynamicGeneration
EditableMesh.FixedSize:boolean

Méthodes
AddBone
Capacités : DynamicGeneration
EditableMesh:AddBone(boneProperties:Dictionary):number
Paramètres
boneProperties:Dictionary
Retours

AddColor
Capacités : DynamicGeneration
EditableMesh:AddColor(
color:Color3, alpha:number
Paramètres
color:Color3
alpha:number
Retours

AddNormal
Capacités : DynamicGeneration
EditableMesh:AddNormal(normal:Vector3?):number
Paramètres
normal:Vector3?
Retours

AddTriangle
Capacités : DynamicGeneration
EditableMesh:AddTriangle(
vertexId0:number, vertexId1:number, vertexId2:number
Paramètres
vertexId0:number
vertexId1:number
vertexId2:number
Retours

AddUV
Capacités : DynamicGeneration
EditableMesh:AddUV(uv:Vector2):number
Paramètres
Retours

AddVertex
Capacités : DynamicGeneration
EditableMesh:AddVertex(p:Vector3):number
Paramètres
Retours

Destroy
Capacités : DynamicGeneration
EditableMesh:Destroy():()
Retours
()

FindClosestPointOnSurface
Capacités : DynamicGeneration
EditableMesh:FindClosestPointOnSurface(point:Vector3):Tuple
Paramètres
point:Vector3
Retours

FindClosestVertex
Capacités : DynamicGeneration
EditableMesh:FindClosestVertex(toThisPoint:Vector3):number
Paramètres
toThisPoint:Vector3
Retours

FindVerticesWithinSphere
Capacités : DynamicGeneration
EditableMesh:FindVerticesWithinSphere(
center:Vector3, radius:number
Paramètres
center:Vector3
radius:number
Retours

GetAdjacentFaces
Capacités : DynamicGeneration
EditableMesh:GetAdjacentFaces(faceId:number):{any}
Paramètres
faceId:number
Retours

GetAdjacentVertices
Capacités : DynamicGeneration
EditableMesh:GetAdjacentVertices(vertexId:number):{any}
Paramètres
vertexId:number
Retours

GetBoneByName
Capacités : DynamicGeneration
EditableMesh:GetBoneByName(boneName:string):number
Paramètres
boneName:string
Retours

GetBoneCFrame
Capacités : DynamicGeneration
EditableMesh:GetBoneCFrame(boneId:number):CFrame
Paramètres
boneId:number
Retours

GetBoneIsVirtual
Capacités : DynamicGeneration
EditableMesh:GetBoneIsVirtual(boneId:number):boolean
Paramètres
boneId:number
Retours

GetBoneName
Capacités : DynamicGeneration
EditableMesh:GetBoneName(boneId:number):string
Paramètres
boneId:number
Retours

GetBoneParent
Capacités : DynamicGeneration
EditableMesh:GetBoneParent(boneId:number):number
Paramètres
boneId:number
Retours

GetBones
Capacités : DynamicGeneration
EditableMesh:GetBones():{any}
Retours

GetCenter
Capacités : DynamicGeneration
EditableMesh:GetCenter():Vector3
Retours

GetColor
Capacités : DynamicGeneration
EditableMesh:GetColor(colorId:number):Color3?
Paramètres
colorId:number
Retours

GetColorAlpha
Capacités : DynamicGeneration
EditableMesh:GetColorAlpha(colorId:number):number?
Paramètres
colorId:number
Retours

GetColors
Capacités : DynamicGeneration
EditableMesh:GetColors():{any}
Retours

GetFaceColors
Capacités : DynamicGeneration
EditableMesh:GetFaceColors(faceId:number):{any}
Paramètres
faceId:number
Retours

GetFaceNormals
Capacités : DynamicGeneration
EditableMesh:GetFaceNormals(faceId:number):{any}
Paramètres
faceId:number
Retours

GetFaces
Capacités : DynamicGeneration
EditableMesh:GetFaces():{any}
Retours

GetFacesWithAttribute
Déprécié

GetFacesWithColor
Capacités : DynamicGeneration
EditableMesh:GetFacesWithColor(colorId:number):{any}
Paramètres
colorId:number
Retours

GetFacesWithNormal
Capacités : DynamicGeneration
EditableMesh:GetFacesWithNormal(normalId:number):{any}
Paramètres
normalId:number
Retours

GetFacesWithUV
Capacités : DynamicGeneration
EditableMesh:GetFacesWithUV(uvId:number):{any}
Paramètres
uvId:number
Retours

GetFaceUVs
Capacités : DynamicGeneration
EditableMesh:GetFaceUVs(faceId:number):{any}
Paramètres
faceId:number
Retours

GetFaceVertices
Capacités : DynamicGeneration
EditableMesh:GetFaceVertices(faceId:number):{any}
Paramètres
faceId:number
Retours

GetFacsCorrectivePose
Capacités : DynamicGeneration
EditableMesh:GetFacsCorrectivePose(actions:{any}):Tuple
Paramètres
actions:{any}
Retours

GetFacsCorrectivePoses
Capacités : DynamicGeneration
EditableMesh:GetFacsCorrectivePoses():{any}
Retours

GetFacsPose
Capacités : DynamicGeneration
EditableMesh:GetFacsPose(action:Enum.FacsActionUnit):Tuple
Paramètres
Retours

GetFacsPoses
Capacités : DynamicGeneration
EditableMesh:GetFacsPoses():{any}
Retours

GetNormal
Capacités : DynamicGeneration
EditableMesh:GetNormal(normalId:number):Vector3?
Paramètres
normalId:number
Retours

GetNormals
Capacités : DynamicGeneration
EditableMesh:GetNormals():{any}
Retours

GetPosition
Capacités : DynamicGeneration
EditableMesh:GetPosition(vertexId:number):Vector3
Paramètres
vertexId:number
Retours

GetSize
Capacités : DynamicGeneration
EditableMesh:GetSize():Vector3
Retours

GetUV
Capacités : DynamicGeneration
EditableMesh:GetUV(uvId:number):Vector2?
Paramètres
uvId:number
Retours

GetUVs
Capacités : DynamicGeneration
EditableMesh:GetUVs():{any}
Retours

GetVertexBones
Capacités : DynamicGeneration
EditableMesh:GetVertexBones(vertexId:number):{any}
Paramètres
vertexId:number
Retours

GetVertexBoneWeights
Capacités : DynamicGeneration
EditableMesh:GetVertexBoneWeights(vertexId:number):{any}
Paramètres
vertexId:number
Retours

GetVertexColors
Capacités : DynamicGeneration
EditableMesh:GetVertexColors(vertexId:number):{any}
Paramètres
vertexId:number
Retours

GetVertexFaceColor
Capacités : DynamicGeneration
EditableMesh:GetVertexFaceColor(
vertexId:number, faceId:number
Paramètres
vertexId:number
faceId:number
Retours

GetVertexFaceNormal
Capacités : DynamicGeneration
EditableMesh:GetVertexFaceNormal(
vertexId:number, faceId:number
Paramètres
vertexId:number
faceId:number
Retours

GetVertexFaces
Capacités : DynamicGeneration
EditableMesh:GetVertexFaces(vertexId:number):{any}
Paramètres
vertexId:number
Retours

GetVertexFaceUV
Capacités : DynamicGeneration
EditableMesh:GetVertexFaceUV(
vertexId:number, faceId:number
Paramètres
vertexId:number
faceId:number
Retours

GetVertexNormals
Capacités : DynamicGeneration
EditableMesh:GetVertexNormals(vertexId:number):{any}
Paramètres
vertexId:number
Retours

GetVertexUVs
Capacités : DynamicGeneration
EditableMesh:GetVertexUVs(vertexId:number):{any}
Paramètres
vertexId:number
Retours

GetVertices
Capacités : DynamicGeneration
EditableMesh:GetVertices():{any}
Retours

GetVerticesWithAttribute
Déprécié

GetVerticesWithColor
Capacités : DynamicGeneration
EditableMesh:GetVerticesWithColor(colorId:number):{any}
Paramètres
colorId:number
Retours

GetVerticesWithNormal
Capacités : DynamicGeneration
EditableMesh:GetVerticesWithNormal(normalId:number):{any}
Paramètres
normalId:number
Retours

GetVerticesWithUV
Capacités : DynamicGeneration
EditableMesh:GetVerticesWithUV(uvId:number):{any}
Paramètres
uvId:number
Retours

IdDebugString
Capacités : DynamicGeneration
EditableMesh:IdDebugString(id:number):string
Paramètres
Retours

MergeVertices
Capacités : DynamicGeneration
EditableMesh:MergeVertices(mergeTolerance:number):Map
Paramètres
mergeTolerance:number
Retours
Map

RaycastLocal
Capacités : DynamicGeneration
EditableMesh:RaycastLocal(
origin:Vector3, direction:Vector3
Paramètres
origin:Vector3
direction:Vector3
Retours
Échantillons de code
EditableMesh:RaycastLocal()
local AssetService = game:GetService("AssetService")
local Workspace = game:GetService("Workspace")
-- Initialiser EditableMesh dans l'espace
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
warn(errorMsg)
end
-- Fonction qui va lancer un rayon depuis le point donné, retournant le point mondial du coup et la coordonnée UV
local function castRayFromCamera(meshPart: MeshPart, editableMesh: EditableMesh, viewportPoint: Vector3)
if not meshPart then
return
end
-- Calculer combien l'objet est redimensionné dans chaque dimension
local renderScale = meshPart.Size / meshPart.MeshSize
-- Créer un rayon de la caméra dans la direction d'un point cliqué
local ray = Workspace.CurrentCamera:ViewportPointToRay(viewportPoint.X, viewportPoint.Y)
-- Convertir en espace objet pour utiliser avec RaycastLocal()
local relativeOrigin = meshPart.CFrame:PointToObjectSpace(ray.Origin) / renderScale
local relativeTarget = meshPart.CFrame:PointToObjectSpace(ray.Origin + ray.Direction * 100) / renderScale
local relativeDirection = relativeTarget - relativeOrigin
local faceId, point, barycentricCoordinate, vertId1, vertId2, vertId3 =
editableMesh:RaycastLocal(relativeOrigin, relativeDirection)
if not faceId then
-- N'a pas touché à des faces
return
end
-- Calculer le point d'impact dans l'espace mondial
local worldHitPoint = meshPart.CFrame:PointToWorldSpace(point * renderScale)
-- Obtenir les UV sur la face
local uvId1 = editableMesh:GetVertexFaceUV(vertId1, faceId)
local uvId2 = editableMesh:GetVertexFaceUV(vertId2, faceId)
local uvId3 = editableMesh:GetVertexFaceUV(vertId3, faceId)
local uv1 = editableMesh:GetUV(uvId1)
local uv2 = editableMesh:GetUV(uvId2)
local uv3 = editableMesh:GetUV(uvId3)
-- Interpoler les UVs dans la face en fonction de la coordonnée barycentrique
local u = (barycentricCoordinate.x * uv1.x) + (barycentricCoordinate.y * uv2.x) + (barycentricCoordinate.z * uv3.x)
local v = (barycentricCoordinate.x * uv1.y) + (barycentricCoordinate.y * uv2.y) + (barycentricCoordinate.z * uv3.y)
return worldHitPoint, Vector2.new(u, v)
end

RemoveBone
Capacités : DynamicGeneration
EditableMesh:RemoveBone(boneId:number):()
Paramètres
boneId:number
Retours
()

RemoveFace
Capacités : DynamicGeneration
EditableMesh:RemoveFace(faceId:number):()
Paramètres
faceId:number
Retours
()

RemoveUnused
Capacités : DynamicGeneration
EditableMesh:RemoveUnused():{any}
Retours

ResetNormal
Capacités : DynamicGeneration
EditableMesh:ResetNormal(normalId:number):()
Paramètres
normalId:number
Retours
()

SetBoneCFrame
Capacités : DynamicGeneration
EditableMesh:SetBoneCFrame(
boneId:number, cframe:CFrame
):()
Paramètres
boneId:number
cframe:CFrame
Retours
()

SetBoneIsVirtual
Capacités : DynamicGeneration
EditableMesh:SetBoneIsVirtual(
boneId:number, virtual:boolean
):()
Paramètres
boneId:number
virtual:boolean
Retours
()

SetBoneName
Capacités : DynamicGeneration
EditableMesh:SetBoneName(
boneId:number, name:string
):()
Paramètres
boneId:number
name:string
Retours
()

SetBoneParent
Capacités : DynamicGeneration
EditableMesh:SetBoneParent(
boneId:number, parentBoneId:number
):()
Paramètres
boneId:number
parentBoneId:number
Retours
()

SetColor
Capacités : DynamicGeneration
EditableMesh:SetColor(
colorId:number, color:Color3
):()
Paramètres
colorId:number
color:Color3
Retours
()

SetColorAlpha
Capacités : DynamicGeneration
EditableMesh:SetColorAlpha(
colorId:number, alpha:number
):()
Paramètres
colorId:number
alpha:number
Retours
()

SetFaceColors
Capacités : DynamicGeneration
EditableMesh:SetFaceColors(
faceId:number, ids:{any}
):()
Paramètres
faceId:number
ids:{any}
Retours
()

SetFaceNormals
Capacités : DynamicGeneration
EditableMesh:SetFaceNormals(
faceId:number, ids:{any}
):()
Paramètres
faceId:number
ids:{any}
Retours
()

SetFaceUVs
Capacités : DynamicGeneration
EditableMesh:SetFaceUVs(
faceId:number, ids:{any}
):()
Paramètres
faceId:number
ids:{any}
Retours
()

SetFaceVertices
Capacités : DynamicGeneration
EditableMesh:SetFaceVertices(
faceId:number, ids:{any}
):()
Paramètres
faceId:number
ids:{any}
Retours
()

SetFacsBonePose
Capacités : DynamicGeneration
EditableMesh:SetFacsBonePose(
action:Enum.FacsActionUnit, boneId:number, cframe:CFrame
):()
Paramètres
boneId:number
cframe:CFrame
Retours
()

SetFacsCorrectivePose
Capacités : DynamicGeneration
EditableMesh:SetFacsCorrectivePose(
actions:{any}, boneIds:{any}, cframes:{any}
):()
Paramètres
actions:{any}
boneIds:{any}
cframes:{any}
Retours
()

SetFacsPose
Capacités : DynamicGeneration
EditableMesh:SetFacsPose(
action:Enum.FacsActionUnit, boneIds:{any}, cframes:{any}
):()
Paramètres
boneIds:{any}
cframes:{any}
Retours
()

SetNormal
Capacités : DynamicGeneration
EditableMesh:SetNormal(
normalId:number, normal:Vector3
):()
Paramètres
normalId:number
normal:Vector3
Retours
()

SetPosition
Capacités : DynamicGeneration
EditableMesh:SetPosition(
vertexId:number, p:Vector3
):()
Paramètres
vertexId:number
Retours
()

SetUV
Capacités : DynamicGeneration
EditableMesh:SetUV(
uvId:number, uv:Vector2
):()
Paramètres
uvId:number
Retours
()

SetVertexBones
Capacités : DynamicGeneration
EditableMesh:SetVertexBones(
vertexId:number, boneIDs:{any}
):()
Paramètres
vertexId:number
boneIDs:{any}
Retours
()

SetVertexBoneWeights
Capacités : DynamicGeneration
EditableMesh:SetVertexBoneWeights(
vertexId:number, boneWeights:{any}
):()
Paramètres
vertexId:number
boneWeights:{any}
Retours
()

SetVertexFaceColor
Capacités : DynamicGeneration
EditableMesh:SetVertexFaceColor(
vertexId:number, faceId:number, colorId:number
):()
Paramètres
vertexId:number
faceId:number
colorId:number
Retours
()

SetVertexFaceNormal
Capacités : DynamicGeneration
EditableMesh:SetVertexFaceNormal(
vertexId:number, faceId:number, normalId:number
):()
Paramètres
vertexId:number
faceId:number
normalId:number
Retours
()

SetVertexFaceUV
Capacités : DynamicGeneration
EditableMesh:SetVertexFaceUV(
vertexId:number, faceId:number, uvId:number
):()
Paramètres
vertexId:number
faceId:number
uvId:number
Retours
()

Triangulate
Capacités : DynamicGeneration
EditableMesh:Triangulate():()
Retours
()

©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.