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 bağlı olduğu BasePart üzerine bir doku ağı uygulayacaktır. Onun özellikleri SpecialMesh nesnesine mirrörlenir.
FileMesh nedir?
FileMeshes, kullanıcı yüklenmiş meshaların bir BasePart uygulanmasına izin verir. Uygulanan mesha, FileMesh.MeshId özelliğine bağlıdır. Bir malzeme de bu mesha üzerine uygulanabilir mıknatıs kullanarak FileMesh.TextureId .
Abstrakt bir sınıf olmayan ve geliştiriciler tarafından kullanılabilen tüm FileMesh özellikleri SpecialMesh nesnine miras kalır. Bir SpecialMesh , 2>Class.SpecialMesh.MeshType</
Meshes'i kullanımı hakkında daha fazla bilgi için lütfen SpecialMesh sayfasını görün.
Kod Örnekleri
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österilecek olan meshinin içeriği ID'dir.
TextureId, uygulanacak tekstürün ID'si (meshesine)'dir.
Bir meshenin ofseti, meshenin gösterileceği BasePart.Position ile ilgili pozisyonu belirler.
Bir meshenin ölçeği, meshenin orijinal boyutlarına göre meskenin boyutunu belirler.
Bir meshenin dokusunun renkini FileMesh.TextureId ile kullanılan değiştirir.
Özellikler
MeshId
MeshId, gösterilecek olan meshinin içeriği ID'dir.
Bir meshes için bir içerik kimliği oluşturulur, bir geliştirici bir meshes'i Roblox web sitesine yüklediğinde.
Bir malzeme nasıl oluştururum?
Meshes şu anda yalnızca MeshParts veya varlık yöneticisi kullanılarak yüklenebilir. Yüklenmiş olsa bile, mesaş özellikleri için mesaş ID'si kullanılabilir. Ayrıntılar için, Meshes bakınız.
Kod Örnekleri
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 mesafe doku için uygulanacak resmin içeriği ID'dir. TextureId özelliği boş bir diziayarlandığında, mesafe doku için hiçbir dokunun uygulanmayacağından kaynaklanan bir hata olmaz.
Bir dokunun tekstürünü nasıl değiştirebilirim?
TexturId özelliğini kullanarak, bir meshenin tekstürü, meshenin yeniden yüklenmesi gerekmeden değiştirilebilir. Bunu yapmak için, meshenin istediği şekilde Roblox'a yüklenmesi gerekir. Bu, yapımızın Roblox Studio'da 'Dışa Aktar' seçeneğini kullanarak yüklenmesiyle sağlanabilir. Bu, yüklenen .obj dosyas
Yeni dokunun ardından Roblox'a bir Çıkartma olarak yeniden yüklenebilir ve TextureId özelliğini kullanarak mesheye uygulanabilir.
Nasıl kaynaklı bir malzeme oluşturabilirim?
Bir malzeme, kaynak ağının renkli olup olmadığına bağlı olarak renkli olabilir. Renkli olmak, bir malzeme haritasını bir malzeme üzerine proje etme pratiğine işaret eder. Bunu Roblox Studio kullanarak yapamazsınız ve bunu Blender gibi harici bir 3D modelleme uygulaması kullanarak yapmalısınız.
Kod Örnekleri
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