FileMesh

Artık kullanılmayanları göster

*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.

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

Özet

Özellikler

  • MeshId:ContentId
    Paralel oku

    MeshId, görüntülenmesi gereken meshenin içeriği ID'sidir.

  • TextureId:ContentId
    Paralel oku

    TextureId, meshe uygulanacak olan dokunun içeriği ID'sidir.

Şuradan alınan Özellikler: DataModelMesh
  • Paralel oku

    Bir mesanın ofseti, mesanın görüntüleneceği noktanın mutlak konumunu belirler.

  • Paralel oku

    Bir meshin ölçeği, orijinal boyutlarına göre meshin boyutunu belirler.

  • Paralel oku

    Bir mesh'in dokusunun tonunu değiştirir, FileMesh.TextureId ile kullanılır.

Özellikler

MeshId

ContentId
Paralel oku

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.

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
Paralel oku

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.

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

Yöntemler

Etkinlikler