SpecialMesh

Hiển Thị Bản Đã Lỗi Thời

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Đối tượng SpecialMesh ứng dụng một lưới cho một BasePart để tùy thuộc vào đặ性 MeshType đó. Một số lựa chọn có sẵn.

  • Gạch - Một hình dạng khối, tương đương với một BlockMesh
  • Trụ tròn - Một trụ tròn, giống như một Part với một Part.Shape của 'Trụ tròn'
  • FileMesh - Một người đã tải Mesh, tương đương với FileMesh mà một texture có thể được áp dụng bằng cách sử dụng thuộc tính FileMesh.TextureId
  • Đầu - Một hình dạng đầu nhân vật
  • Hình viên bi - Một hình viên bi, tương tự như một Part với một Part.Shape của 'Ball' nhưng có thể được thay đổi tự do trên tất cả các trục
  • Hình cầu nhọn - Hình dạng cầu nhọn, giống như một WedgePart
  • Torso - Một khối với các bên dối, do đó bị lỗi

Lưu ý, mỗi SpecialMesh.MeshType sẽ thay đổi kích thước khi sử dụng DataModelMesh.Scale, cho thêm thông tin về điều này xin vui lòng tham khảo trang trên DataModelMesh.Scale. Ống đặc biệt 2>Class.DataModelMesh.MeshType

Điều quan trọng là phải nhớ rằng khi sử dụng một SpecialMesh, chỉ có vẻ ngoài của một phần mới thay đổi. Mô hình va chạm của phần vẫn giữ nguyên. Ví dụ, một nhân vật sẽ không thể đi bộ đúng trên một lưới khi geometri lưới không được xem tài khoản.

SpecialMesh vs MeshPart

Hiện tại có hai cách để sử dụng một mô hình người dùng đã tạo. Họ đang sử dụng một SpecialMesh với SpecialMesh.FileType đặt là 'FileMesh', hoặc bằng cách sử dụng một MeshPart . Mặc dù, trên tổng thể, mô hì

  • BasePart.Material hiển thị đúng trên mặt lưới khi sử dụng một MeshPart và không khi sử dụng một SpecialMesh
  • MeshParts bao gồm thuộc tính MeshPart.CollisionFidelity có nghĩa là mô hình va chạm của một MeshPart có thể được thiết lập để giống với geometri của một 0> Class.MeshPart0>
  • Lưới của một MeshPart lưu trên tất cả các trục tùy thuộc vào Size 속性 của MeshPart, lưới của một SpecialMesh không lưu
  • Đối tượng SpecialMesh bao gồm các OffsetScale속性 trong khi MeshParts không
  • Thuộc tính MeshId của một SpecialMesh có thể được thay đổi bởi một Script hoặc 1> Class.LocalScript1> trong khi chạy. Thuộc tính <

Mẫu mã

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

Tóm Tắt

Thuộc Tính

Thuộc Tính kế thừa từ FileMesh
  • MeshId:ContentId
    Đọc Song Song

    MeshId là ID nội dung của mesh để được hiển thị.

  • TextureId:ContentId
    Đọc Song Song

    Texturoid là ID nội dung của text được ứng dụng vào mạng lưới.

Thuộc Tính kế thừa từ DataModelMesh
  • Đọc Song Song

    Sự thiếu hụt của một máy chủ làm cho nó không thể hiển thị các thành phần của một hình ảnh.

  • Đọc Song Song

    Kích thước của một mạng lưới xác định kích thước của mạng lưới so với các kích thước gốc của nó.

  • Đọc Song Song

    Đổi màu của một mảnh vải của một lưới, sử dụng với FileMesh.TextureId .

Thuộc Tính

Đọc Song Song

Lưới định hướng mà đối tượng SpecialMesh áp dụng cho BasePart phụ thuộc vào thuộc tính MeshType. Một số lựa chọn có sẵn.

  • Gạch - Một hình dạng khối, tương đương với một BlockMesh
  • Trụ tròn - Một trụ tròn, giống như một Part với một Part.Shape của 'Trụ tròn'
  • FileMesh - Một người đã tải Mesh, tương đương với FileMesh mà một texture có thể được áp dụng bằng cách sử dụng thuộc tính FileMesh.TextureId
  • Đầu - Một hình dạng đầu nhân vật
  • Hình viên bi - Một hình viên bi, tương tự như một Part với một Part.Shape của 'Ball' nhưng có thể được thay đổi tự do trên tất cả các trục
  • Hình cầu nhọn - Hình dạng cầu nhọn, giống như một WedgePart
  • Torso - Một khối với các bên dối, do đó bị lỗi

Lưu ý, mỗi MeshType sẽ thay đổi kích thước khi sử dụng DataModelMesh.Scale, cho thêm thông tin về điều này, vui lòng xem trang trên DataModelMesh.Scale .

Mẫu mã

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

Phương Pháp

Sự Kiện