DataModelMesh
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Le DataModelMesh est une classe abstraite à partir de laquelle les classes de maillage dépendent.
Les classes Mesh sont des objets qui, lorsqu'elles sont parentées à BaseParts, modifient l'apparence de la partie pour celle d'une maillage prédéfinie. Notez, elles ne modifient pas l'apparence de la partie et ne définissent pas les limites de collision de la partie. Les développeurs qui cherchent à appliquer un maillage à une partie qui modifie la partie's collision doivent utiliser Class
Notez que les classes MeshPart et CharacterMesh ne descendent pas de DataModelMesh.
Résumé
Propriétés
L'Offset d'un maillage détermine la position relative par rapport à la BasePart.Position d'un maillage que le maillage sera affiché à.
La taille d'une maillage détermine la taille de la maillage par rapport à ses dimensions d'origine.
Change la couleur d'une texture de maillage, utilisée avec FileMesh.TextureId .
Propriétés
Offset
L'Offset d'un maillage détermine la distance du BasePart.Position d'un BasePart que le maillage sera affiché.
Comment utiliser l'décentragede Mesh
La propriété Offset change la position relative à laquelle le maillage sera rendu. Par exemple, un décalage de 0, 5, 0 provoquera le rendu du maillage 5 studs au-dessus de la position de la BasePart.
La position de la partie BasePart reste inchangée, ce qui signifie que la boîte de collision physique de la partie restera dans le même emplacement. Cela est démontré dans l'image ci-dessous où le contour vert (un SelectionBox ) montre l'étendu de la partie BasePart.
D'autres utilisations pour l'décentragede Mesh
Il y a un certain nombre d'utilisations intéressantes pour la propriété décalage du maillage.
- L'Offset et Class.DataModelMesh.Scale peuvent être animés à l'aide de DataModelMesh.Scale relativement pas cher car le moteur n'a pas besoin de faire de calculs de physique/de collision car la TweenService n'est pas déplacée.
- Modifier la relation entre le maillage et ses limites de collision (déterminées par le BasePart )
Échantillons de code
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
La taille d'une maillage détermine la taille de la maillage par rapport à ses dimensions d'origine.
Comment utiliser l'redimensionnerde maillage
La propriété échelle fonctionne légèrement différemment en fonction du type de maillage utilisé. Remarquez que la taille de la BasePart reste la même, ce qui signifie que la boîte de collision physique de la partie restera la même.
- SpecialMesh objets avec SpecialMesh.FileType défini sur « FileMesh » échelle relativement aux dimensions d'origine du maillage lorsqu'il a été téléchargé sur Roblox
- BlockMesh objets ou SpecialMesh objets avec SpecialMesh.FileType défini sur « Brick », « Wedge » ou « Sphere » échelle uniformément par rapport à la 0> Class.BasePart.Size0> de leur parent
- CylinderMesh objets ou SpecialMesh objets avec SpecialMesh.FileType défini sur « Cylinder » dans le parent. Uniformement pour la hauteur des cylindres et l'ajustement d'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 sur « Head » échelonnent actuellement de manière non standard. Les développeurs ne devraient pas compter sur cela comme leur plan de changer ce comportement
- SpecialMesh objets avec SpecialMesh.FileType définis sur « Torso » pour une échelle non standard. Les développeurs ne devraient pas compter sur ceci comme leurs 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.
Échelle linéaire en fonction de la taille de la partie pour les maillages « Brique », « Cale » et « Sphère ».
Échelle linéaire par rapport à la maille originale pour les maillages « FileMesh »
Échelle de taille non uniforme pour les mailles « Cylinder »
D'autres utilisations pour l'redimensionnerde maillage
Il y a un certain nombre d'utilisations intéressantes pour la propriété décalage du maillage.
- DataModelMesh.Offset et Scale peuvent être animés à l'aide de TweenService relativement à moindre coût car le moteur n'a pas besoin de faire de calculs physiques/de collision car la BasePart n'est pas modifiée.
- Modifier la relation entre le maillage et ses limites de collision (déterminées par le BasePart )
Échantillons de code
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
Couleur du véritable. Détermine la couleur de change de la Texture d'un FileMesh. Notez que cette propriété est un 0> Datatype
Bien que cette propriété permette une modification de base d'une texture, changer une texture entièrement fournit plus de contrôle. Voir MeshPart pour plus de détails.