DataModelMesh
*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.
DataModelMesh là một class抽象 từ đó các lớp lưới xuống.
Lớp Mesh là những đối tượng được định nghĩa là BaseParts thay đổi những khu vực của bộ phận để trở thành những khu vực của một lưới định dạng trước đã định dạng. Ghi chú, chúng ch
Ghi chú MeshPart và CharacterMesh lớp không thuộc DataModelMesh.
Tóm Tắt
Thuộc Tính
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.
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ó.
Đổ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
Offset
Sự thừa khứu của một hình ảnh xác định khoảng cách từ BasePart.Position của một hình ảnh BasePart mà màn hình sẽ được hiển thị.
Làm thế nào để sử dụng Offset Mesh
Thuộc tính Offset thay đổi vị trí tương đối mà lưới sẽ được hiển thị. Ví dụ, một khoảng cách 0, 5, 0 sẽ khiến lưới được hiển thị 5 studs trên vị trí của BasePart .
Vị trí của BasePart vẫn giữ nguyên, có nghĩa là hộp va chạm vật lý của bộ phận sẽ ở cùng một vị trí. Điều này được minh họa bằng hình ảnh bên dưới, nơi kết cấu xanh lá cây (một SelectionBox ) hiển thị
Các mục khác cho thước dẫn độ
Có một số mục đích thú vị cho thuộc tính màn lưới khiến cho nó trở nên hấp dẫn hơn.
- Offset và DataModelMesh.Scale có thể được hoạt họa bằng cách sử dụng TweenService một cách rẻ tiền khi động cơ không cần phải thực hiện bất kỳ lượng phép lạm dày/va chạm nào như BasePart không được di chuyển.
- Đổi mối quan hệ giữa meshes và vùng va chạm của nó (được xác định bởi BasePart )
Mẫu mã
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
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ách sử dụng thước đo lưới
Độ lượng thước đo hoạt động như một mô hình nhỏ hơn tùy thuộc vào loại lưới được sử dụng. Lưu ý rằng kích thước của Class.BasePart vẫn giữ nguyên, có nghĩa là hộp va chạm vật lý của bộ phận sẽ vẫn giữ nguyên.
- SpecialMesh đối tượng với SpecialMesh.FileType được đặt vào 'FileMesh' mà khi được tải lên Roblox
- BlockMesh đối tượng hoặc SpecialMesh đối tượng với SpecialMesh.FileType được đặt để 'Brick', 'Wedge' hoặc 'Sphere' theo tỷ lệ thống nhất so với 0> Class.BasePart.Size0> của cha mẹ
- CylinderMesh đối tượng hoặc SpecialMesh đối tượng với SpecialMesh.FileType được đặt trên 'Cylinder' để thay đổi chiều cao của họ 0> Class.BasePart.Size
- SpecialMesh đối tượng với SpecialMesh.FileType được đặt để 'Head' hiện tại thu nhỏ trong cách thức không thông thường. Các nhà phát triển không nên dựa vào đây như một kế hoạch để thay đổi hành vi này
- SpecialMesh đối tượng với SpecialMesh.FileType được đặt vào 'Torso' skala theo cách không thông thường. Các nhà phát triển không nên sử dụng này như kế hoạch để deprecate đánh máylưới này.
Biểu tình thước đo Mesh
Hành vi trên có thể được thấy trong các hình ảnh minh họa dưới đây.
Điều chỉnh dòng theo kích thước của bộ phận cho "Gạch", "Góc" và "Quả cầu" lưới.
Điều chỉnh dòng theo mạng lưới gốc đã tải cho 'FileMesh'
Không đồng nhất hóa việc thiết lập màu đo cho 'Cylinder'
Các mục khác cho màn hình lưới
Có một số mục đích thú vị cho thuộc tính màn lưới khiến cho nó trở nên hấp dẫn hơn.
- DataModelMesh.Offset và Scale có thể được hoạt hóa bằng cách sử dụng TweenService một cách rẻ tiền khi động cơ không cần phải thực hiện bất kỳ lượng tính toán vật lý / va chạm nào như BasePart không được thay đổi.
- Đổi mối quan hệ giữa meshes và vùng va chạm của nó (được xác định bởi BasePart )
Mẫu mã
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()