FileMesh

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Przedmiot FileMesh stosuje teksturową siatkę do BasePart , gdy jest z nim powiązany. Jego właściwości dziedziczone są przez obiekt SpecialMesh.

Co to jest FileMesh?

FileMeshes umożliwia użytkownikom wysłane siatki, aby zostać zastosowane do BasePart. Sieć, która jest zastosowana, zależy od właściwości FileMesh.MeshId. Texture można również zastosować do tej sieci używając FileMesh.TextureId.

Chociaż nie jest to abstrakcyjna klasa, a może być używany przez rozwiniętego, wszystkie FileMesh właściwości dziedziczą się przez obiekt SpecialMesh. A SpecialMesh zachowuje się identycznie z obiektem

Dla więcej informacji na temat używania siatek, zobacz stronę SpecialMesh.

Przykłady kodu

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

Podsumowanie

Właściwości

  • MeshId:ContentId
    Odczyt równoległy

    MieszId to ID treści sieci, która ma być wyświetlona.

  • TextureId:ContentId
    Odczyt równoległy

    Texturę ID to ID zawartości tekstury, która zostanie zastosowana do siatki.

Właściwości odziedziczeni z: DataModelMesh

Właściwości

MeshId

ContentId
Odczyt równoległy

MieszId to ID treści sieci, która ma być wyświetlona.

ID treści dla siatki jest generowane, gdy rozwinięty developer wysyłając siatkę na stronę Roblox.

Jak utworzyć siatkę?

Mesze można obecnie wysyłane tylko za pomocą MeshParts lub kierownika zasobów. Po wysłaniu jednak ID treści dla mesza można użyć do właściwości MeshId. Dla więcej informacji, zobacz Mesze.

Przykłady kodu

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
Odczyt równoległy

Texturę Id to ID zawartości obrazu, który ma być stosowany do tekstur mesz. Gdy właściwość Texturę Id jest ustawiona na pustą ciąg, tekstura nie zostanie zastosowana do mesz.

Jak mogę zmienić teksturę siatki?

Używając właściwości TextureId, tekstura sieci może być zmieniona bez konieczności ponownego wstawienia sieci. Aby to zrobić, nowy obraz będzie musiał zostać wysłany do Roblox Studioz pożądaną teksturą. Aby to zrobić, nowy plik tekstury będzie musiał zostać zapisany obok zapisu .obj eksportowanego.

Następnie nowy materiał można ponownie zaimportować do Roblox jako Zdjęcie i jego ID treści można zastosować do sieci używając właściwości TextureId.

Jak mogę zrobić teksturową siatkę?

Mieszka może być tylko teksturowana, jeśli mieszka została zeskanowana na UV. Mapowanie UV odnosi się do praktyki projektowania mapy tekstury na mieszce. Nie można tego zrobić używając Roblox Studio i musi być zrobione używając zewnętrznego aplikatu do modelowania 3D, takiego jak Blender .

Przykłady kodu

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

Metody

Zdarzenia