FileMesh

Tampilkan yang Tidak Digunakan Lagi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Objek FileMesh menerapkan meshes bertekstur ke BasePart ketika diwarisi ke itu. Propietasnya diwarisi oleh objek SpecialMesh.

Apa itu FileMesh?

FileMeshes memungkinkan pengguna mengunggah meshes untuk diterapkan ke Class.BasePart . Mesh yang diterapkan bergantung pada propinsi BasePart. Textur dapat juga diterapkan ke meshes ini menggunakan FileMesh.MeshId .

Meskipun bukan kelas abstrak, dan dapat digunakan oleh pengembang, semua FileMesh属性 diwarisi oleh objek SpecialMesh . A SpecialMesh berperilaku sama dengan objek FileMesh ketika 2>Class.SpecialMesh

Untuk lebih banyak informasi tentang menggunakan meshes, silakan lihat halaman SpecialMesh.

Contoh Kode

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

Rangkuman

Properti

  • MeshId:ContentId
    Baca Paralel

    MeshId adalah ID konten dari mesh yang akan ditampilkan.

  • TextureId:ContentId
    Baca Paralel

    TexturId adalah ID konten dari teksur yang akan diterapkan ke mesh.

Properti diwarisi dari DataModelMesh

Properti

MeshId

ContentId
Baca Paralel

MeshId adalah ID konten dari mesh yang akan ditampilkan.

ID konten untuk mesh dihasilkan ketika seorang pengembang mengunggah mesh ke situs web Roblox.

Bagaimana saya membuat mesh?

Meshes saat ini hanya dapat diunggah menggunakan MeshParts atau manajer aset. Setelah diunggah, ID konten untuk meshes dapat digunakan untuk properti MeshId. Untuk informasi lebih lanjut, lihat Meshes.

Contoh Kode

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

Textur adalah ID konten gambar yang akan diterapkan ke meshes tekstur. Saat property Textur diatur ke string kosong, tidak ada teksur yang diterapkan ke meshes.

Bagaimana cara mengubah tekstur meshes?

Menggunakan property TextureId, tekstur dari mesh dapat diubah tanpa harus mengunggah ulang mesh. Untuk melakukan ini, gambar baru akan perlu diunggah ke Roblox Studiodengan tekstur yang diinginkan. Untuk melakukan ini, file gambar akan disimpan bersama dengan file .obj yang diunggah.

Teks baru dapat kemudian diunggah kembali ke Roblox sebagai Decal dan ID kontennya dapat diterapkan ke mesin pengapung menggunakan property TextureId.

Bagaimana cara membuat meshes bertekstur?

Sebuah mesh hanya dapat di tekstur jika mesh telah di map UI. Peta UI mengacu pada praktik menyetel peta tekstur ke dalam mesh. Ini tidak dapat dilakukan menggunakan Roblox Studio dan harus dilakukan menggunakan aplikasi pemodelan 3D eksternal seperti Blender .

Contoh Kode

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

Metode

Acara