FileMesh

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Das FileMesh-Objekt gilt ein texturiertes Netzwerk auf ein BasePart, wenn es mit ihm verbunden ist. Seine Eigenschaften werden von dem SpecialMesh-Objekt erbucht.

Was ist ein FileMesh?

Mit Datei-Meshes können Benutzer hochgeladene Meshes auf ein BasePart angewendet werden. Das Meshes, das angewendet wird, ist abhängig von der EigenschaftenFileMesh.MeshId. Eine Textur kann auch auf dieses Meshes mit dem FileMesh.TextureId -Attribut angewendet werden.

Obwohl es keine abstrakte Klasse ist, und von Entwicklern verwendet werden kann, alle FileMesh -Eigenschaften erben sich von dem SpecialMesh -Objekt. Ein SpecialMesh verhält sich identisch zum FileMesh -Objekt, wenn sein 2>Class.SpecialMesh.MeshType2>

For more information on using meshes, please see the SpecialMesh page.

Code-Beispiele

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

Zusammenfassung

Eigenschaften

  • MeshId:ContentId
    Parallel lesen

    Die MeshId ist die Inhalts-ID des Meshes, das angezeigt werden soll.

  • TextureId:ContentId
    Parallel lesen

    Die TextureId ist die Inhalts-ID der Textur, die auf das Meshangewendet werden soll.

Eigenschaften von DataModelMesh übernommen

Eigenschaften

MeshId

ContentId
Parallel lesen

Die MeshId ist die Inhalts-ID des Meshes, das angezeigt werden soll.

Die Inhalts-ID für ein Mesh wird generiert, wenn ein Entwickler ein Mesh auf die Roblox-Website hochlädt.

Wie erstelle ich ein Mesh?

Meshes können derzeit nur mit MeshParts oder dem Asset-Manager hochgeladen werden. Sobald jedoch hochgeladen, kann die Inhalts-ID des Meshes für das Eigenschaftenverwendet werden. Weitere Informationen finden Sie unter Meshes.

Code-Beispiele

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
Parallel lesen

Die TextureId ist die Inhalts-ID des Bildes, das angewendet werden soll für die Mesh-Textur. Wenn die TextureId-Eigenschaft auf eine leere Stringgesetzt ist, wird keine Textur auf die Mesh angewendet.

Wie kann ich die Textur eines Meshes ändern?

Mit der Eigenschaftenkann die Textur eines Mesh geändert werden, ohne das Mesh erneut hochladen zu müssen. Um dies zu tun, muss ein neues Bild mit der gewünschten Textur auf Roblox hochgeladen werden. Um dies zu tun, kann die ursprüngliche Textur-Bilddatei mit dem in Roblox Studio verwendeten 'Export-Auswahl'-Option exportiert werden. Die Bilddatei wird neben der exportierten .obj-Datei gespeichert.

Die neue Textur kann dann als Decal auf Roblox hochgeladen werden, und ihre Inhalts-ID kann auf das Mesh mit der Eigenschaftenangewendet werden.

Wie kann ich ein Mesherstellen?

Ein Mesh kann nur mit Texturierungen versehen werden, wenn das Mesh mit einem UV-Kartengriff ausgerichtet wurde. Mit dem UV-Kartengriff wird die Praktikum dargestellt, eine Textur auf ein Mesh zu übertragen. Dies kann mit Roblox Studio nicht getan werden und muss mit einer externen 3D-Modellierungsanwendung wie Blender erfolgen.

Code-Beispiele

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

Methoden

Ereignisse