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 FileMeshes permettent d'appliquer aux utilisateurs des mailles téléchargées à un BasePart .Le maillage 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 ne s'agisse pas d'une classe abstraite, et qu'il puisse être utilisé par les développeurs, toutes les propriétés FileMesh sont héritées par l'objet SpecialMesh.Un SpecialMesh se comporte identiquement à l'objet FileMesh lorsque son SpecialMesh.MeshType est réglé sur 'FileMesh'.Bien que les deux objets soient fonctionnels, l'objet SpecialMesh est la classe officielle soutenue.

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

Échantillons de code

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

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

    L'ID de maillage est l'ID du contenu du maillage qui doit être affiché.

  • TextureId:ContentId
    Lecture parallèle

    L'ID de texture est l'ID du contenu de la texture qui doit être appliquée au maillage.

Propriétés hérités de DataModelMesh

Propriétés

MeshId

ContentId
Lecture parallèle

L'ID de maillage est l'ID du contenu du maillage qui doit être affiché.

L'ID du contenu pour un maillage est généré lorsqu'un développeur télécharge un maillage sur Roblox.

Échantillons de code

In this code sample a BasePart is instanced with a SpecialMesh. The DataModelMesh.VertexColor property of the SpecialMesh is then animated using TweenService.

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 texture est l'ID du contenu de l'image qui doit être appliqué pour la texture des mailles.Lorsque la propriété TextureId est définie à une chaîne vide, aucune texture ne sera appliquée au 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 à réuploader le maillage.Pour ce faire, une nouvelle image devra être téléchargée sur Roblox avec la texture souhaitée.Le fichier d'image de texture original peut être obtenu en exportant le maillage en utilisant l'option « Exporter la sélection » dans Roblox Studio.Le fichier image sera sauvegardé aux côtés du fichier .obj exporté.

La nouvelle texture peut ensuite être ré-uploadée sur Roblox en tant que décalcomanie et son ID de contenu peut être appliqué au 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é mappé UV.La cartographie 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 telle que Blender.

Échantillons de code

In this code sample a BasePart is instanced with a SpecialMesh. The DataModelMesh.VertexColor property of the SpecialMesh is then animated using TweenService.

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