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

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österilecek olan meshinin içeriği ID'dir.

  • TextureId:ContentId
    Paralel oku

    TextureId, uygulanacak tekstürün ID'si (meshesine)'dir.

Şuradan alınan Özellikler: DataModelMesh

Özellikler

MeshId

ContentId
Paralel oku

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

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

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