DataModelMesh

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
Non navigable

Le DataModelMesh est une classe abstraite dont les classes de maillage dérivent.

Les classes de maillage sont des objets qui, lorsqu'elles sont parentées à BaseParts modifient l'apparence de la partie à celle d'un maillage prédéfini.Remarque, ils ne modifient que l'apparence de la partie et non les limites physiques/de collision de la partie.Les développeurs qui souhaitent appliquer un maillage à une partie qui modifie la collision de la partie doivent utiliser MeshParts .

Remarquez que les classes MeshPart et CharacterMesh ne descendent pas de DataModelMesh.

Résumé

Propriétés

Propriétés

Offset

Lecture parallèle

Le décalage d'un maillage détermine la distance du BasePart.Position d'un BasePart auquel le maillage sera affiché.

Comment utiliser l'décentragede maillage

La propriété Offset change la position relative dans laquelle le maillage sera rendu.Par exemple, un décalage de 0, 5, 0 provoquera l'affichage du maillage à 5 points au-dessus de la position du BasePart .

La position du BasePart reste inchangée, ce qui signifie que la boîte de collision physique de la partie restera à la même position.Cela est démontré dans l'image ci-dessous où le contour vert (un SelectionBox ) montre les limites du BasePart .

Autres utilisations pour le décalage du décentrage

Il existe un certain nombre d'utilisations intéressantes pour la propriété décalage de maillage.

  • L'offset et DataModelMesh.Scale peuvent être animés en utilisant TweenService relativement peu coûteux car le moteur n'a pas besoin de faire des calculs de physique/de collision car le BasePart n'est pas déplacé.
  • Changer la relation entre le maillage et ses extensions de collision (déterminées par le BasePart )

Échantillons de code

In this code sample a BasePart is instanced with a SpecialMesh. The DataModelMesh.Scale and DataModelMesh.Offset properties of the SpecialMesh are then animated using TweenService.

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()

Scale

Lecture parallèle

L'échelle d'un maillage détermine la taille du maillage par rapport à ses dimensions originales.

Comment utiliser la taille redimensionner

La propriété échelle fonctionne légèrement différemment en fonction du type de maillage utilisé.Remarquez que la taille du BasePart reste inchangée, ce qui signifie que la boîte de collision physique de la partie restera la même.

  • SpecialMesh objets avec SpecialMesh.FileType définis à l'échelle « FileMesh » relative aux dimensions originales du maillage lorsqu'il a été téléchargé sur Roblox
  • BlockMesh objets ou SpecialMesh objets avec SpecialMesh.FileType défini à l'échelle 'Brique', 'Cale' ou 'Sphère' uniformément par rapport au BasePart.Size de leur parent
  • CylinderMesh objets ou SpecialMesh objets avec SpecialMesh.FileType défini à l'échelle 'Cylindre' par rapport au BasePart.Size de leur parent.Uniformément pour l'axe de hauteur des cylindres et en maintenant une proportion de 1:1 pour la longueur et la largeur du cylindre, en utilisant la valeur la plus basse.
  • SpecialMesh objets avec SpecialMesh.FileType définis à « Tête » s'échelonnent actuellement de manière non standard.Les développeurs ne doivent pas s'appuyer là-dessus car il existe des plans pour modifier ce comportement.
  • SpecialMesh objets avec SpecialMesh.FileType définis à l'échelle 'Torso' d'une manière non standard.Les développeurs ne doivent pas s'appuyer là-dessus car il existe des plans de déprécier ce taperde maillage.

Démo de l'échelle de maillage

Le comportement ci-dessus peut être vu dans les images de démonstration suivantes.

Échelonnement linéaire par rapport à la taille des parties pour les mailles 'Brique', 'Cale' et 'Sphère'.

Échelle linéaire par rapport au maillage original téléchargé pour les mailles 'FileMesh'

Taille contrainte non uniforme pour les mailles 'Cylindre'

Autres utilisations pour la taille du redimensionner

Il existe un certain nombre d'utilisations intéressantes pour la propriété décalage de maillage.

  • DataModelMesh.Offset et l'échelle peuvent être animées à l'aide de TweenService de manière relativement peu coûteuse car le moteur n'a pas besoin de faire des calculs de physique/de collision car le BasePart n'est pas modifié.
  • Changer la relation entre le maillage et ses extensions de collision (déterminées par le BasePart )

Échantillons de code

In this code sample a BasePart is instanced with a SpecialMesh. The DataModelMesh.Scale and DataModelMesh.Offset properties of the SpecialMesh are then animated using TweenService.

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()

VertexColor

Lecture parallèle

Couleur du vertex détermine le changement de teinte du Texture d'un FileMesh.Notez que cette propriété est une Vector3 plutôt que une Color3 ; pour convertir, utilisez les propriétés Color3.R, Color3.G et Color3.B.

Bien que cette propriété permette une modification basique d'une texture, changer entièrement une texture fournit plus de contrôle. Voir MeshPart pour plus de détails.

Méthodes

Évènements