FileMesh 對 BasePart 添加紋理網格,當它與它的父親聯繫時。它的屬性是由 SpecialMesh 對物件繼承。
什麼是 FileMesh?
FileMeshes 允許使用者上傳的網格應用到 BasePart 。網格應用由 FileMesh.MeshId 屬性決定。一個網格應用也可以使用 FileMesh.TextureId 來應用這個網格。
雖然它不是抽象類,並且可以由開發人員使用,但所有 FileMesh 物件性都是由 SpecialMesh 對象継承。 A SpecialMesh 與 2>Class.SpecialMesh.MeshType2> 設置為 "File
有關使用網格的更多資訊,請參閱 SpecialMesh 頁面。
範例程式碼
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()
概要
屬性
MeshId 是顯示網格的內容 ID。
TexturereId 是適用於網格的材質內容的 ID。
網格的 Offset 決定了網格在 BasePart.Position 的 BasePart 的相對位置。
網格的尺寸將網格的尺寸與原始尺寸相對。
使用 FileMesh.TextureId 與網格的紋理發生變化。
屬性
MeshId
MeshId 是顯示網格的內容 ID。
當開發者上傳網格到 Roblox 網站時,網格的內容 ID 會被生成。
我如何建立網格?
目前,網格只能使用 MeshParts 或資產管理器上傳。一旦上傳,網格內容的 ID 可以用於 MeshId 屬性。如需更多資訊,請參閱 Mesh。
範例程式碼
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
TexturereId 是用於添加網格結構的圖像的內容ID。當 TexturereId 屬性設為空字串時,不會對網格添加任何文字。
我如何可以改變網格的結構?
使用 TextureId 屬性,可以改變網格的材質,而不需要重新上傳網格。若要這麼做,新圖像需要上傳到 Roblox,並且使用 Roblox Studio 的「輸出選擇」選項來輸出所需的材紋理。原始材質圖像文件可以從 Roblox Studio 的「輸出選擇」選項中輸出。
新的材質可以再次上傳到 Roblox 作為裝飾,並且使用 TextureId 屬性對網格添加內容。
我如何才能做到網格結構?
網格只能以紋理模型來表示。 紋理模型 指的是在網格上添加紋理的做法。 此操作無法使用 Roblox Studio 執行,必須使用外部 3D 模型應用程式,例如 Blender 來執行。
範例程式碼
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