SpecialMesh

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.

L'objet SpecialMesh applique un maillage à un BasePart en fonction de la propriété MeshType. Un certain nombre d'options sont disponibles.

  • Brique - Un forme de bloc, équivalent à un BlockMesh
  • Cylindre - Un cylindre, identique à un Part avec un Part.Shape de «Cylindre»
  • FileMesh - Un utilisateur a téléchargé Mesh, équivalent à FileMesh que une texture peut être appliquée à l'aide de la propriété FileMesh.TextureId
  • Tête - Forme de tête d'un personnage
  • Sphère - Une forme de sphère, similaire à un Part avec un Part.Shape de « Ball » mais peut être réduite librement sur tous les axes
  • Cale de wedge - Une forme de cale, identique à une WedgePart
  • Torso - Un bloc avec des côtés inclinés, à cause d'être marquer comme obsolète

Remarquez que chaque SpecialMesh.MeshType sera mis à l'échelle différemment lors de l'utilisation de DataModelMesh.Scale, pour plus d'informations sur ceci, veuillez consulter la page sur DataModelMesh.Scale. L'objet SpecialMesh expose également la propriété 1> Class.DataModelMesh.Offset1>.

Il est important de se souvenir que lors de l'utilisation d'un SpecialMesh, seule l'apparence d'une partie change. Le modèle de collision de la partie reste le même. Par exemple, un personnage ne pourra pas marcher correctement sur un maillage car la géométrie du maillage n'est pas prise en compte.

SpecialMesh vs MeshPart

Il y a actuellement deux façons d'utiliser un maillage créé par un développeur. Ils utilisent un maillage spécial avec le SpecialMesh.FileType défini sur « FileMesh », ou en utilisant un MeshPart . Bien que, dans l'ensemble, l'objet MeshPart ait dépassé le maillage spécial, il y a quelques différences que les développeurs dev

  • BasePart.Material affiche correctement sur le maillage lors de l'utilisation d'un MeshPart et non lors de l'utilisation d'un SpecialMesh
  • MeshParts inclut la propriété MeshPart.CollisionFidelity, ce qui signifie que le modèle de collision d'un MeshPart peut être réglé pour ressembler à la géométrie du maillage. L'objet SpecialMesh, d'un autre côté, utilise le modèle de collision parent 0> Class.BasePart|BasePartsmodèlisation
  • Le maillage d'un MeshPart évolue sur tous les axes en fonction de la propriété Size de l'MeshPart, le maillage d'un 2>SpecialMesh2> ne nécessite pas
  • L'objet SpecialMesh inclut les propriétés Offset et Scale alors que MeshParts ne le font pas
  • La propriété MeshId d'un SpecialMesh peut être modifiée par un Script ou 1>Class.LocalScript1> pendant l'temps d'exécution. La propriété 4>Class.MeshPart.MeshId|MeshId4> d'un 7>Class.MeshPart7> ne peut pas être modifi

Échantillons de code

Mesh Offset and Scale

local TweenService = game:GetService("TweenService")
-- instance a part and a mesh
local part = Instance.new("Part")
part.Size = Vector3.new(4, 8, 4)
part.Position = Vector3.new(0, 4, 0)
part.Anchored = true
part.CanCollide = false
local mesh = Instance.new("SpecialMesh")
mesh.MeshType = Enum.MeshType.FileMesh
mesh.MeshId = "rbxassetid://1086413449"
mesh.TextureId = "rbxassetid://1461576423"
mesh.Offset = Vector3.new(0, 0, 0)
mesh.Scale = Vector3.new(4, 4, 4)
mesh.Parent = part
-- selection box to show part extents
local box = Instance.new("SelectionBox")
box.Adornee = part
box.Parent = part
-- parent part to workspace
part.Parent = workspace
-- animate offset and scale with a tween
local tween = TweenService:Create(
mesh,
TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, -1, true, 0),
{ Scale = Vector3.new(1, 1, 1), Offset = Vector3.new(0, 3, 0) }
)
tween:Play()
Mesh VertexColor

