FileMesh

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 FileMesh applique un maillage texturé à un BasePart lorsqu'il est parenté à lui. Ses propriétés sont héritées par l'objet SpecialMesh.

Qu'est-ce qu'un FileMesh ?

Les maillages de fichier permettent aux utilisateurs de télécharger des maillages d'être appliqués à un BasePart . Le maillage qui est appliqué dépend de la propriété FileMesh.MeshId . Une texture peut également être appliquée à ce maillage en utilisant FileMesh.TextureId .

Bien qu'il s'agisse pas d'une classe abstraite, et que les développeurs puissent l'utiliser, toutes les propriétés FileMesh sont héritées par l'objet SpecialMesh. Un SpecialMesh fonctionne identiquement à l'objet FileMesh lorsque son 2>Class.

Pour plus d'informations sur l'utilisation des mailles, veuillez voir la page SpecialMesh.

Échantillons de code

FileMesh Offset and Scale

local TweenService = game:GetService("TweenService")
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("FileMesh") -- advised to use SpecialMesh instead
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
local box = Instance.new("SelectionBox")
box.Adornee = part
box.Parent = part
part.Parent = workspace
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()

Résumé

Propriétés

  • 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

MeshId

ContentId
Lecture parallèle

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

L'ID de contenu d'un maillage est généré lorsqu'un développeur télécharge un maillage sur le site Web de Roblox.

Comment créer un maillage ?

Les maillages ne peuvent actuellement être téléchargés qu'à l'aide de MeshParts ou du gestionnaire des ressources. Une fois téléchargé, l'ID du contenu pour le maillage peut être utilisé pour la propriété MeshId. Pour plus d'informations, voir Meshes.

É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

TextureId

ContentId
Lecture parallèle

L'ID de texte est l'identifiant du contenu de l'image qui est à appliquer pour la texture des mailles. Lorsque la propriété TextureId est réglée sur une chaîne vide, aucune texture ne sera appliquée à la maillage.

Comment puis-je modifier la texture d'un maillage ?

En utilisant la propriété TextureId, la texture d'un maillage peut être modifiée sans avoir à recharger le maillage. Pour ce faire, une nouvelle image devra être téléchargée sur Roblox avec la texture souhaitée. Pour ce faire, un nouveau fichier d'image devra être téléchargé sur Roblox en utilisant l'option « Exporter la sélection » dans Roblox Studio. Le fichier d'image sera enregistré avec le fichier .obj exporté.

La nouvelle texture peut ensuite être ré-téléchargée sur Roblox en tant que décalque et son ID de contenu peut être appliqué sur le maillage en utilisant la propriété TextureId.

Comment puis-je faire un maillage texturé ?

Un maillage ne peut être texturé que si le maillage a été mapué en UV. Le maillage mapué en UV fait référence à la pratique de projeter une carte de texture sur un maillage. Cela ne peut pas être fait à l'aide de Roblox Studio et doit être fait à l'aide d'une application de modélisation 3D externe comme Blender.

É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