FileMesh
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
FileMesh nesnesi, ona ebeveyn olarak atandığında dokulu bir meshe uygular. Özellikleri nesnesi tarafından miras alınır.
Bir FileMesh nedir?
FileMeshlar, kullanıcının yüklediği çizimlerin bir BasePart 'ye uygulanmasına izin verir.Uygulanan çerçeve, FileMesh.MeshId özelliğine bağlıdır.Bir doku, bu çerçeveye FileMesh.TextureId kullanarak da uygulanabilir.
Soyut bir sınıf olmasa da, geliştiriciler tarafından kullanılabilir ve tüm FileMesh özellikler miras alınır SpecialMesh nesne tarafından.Bir , dosya meshesi olarak ayarlanırsa FileMesh nesnesine benzer şekilde davranır.Her iki nesne de işlevsel olmasına rağmen, SpecialMesh nesnesi resmi desteklenen sınıftır.
Daha fazla bilgi için meshelerin kullanımı hakkında, lütfen SpecialMesh sayfasına bakın.
Kod Örnekleri
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.
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()
Özet
Özellikler
MeshId, görüntülenmesi gereken meshenin içeriği ID'sidir.
TextureId, meshe uygulanacak olan dokunun içeriği ID'sidir.
Bir mesanın ofseti, mesanın görüntüleneceği noktanın mutlak konumunu belirler.
Bir meshin ölçeği, orijinal boyutlarına göre meshin boyutunu belirler.
Bir mesh'in dokusunun tonunu değiştirir, FileMesh.TextureId ile kullanılır.
Özellikler
MeshId
MeshId, görüntülenmesi gereken meshenin içeriği ID'sidir.
Bir mesh'in içeriği kimliği, bir geliştirici bir meshi Roblox'a yüklediğinde oluşturulur.
Kod Örnekleri
In this code sample a BasePart is instanced with a SpecialMesh. The DataModelMesh.VertexColor property of the SpecialMesh is then animated using TweenService.
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
TextureId, kullanılan malzeme dokusu için uygulanacak görüntünün içeriği ID'sidir.TextureId özelliği boş bir diziayarlanırsa, dokuya hiçbir doku uygulanmayacaktır.
Bir mesh'in dokusunu nasıl değiştirebilirim?
TextureId özelliğini kullanarak, bir mesh'in dokusu, meshi yeniden yüklemeden değiştirilebilir.Bunu yapmak için, istenen dokuyla Roblox'a yeni bir görüntü yüklenmesi gerekecek.Orijinal doküman görüntüsü dosyası, Roblox Studio'daki "İhracat Seçimi" seçeneği kullanılarak çıkarılarak elde edilebilir.Resim dosyası, ihraç edilen .obj dosyasının yanında kaydedilecektir.
Yeni dokunun ardından Roblox'a bir çıkartma olarak yeniden yüklenebilir ve içeriğinin ID'si, TextureId özelliğini kullanarak meshe uygulanabilir.
Nasıl dokulu bir çerçeve oluşturabilirim?
Bir mesh yalnızca UV haritalanmışsa dokulu olabilir.UV haritalama, bir dokuma üzerine bir dokuma haritası projekte etme pratiğine işaret eder.Bu, Roblox Studio kullanılarak yapılamaz ve Blender gibi dışarıdan 3B modelleme uygulaması kullanılarak yapılmalıdır.
Kod Örnekleri
In this code sample a BasePart is instanced with a SpecialMesh. The DataModelMesh.VertexColor property of the SpecialMesh is then animated using TweenService.
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