FileMesh
*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
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
MieszId to ID treści sieci, która ma być wyświetlona.
Texturę ID to ID zawartości tekstury, która zostanie zastosowana do siatki.
Odległość od BasePart.Position klasy BasePart określa pozycję względną od Class.BasePart, w której wyświetlana będzie siatka.
Skala siatki określa rozmiar siatki w stosunku do jej pierwotnych wymiarów.
Zmienia kolor tekstury sieci, używany z FileMesh.TextureId .
Właściwości
MeshId
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
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
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
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