FileMesh
*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
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 adalah ID konten dari mesh yang akan ditampilkan.
TexturId adalah ID konten dari teksur yang akan diterapkan ke mesh.
Offset dari mesh menentukan posisi relatif dari BasePart.Position dari BasePart yang akan ditampilkan.
Skala mesh menentukan ukuran mesh relatif terhadap dimensi aslinya.
Mengubah warna tekstur mesh, digunakan dengan FileMesh.TextureId .
Properti
MeshId
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
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
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
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