DataModelMesh

顯示已棄用項目

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

無法建立
無法瀏覽

DataModelMesh 是一個抽象類,從它下面會降級網格類。

網格類是對,當與 BaseParts 親和時,改變零件的外觀變成預設網格的外觀。 注意,它們只會改變零件的外觀,而不是物理/碰撞界。發展人員想要對網格應用於零件,以便改變零件的碰撞界,應該使用 Class.MeshPart|MeshParts

注意 MeshPartCharacterMesh 類別不會從 DataModelMesh 減少。

概要

屬性

屬性

Offset

平行讀取

網格的 Offset 決定網格與顯示網格的 BasePart.Position 的距離。

如何使用網格偏移值

離移屬性改變網格會在何處顯示的相對位置。例如,離移 0, 5, 0 會導致網格在 BasePart 的位置上顯示 5 格。

Class.BasePart 的位置不會改變,這意味著零件的物理碰撞箱將會保持在同一位置。這是在下圖中的圖示,其中綠色偽裝 (a SelectionBox ) 顯示了 BasePart 的內容。

偏移值錯誤的其他使用

有一些有趣的使用網格偏移屬性。

  • Class.DataModelMesh.Scale 可以使用 TweenService 來在相對便宜的價格上動畫,因為引擎不需要進行任何物理/碰撞計算,因為 BasePart 不需要移動。
  • 變更網格和其衝突範圍之間的關係 (由 BasePart 決定)

範例程式碼

Mesh Offset and Scale

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.Parent = part
-- selection box to show part extents
local box = Instance.new("SelectionBox")
box.Adornee = part
box.Parent = part
-- parent part to workspace
part.Parent = workspace
-- animate offset and scale with a tween
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()

Scale

平行讀取

網格的尺寸將網格的尺寸與原始尺寸相對。

如何使用網格縮比例

鱗片屬性會因使用的網格類型而稍微不同。注意BasePart 的大小,這表示零件的物理衝突箱將會保持不變,即零件的物理學衝突盒會保持相同。

網格模型展示

以下示例圖像中可以看到上述行為。

對於「磚塊」、「楔子」和「球體」網格的零件尺寸進行相對線性調整。

適用於「FileMesh」網格的原始上傳網格的比例

「圓柱」網格的非對稱縮放

網格尺比例的其他用途

有一些有趣的使用網格偏移屬性。

  • DataModelMesh.OffsetTweenService 可以用於 BasePart 不需要進行任何物理/衝突計算,因為引擎不需要進行任何物理/衝突計算,因為 0> Class.BasePart0> 不需要變更。
  • 變更網格和其衝突範圍之間的關係 (由 BasePart 決定)

範例程式碼

Mesh Offset and Scale

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.Parent = part
-- selection box to show part extents
local box = Instance.new("SelectionBox")
box.Adornee = part
box.Parent = part
-- parent part to workspace
part.Parent = workspace
-- animate offset and scale with a tween
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()

VertexColor

平行讀取

顏色變更器 決定了 Texture 的顏色變更。注意,此屬性是 FileMesh 而不

雖然此屬性允許對紋理進行基本修改,但將材質變更完全提供更多控制。請參閱 MeshPart 以取得更多詳情。

方法

活動