local TweenService = game:GetService("TweenService")
-- instance a part and a mesh
local part = Instance.new("Part")
part.Size = Vector3.new(4, 8, 4)
part.Position = Vector3.new(0, 4, 0)
part.Anchored = true
part.CanCollide = false
local mesh = Instance.new("SpecialMesh")
mesh.MeshType = Enum.MeshType.FileMesh
mesh.MeshId = "rbxassetid://1086413449"
mesh.TextureId = "rbxassetid://1461576423"
mesh.Offset = Vector3.new(0, 0, 0)
mesh.Scale = Vector3.new(4, 4, 4)
mesh.VertexColor = Vector3.new(1, 1, 1)
mesh.Parent = part
-- parent part to workspace
part.Parent = workspace
-- create tweens
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
local blackTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 0, 0) })
local redTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(1, 0, 0) })
local greenTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 1, 0) })
local blueTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 0, 1) })
local resetTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(1, 1, 1) })
-- animate
while true do
blackTween:Play()
blackTween.Completed:Wait()
redTween:Play()
redTween.Completed:Wait()
greenTween:Play()
greenTween.Completed:Wait()
blueTween:Play()
blueTween.Completed:Wait()
resetTween:Play()
resetTween.Completed:Wait()
task.wait()
end

Résumé

Propriétés

Propriétés hérités de FileMesh
  • MeshId:ContentId
    Lecture parallèle

    Le MeshId est l'ID de contenu du maillage qui est à afficher.

  • TextureId:ContentId
    Lecture parallèle

    Le TextureId est l'ID de contenu de la texture qui est à appliquer sur le maillage.

Propriétés hérités de DataModelMesh
  • Lecture parallèle

    L'Offset d'un maillage détermine la position relative par rapport à la BasePart.Position d'un maillage que le maillage sera affiché à.

  • Lecture parallèle

    La taille d'une maillage détermine la taille de la maillage par rapport à ses dimensions d'origine.

  • Lecture parallèle

    Change la couleur d'une texture de maillage, utilisée avec FileMesh.TextureId .

Propriétés

Lecture parallèle

Le maillage que l'objet SpecialMesh applique à l'objet BasePart dépend de la propriété MeshType. Un certain nombre d'options sont disponibles.

  • Brique - Un forme de bloc, équivalent à un BlockMesh
  • Cylindre - Un cylindre, identique à un Part avec un Part.Shape de «Cylindre»
  • FileMesh - Un utilisateur a téléchargé Mesh, équivalent à FileMesh que une texture peut être appliquée à l'aide de la propriété FileMesh.TextureId
  • Tête - Forme de tête d'un personnage
  • Sphère - Une forme de sphère, similaire à un Part avec un Part.Shape de « Ball » mais peut être réduite librement sur tous les axes
  • Cale de wedge - Une forme de cale, identique à une WedgePart
  • Torso - Un bloc avec des côtés inclinés, à cause d'être marquer comme obsolète

Remarquez que chaque MeshType sera adapté différemment lors de l'utilisation de DataModelMesh.Scale, pour plus d'informations sur ceci, veuillez consulter la page sur DataModelMesh.Scale.

Échantillons de code

Mesh VertexColor

local TweenService = game:GetService("TweenService")
-- instance a part and a mesh
local part = Instance.new("Part")
part.Size = Vector3.new(4, 8, 4)
part.Position = Vector3.new(0, 4, 0)
part.Anchored = true
part.CanCollide = false
local mesh = Instance.new("SpecialMesh")
mesh.MeshType = Enum.MeshType.FileMesh
mesh.MeshId = "rbxassetid://1086413449"
mesh.TextureId = "rbxassetid://1461576423"
mesh.Offset = Vector3.new(0, 0, 0)
mesh.Scale = Vector3.new(4, 4, 4)
mesh.VertexColor = Vector3.new(1, 1, 1)
mesh.Parent = part
-- parent part to workspace
part.Parent = workspace
-- create tweens
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
local blackTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 0, 0) })
local redTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(1, 0, 0) })
local greenTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 1, 0) })
local blueTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 0, 1) })
local resetTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(1, 1, 1) })
-- animate
while true do
blackTween:Play()
blackTween.Completed:Wait()
redTween:Play()
redTween.Completed:Wait()
greenTween:Play()
greenTween.Completed:Wait()
blueTween:Play()
blueTween.Completed:Wait()
resetTween:Play()
resetTween.Completed:Wait()
task.wait()
end

Méthodes

Évènements