FileMesh

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.

Vật thể FileMesh áp dụng một lưới có kết cấu cho một BasePart khi được cha chuộc vào nó. Các thuộc tính của nó được thừa hưởng bởi đối tượng SpecialMesh .

FileMesh là gì?

FileMeshes cho phép người dùng tải lưới lên được áp dụng vào một BasePart .Mesh được áp dụng phụ thuộc vào thuộc tính FileMesh.MeshId.Một kết cấu cũng có thể được áp dụng cho lưới này bằng cách sử dụng FileMesh.TextureId .

Mặc dù không phải là một lớp trừu tượng, và có thể được sử dụng bởi các nhà phát triển, tất cả các FileMesh tính chất được thừa hưởng bởi đối tượng SpecialMesh .Một SpecialMesh hành vi giống như đối tượng FileMesh khi được đặt thành SpecialMesh.MeshType FileMesh.Mặc dù cả hai đối tượng đều hoạt động, đối tượng SpecialMesh là lớp được hỗ trợ chính thức.

Để biết thêm thông tin về việc sử dụng khối, vui lòng xem trang SpecialMesh.

Mẫu mã

In this code sample a BasePart is instanced with a FileMesh. The DataModelMesh.Scale and DataModelMesh.Offset properties of the FileMesh are then animated using TweenService.

FileMesh Offset and Scale

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

Tóm Tắt

Thuộc Tính

  • MeshId:ContentId
    Đọc Song Song

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

  • TextureId:ContentId
    Đọc Song Song

    TextureId là ID nội dung của kết cấu sẽ được áp dụng cho lưới.

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

    Offset của một khối lượng quyết định vị trí tương đối từ BasePart.Position của một BasePart mà khối lượng sẽ được hiển thị tại.

  • Đọc Song Song

    Tỉ lệ của một khối lượng quyết định kích thước của khối lượng so với kích thước ban đầu của nó.

  • Đọc Song Song

    Thay đổi màu sắc của bề mặt khối lượng, được sử dụng với FileMesh.TextureId .

Thuộc Tính

MeshId

ContentId
Đọc Song Song

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

ID nội dung cho một khối lượng được tạo ra khi một nhà phát triển tải một khối lượng lên Roblox.

Mẫu mã

In this code sample a BasePart is instanced with a SpecialMesh. The DataModelMesh.VertexColor property of the SpecialMesh is then animated using TweenService.

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

TextureId

ContentId
Đọc Song Song

TextureId là ID nội dung của hình ảnh sẽ được áp dụng để sử dụng cho kết cấu lưới.Khi thuộc tính TextureId được đặt thành chuỗi trống, không có kết cấu nào được áp dụng cho lưới.

Làm thế nào tôi có thể thay đổi kết cấu của một khối lượng?

Sử dụng thuộc tính TextureId, bề mặt của một khối lưới có thể được thay đổi mà không cần phải tải lại khối lưới.Để làm điều này, hình ảnh mới sẽ cần được tải lên Roblox với kết cấu mong muốn.Tập tin hình ảnh kết cấu ban đầu có thể được lấy bằng cách xuất lưới bằng tùy chọn 'Xuất lựa chọn' trong Roblox Studio.Tập tin hình ảnh sẽ được lưu cùng với tập tin .obj xuất.

Kết cấu mới có thể được tải lại vào Roblox như một Decal và ID nội dung của nó có thể được áp dụng cho mesh bằng cách sử dụng thuộc tính TextureId.

Làm thế nào để tôi tạo một khối lưới có kết cấu?

Một khối lưới chỉ có thể được làm phẳng nếu khối lưới đã được đánh dấu UV.Bản đồ UV đề cập đến việc thực hành chiếu bản đồ kết cấu lên một khối lưới.Điều này không thể được thực hiện bằng Roblox Studio và phải được thực hiện bằng ứng dụng mô hình 3D bên ngoài như Blender.

Mẫu mã

In this code sample a BasePart is instanced with a SpecialMesh. The DataModelMesh.VertexColor property of the SpecialMesh is then animated using TweenService.

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