EditableMesh
*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.
EditableMesh thay đổi lưới hình ảnh được áp dụng khi kết nối với một MeshPart , cho phép truy vấn và chỉnh sửa lưới cả trong Studio và trong trải nghiệm.
Một EditableMesh có thể được tạo từ một Content hiện có của một MeshPart hoặc một ID lưới bằng AssetService:CreateEditableMeshAsync() , hoặc một ID trống EditableMesh có thể được tạo với AssetService:CreateEditableMesh() .Sau đó, nó có thể được hiển thị, chỉnh sửa và mô hình va chạm của nó được cập nhật.Không phải tất cả các bước đều cần thiết; ví dụ, bạn có thể muốn tạo một EditableMesh chỉ để phát sóng mà không bao giờ hiển thị nó.
Một EditableMesh được hiển thị khi nó được liên kết với một MeshPart mới, thông qua AssetService:CreateMeshPartAsync() .Bạn có thể tạo thêm MeshPart các ví dụ tham chiếu cùng Class.EditableMesh``Datatype.Content , hoặc liên kết đến một đối tượng hiện có MeshPart thông qua MeshPart:ApplyMesh() .
Để tính toán lại va chạm và hình học chất lỏng sau khi chỉnh sửa, bạn có thể lại gọi AssetService:CreateMeshPartAsync() và MeshPart:ApplyMesh() để cập nhật một MeshPart hiện có.Nói chung, được khuyến khích làm điều này ở cuối một lần chỉnh sửa khái niệm, không phải sau các cuộc gọi riêng lẻ đến các phương pháp thao tác địa hình.Các thay đổi hình ảnh đến lưới sẽ luôn được phản ánh ngay lập tức bởi động cơ, mà không cần phải gọi AssetService:CreateMeshPartAsync() .
Bật EditableMesh cho các trải nghiệm đã xuất bản
Vì mục đích bảo mật, sử dụng EditableMesh không thành công mặc định đối với các trải nghiệm đã xuất bản.Để bật sử dụng, EditableMesh , bạn phải là 13+ tuổi được xác minh và ID được xác minh.Sau khi được xác minh, mở Cài đặt trò chơi của Studio, chọn Bảo mật , và bật chuyển công tắc Cho phép API khối và hình ảnh .Hãy nhớ xem xét các điều khoản sử dụng trước khi bật công tắc.
Quyền
Để ngăn chặn lạm dụng, AssetService:CreateEditableMeshAsync() chỉ cho phép bạn tải và chỉnh sửa tài nguyên khối lượng:
- Đó là sở hữu của người tạo ra trải nghiệm (nếu trải nghiệm được sở hữu bởi một cá nhân).
- Thuộc sở hữu của một nhóm (nếu trải nghiệm thuộc sở hữu của nhóm).
- Những người sở hữu bởi người dùng Studio đã đăng nhập (nếu tập tin chỗ chưa được lưu hoặc xuất bản vào Roblox).
Các API sẽ ném lỗi nếu chúng được sử dụng để tải một tài sản không đáp ứng các tiêu chí trên.
Khối lượng cố định Meshes
Khi tạo một EditableMesh từ một tài nguyên lưới hiện có (thông qua AssetService:CreateEditableMeshAsync() ), kết quả là lưới có kích thước cố định mặc định.Khối lượng cố định có hiệu quả hơn về bộ nhớ nhưng bạn không thể thay đổi số lượng cạnh, mặt hoặc thuộc tính.Chỉ các giá trị của điểm đỉnh và vị trí có thể được chỉnh sửa.
ID khối/mặt ổn định
Nhiều phương pháp EditableMesh nhận vertex , bình thường , UV , màu và khuôn mặt ID.Chúng được biểu diễn như số nguyên trong Luau nhưng chúng cần một số xử lý đặc biệt.Sự khác biệt chính là các ID ổn định và chúng vẫn giống nhau ngay cả khi các phần khác của lưới thay đổi.Ví dụ, nếu một EditableMesh có năm cạnh {1, 2, 3, 4, 5} và bạn xóa cạnh 4 , các cạnh mới sẽ là {1, 2, 3, 5} .
Lưu ý rằng các ID không được đảm bảo sẽ ở trong trật tự và có thể có các lỗ trong số đếm, vì vậy khi lặp qua các đỉnh hoặc mặt, bạn nên lặp qua bảng được trả về bởi GetVertices() hoặc GetFaces() .
Phân tách các thuộc tính Vertex
Một vertex là góc của một khuôn mặt, và kết nối topologically các khuôn mặt với nhau.Các đỉnh có thể có một số thuộc tính: vị trí, bình thường, phối hợp UV, màu sắc và độ trong suốt.
Đôi khi nó hữu ích cho tất cả các khuôn mặt tiếp xúc với một vértice để sử dụng cùng giá trị thuộc tính, nhưng đôi khi bạn sẽ muốn các khuôn mặt khác sử dụng các giá trị thuộc tính khác trên cùng một vértice.Ví dụ, trên một cạnh tròn mịn, mỗi cạnh chỉ có một bình thường.Ngược lại, ở góc của một khối, đỉnh sẽ có 3 độ bình thường khác nhau (một cho mỗi khuôn mặt liền kề).Bạn cũng có thể có các đường chỉnh sửa trong phối hợp UV hoặc những thay đổi sắc nét trong màu đỉnh.
Khi tạo khuôn mặt, mỗi đỉnh sẽ mặc định có một trong mỗi thuộc tính: một thường, một phối hướng UV và một màu/độ trong suốt.Nếu bạn muốn tạo một ranh giới, bạn nên tạo các thuộc tính mới và đặt chúng trên khuôn mặt.Ví dụ, mã này sẽ tạo một khối cạnh tròn:
local AssetService = game:GetService("AssetService")
-- Khi được cung cấp 4 ID đỉnh, thêm một đỉnh mới và 2 tam giác, tạo một cạnh bén
local function addSharpQuad(eMesh, vid0, vid1, vid2, vid3)
local nid = eMesh:AddNormal() -- Điều này tạo ra một ID bình thường được tính toán tự động
local fid1 = eMesh:AddTriangle(vid0, vid1, vid2)
eMesh:SetFaceNormals(fid1, {nid, nid, nid})
local fid2 = eMesh:AddTriangle(vid0, vid2, vid3)
eMesh:SetFaceNormals(fid2, {nid, nid, nid})
end
-- Tạo một khối với các cạnh bị méo giữa 6 bên
local function makeSharpCube()
local eMesh = AssetService:CreateEditableMesh()
local v1 = eMesh:AddVertex(Vector3.new(0, 0, 0))
local v2 = eMesh:AddVertex(Vector3.new(1, 0, 0))
local v3 = eMesh:AddVertex(Vector3.new(0, 1, 0))
local v4 = eMesh:AddVertex(Vector3.new(1, 1, 0))
local v5 = eMesh:AddVertex(Vector3.new(0, 0, 1))
local v6 = eMesh:AddVertex(Vector3.new(1, 0, 1))
local v7 = eMesh:AddVertex(Vector3.new(0, 1, 1))
local v8 = eMesh:AddVertex(Vector3.new(1, 1, 1))
addSharpQuad(eMesh, v5, v6, v8, v7) -- Phía trước
addSharpQuad(eMesh, v1, v3, v4, v2) -- Quay lại
addSharpQuad(eMesh, v1, v5, v7, v3) -- Bên trái
addSharpQuad(eMesh, v2, v4, v8, v6) -- Phải
addSharpQuad(eMesh, v1, v2, v6, v5) -- Ở đáy
addSharpQuad(eMesh, v3, v7, v8, v4) -- Trên cùng
eMesh:RemoveUnused()
return eMesh
end
Lượt vòng
Các khuôn mặt lưới có một mặt trước và một mặt sau.Khi vẽ khối, chỉ phần trước của khuôn mặt được vẽ mặc định, mặc dù bạn có thể thay đổi điều này bằng cách đặt tính chất khối DoubleSided của khối thành true .
Thứ tự của các đỉnh xung quanh khuôn mặt quyết định xem bạn đang nhìn vào phía trước hay phía quay lại.Phía trước của khuôn mặt có thể nhìn thấy khi các đỉnh đi ngược chiều xung quanh nó.

Hạn chế
EditableMesh hiện đang có giới hạn 60,000 vertex và 20,000 tam giác. Cố gắng thêm quá nhiều vertex hoặc tam giác sẽ gây ra lỗi.
Tóm Tắt
Thuộc Tính
Trả về true nếu một khối lưới có kích thước cố định.
Phương Pháp
Thêm một màu mới vào hình học và trả về ID màu ổn định.
Thêm một bình thường mới vào geometry và trả về một ID bình thường ổn định.
Thêm một tam giác mới vào lưới và trả về một ID khuôn mặt ổn định.
Thêm một UV mới vào geometry và trả về một ID UV ổn định.
Thêm một véx mới vào hình học và trả về một ID véx ổn định.
Phá hủy lưới.
Tìm điểm gần nhất trên bề mặt lưới.
Tìm vertex gần nhất đến một điểm cụ thể trong không gian.
Tìm tất cả các cạnh trong một phạm vi cụ thể.
Trả về một danh sách các khuôn mặt liền kề với một khuôn mặt nhất định.
Trả về một danh sách các vértice gần một vértice nhất định.
Trả về màu cho ID màu đã cho.
Trả về màu alpha (độ trong suốt) tại ID màu đã cho.
Trả lại tất cả các màu của lưới.
Trả ID màu của khuôn mặt cho các đỉnh trên khuôn mặt.
Trả về các ID bình thường của khuôn mặt cho các đỉnh trên khuôn mặt.
Trả về các ID UV của khuôn mặt cho các đỉnh trên khuôn mặt.
Trả về ID đỉnh của khuôn mặt.
Trả lại tất cả các khuôn mặt của lưới.
Trả về vector bình thường cho ID bình thường được cho.
Trả lại tất cả các bình thường của lưới.
Nhận vị trí của mộtvertex.
Trả về điểm tọa độ UV tại ID UV đã cho.
Trả lại tất cả UV của lưới.
Trả lại tất cả các cạnh là một danh sách các ID cạnh ổn định.
Trả về một chuỗi mô tả một ID ổn định, có ích cho mục đích gỡ lỗi.
Hợp nhất các vértice chạm vào nhau.
Loại bỏ một khuôn mặt bằng ID khuôn mặt ổn định của nó.
Loại bỏ tất cả các vertex chưa sử dụng, bình thường, UV và màu, và trả lại các ID bị xóa.
Đặt lại ID thường này để được tính toán tự động.
Đặt màu cho một ID màu.
Đặt màu alpha (độ trong suốt) cho một ID màu.
Đặt màu đỉnh của khuôn mặt vào các ID màu mới.
Đặt normals đỉnh của khuôn mặt vào các ID bình thường mới.
Đặt UV đỉnh của khuôn mặt vào ID UV mới.
Đặt các đỉnh của khuôn mặt vào các ID đỉnh mới.
Đặt bình thường cho một ID bình thường.
Đặt vị trívertex trong không gian đối tượng địa phương của lưới.
Đặt điểm tọa độ UV cho một ID UV.
Chia tất cả các khuôn mặt trên lưới thành tam giác.
Thuộc Tính
Phương Pháp
AddColor
Thêm một màu mới vào hình học và trả về ID màu ổn định.
Tham Số
Lợi Nhuận
ID màu ổn định của màu mới.
AddNormal
Thêm một giá trị bình thường mới vào hình học và trả về một ID bình thường ổn định. Nếu giá trị bình thường không được định nghĩa, bình thường sẽ được tính toán tự động.
Tham Số
Vectơ bình thường. Nếu giá trị bình thường không được định nghĩa, giá trị bình thường sẽ được tính toán tự động.
Lợi Nhuận
ID bình thường ổn định của bình thường mới.
AddTriangle
Thêm một tam giác mới vào lưới và trả về một ID khuôn mặt ổn định.
Tham Số
ID của đỉnh thứ nhất của tam giác.
ID của cạnh thứ hai của tam giác.
ID của cạnh thứ ba của tam giác.
Lợi Nhuận
ID khuôn mặt ổn định của khuôn mặt mới.
AddUV
Thêm một UV mới vào geometry và trả về một ID UV ổn định.
Tham Số
Phối tọa độ UV mới.
Lợi Nhuận
ID UV ổn định của UV mới.
AddVertex
Thêm một véx mới vào hình học và trả về một ID véx ổn định.
Tham Số
Vị trí trong không gian đối tượng địa phương của lưới.
Lợi Nhuận
ID đỉnh ổn định của đỉnh mới.
Destroy
Phá hủy nội dung của lưới, ngay lập tức lấy lại bộ nhớ đã sử dụng.
Lợi Nhuận
FindClosestPointOnSurface
Tìm điểm gần nhất trên bề mặt lưới.Trả về ID khuôn mặt, chỉ vào khối trong không gian đối tượng địa phương, và điểm tọa độ barycentric của vị trí trong khuôn mặt.Xem RaycastLocal() để có thêm thông tin về phối trí tọa độ.
Tham Số
Vị trí điểm trong không gian đối tượng địa phương của lưới.
Lợi Nhuận
Tuple của ID khuôn mặt, chỉ vào khối trong không gian đối tượng địa phương, và điểm tọa độ barycentric của vị trí trong khuôn mặt.
FindClosestVertex
Tìm vertex gần nhất đến một điểm cụ thể trong không gian và trả về một ID vertex ổn định.
Tham Số
Vị trí điểm trong không gian đối tượng địa phương của lưới.
Lợi Nhuận
ID đỉnh ổn định gần nhất đến điểm được chỉ định trong không gian.
FindVerticesWithinSphere
Tìm tất cả các cạnh trong một phạm vi cụ thể và trả về một danh sách các ID vertex ổn định.
Tham Số
Trung tâm của cầu trong không gian đối tượng địa phương của lưới.
Bán kính của cầu.
Lợi Nhuận
Danh sách các ID đỉnh ổn định trong phạm vi yêu cầu.
GetAdjacentFaces
Khi được cung cấp một ID khuôn mặt ổn định, trả về một danh sách các khuôn mặt liền kề.

Tham Số
Lợi Nhuận
Danh sách các ID khuôn mặt liền kề với khuôn mặt được cho.
GetAdjacentVertices
Khi được cung cấp một ID đỉnh ổn định, trả về một danh sách các đỉnh liền kề.

Tham Số
ID đỉnh xung quanh mà để lấy các đỉnh liền kề.
Lợi Nhuận
Danh sách các ID của các đỉnh liền kề xung quanh ID đỉnh đã cho.
GetColor
Trả về màu cho ID màu đã cho.
Tham Số
ID màu để có được màu.
Lợi Nhuận
Màu cho ID màu ổn định được yêu cầu.
GetColorAlpha
Trả về màu alpha (độ trong suốt) tại ID màu ổn định đã cho.
Tham Số
ID màu để có được alpha.
Lợi Nhuận
Alpha màu tại ID màu ổn định yêu cầu.
GetColors
Trả lại tất cả các màu của mesh như một danh sách các ID màu ổn định.
Lợi Nhuận
Danh sách các ID màu ổn định.
GetFaceColors
Trả ID màu của khuôn mặt cho các đỉnh trên khuôn mặt.
Tham Số
ID khuôn mặt để có được các ID màu.
Lợi Nhuận
Danh sách ID màu được sử dụng cho các đỉnh trên khuôn mặt được cho.
GetFaceNormals
Trả về các ID bình thường của khuôn mặt cho các đỉnh trên khuôn mặt.
Tham Số
ID khuôn mặt để có được các ID bình thường.
Lợi Nhuận
Danh sách ID bình thường được sử dụng cho các đỉnh trên khuôn mặt được cho.
GetFaceUVs
Trả về các ID UV của khuôn mặt cho các đỉnh trên khuôn mặt.
Tham Số
ID khuôn mặt để có được các ID UV.
Lợi Nhuận
Danh sách các ID UV được sử dụng cho các đỉnh trên khuôn mặt được cho.
GetFaceVertices
Trả về ID đỉnh của khuôn mặt.
Tham Số
Lợi Nhuận
Danh sách các ID đỉnh xung quanh khuôn mặt được cho.
GetFaces
Trả lại tất cả các khuôn mặt của lưới như một danh sách các ID khuôn mặt ổn định.
Lợi Nhuận
Danh sách ID khuôn mặt ổn định.
GetNormal
Trả về vector bình thường cho ID bình thường được cho.
Tham Số
ID bình thường để có được vector bình thường.
Lợi Nhuận
Vector bình thường tại ID bình thường được yêu cầu.
GetNormals
Trả lại tất cả các bình thường của lưới như một danh sách các ID bình thường ổn định.
Lợi Nhuận
Danh sách ID bình thường ổn định.
GetPosition
Nhận vị trí của mộtvertex trong không gian đối tượng địa phương của lưới.
Tham Số
ID đỉnh ổn định để lấy vị trí.
Lợi Nhuận
Vị trí của mộtvertex trong không gian đối tượng địa phương của lưới.
GetUV
Trả về điểm tọa độ UV tại ID UV đã cho.
Tham Số
ID UV để có được điểm tọa độ UV.
Lợi Nhuận
Vị trí UV tại ID UV được yêu cầu.
GetUVs
Trả lại tất cả UV của lưới như một danh sách các ID UV ổn định.
Lợi Nhuận
Danh sách các ID UV ổn định.
GetVertexFaceColor
Tham Số
Lợi Nhuận
GetVertexFaceNormal
Tham Số
Lợi Nhuận
GetVertexFaceUV
Tham Số
Lợi Nhuận
GetVertices
Trả lại tất cả các cạnh là một danh sách các ID cạnh ổn định.
Lợi Nhuận
Danh sách ID đỉnh ổn định.
IdDebugString
Trả về một chuỗi mô tả một ID ổn định, hữu ích cho mục đích gỡ lỗi, như f17 hoặc v12 , chứa đánh máy, số ID và phiên bản.
Tham Số
ID để trả về chuỗi thông tin gỡ lỗi.
Lợi Nhuận
Chuỗi mô tả ID trong định dạng có thể đọc được bởi con người.
MergeVertices
Hợp nhất các đỉnh tiếp xúc với nhau, để sử dụng một ID đỉnh duy nhất nhưng giữ các ID thuộc tính ban đầu khác.
Tham Số
Khoảng cách mà các đỉnh được coi là chạm vào nhau.
Lợi Nhuận
Một bản đồ của ID đỉnh cũ sang ID đỉnh mới cho các đỉnh đã được hợp nhất.
RaycastLocal
Phát ra một tia và trả về một điểm giao lộ, ID khuôn mặt và điểm tọa độ barycentric.Các đầu vào và đầu ra của phương pháp này nằm trong không gian đối tượng địa phương của lưới.
Một điểm barycentric là một cách để xác định một điểm trong khuôn mặt như một kết hợp trọng lượng của 3 đỉnh của khuôn mặt.Điều này hữu ích như một cách chung để kết hợp các thuộc tính vertex.Xem ví dụ mã của phương pháp này như một minh họa.
Tham Số
Nguồn của tia trong không gian đối tượng địa phương của lưới.
Hướng của tia.
Lợi Nhuận
Tuple của điểm giao lộ, ID khuôn mặt, và điểm tọa độ barycentric.
Mẫu mã
This code finds the position and UV coordinates of the closest point on an EditableMesh to the input point.
local AssetService = game:GetService("AssetService")
-- Initialize EditableMesh in space
local editableMesh = nil
local success, errorMsg = pcall(function()
editableMesh = AssetService:CreateEditableMeshAsync(Content.fromUri("rbxassetid://ASSET_ID"))
end)
local meshPart = nil
if success and editableMesh then
meshPart = AssetService:CreateMeshPartAsync(
Content.fromObject(editableMesh),
{ CollisionFidelity = Enum.CollisionFidelity.Hull }
)
meshPart.Parent = workspace
else
print(errorMsg)
end
local function castRayFromCamera(position)
if not meshPart then
return
end
-- Create ray from camera along the direction of a clicked point
local camera = workspace.CurrentCamera
local ray = camera:ScreenPointToRay(position.X, position.Y)
-- Convert to object space to use with RaycastLocal()
local relativeOrigin = meshPart.CFrame:PointToObjectSpace(ray.Origin)
local relativeDirection = meshPart.CFrame:VectorToObjectSpace(ray.Direction)
local triangleId, point, barycentricCoordinate
triangleId, point, barycentricCoordinate = editableMesh:RaycastLocal(relativeOrigin, relativeDirection * 100)
if not triangleId then
-- Didn't hit any triangles
return
end
-- Interpolate UVs within the triangle
local vert1, vert2, vert3 = editableMesh:GetTriangleVertices(triangleId)
local uv0 = editableMesh:GetUV(vert1)
local uv1 = editableMesh:GetUV(vert2)
local uv2 = editableMesh:GetUV(vert3)
local u = (barycentricCoordinate.x * uv0.x) + (barycentricCoordinate.y * uv1.x) + (barycentricCoordinate.z * uv2.x)
local v = (barycentricCoordinate.x * uv0.y) + (barycentricCoordinate.y * uv1.y) + (barycentricCoordinate.z * uv2.y)
return Vector2.new(u, v)
end
RemoveFace
Loại bỏ một khuôn mặt bằng ID khuôn mặt ổn định của nó.
Tham Số
Lợi Nhuận
RemoveUnused
Loại bỏ tất cả các cạnh, bình thường, UV và màu không được sử dụng trong bất kỳ khuôn mặt nào, và trả lại các ID bị xóa.
Lợi Nhuận
Tất cả các ID ổn định bị xóa.
ResetNormal
Đặt lại ID bình thường này để được tính toán tự động dựa trên hình dạng của lưới, thay vì được cài đặtbằng tay.
Tham Số
ID bình thường ổn định để trả về mặc định.
Lợi Nhuận
SetBoneCFrame
Tham Số
Lợi Nhuận
SetBoneIsVirtual
Tham Số
Lợi Nhuận
SetBoneParent
Tham Số
Lợi Nhuận
SetColor
Đặt màu cho một ID màu.
Tham Số
ID màu ổn định để đặt màu.
Màu để cài đặt.
Lợi Nhuận
SetColorAlpha
Đặt màu alpha (độ trong suốt) cho một ID màu.
Tham Số
ID màu ổn định để đặt alpha màu.
Alpha để cài đặt.
Lợi Nhuận
SetFaceColors
Đặt màu đỉnh của khuôn mặt vào các ID màu mới.
Tham Số
ID khuôn mặt để cập nhật màu cạnh.
Danh sách các ID màu ổn định mới để sử dụng cho các đỉnh của khuôn mặt đã cho.
Lợi Nhuận
SetFaceNormals
Đặt normals đỉnh của khuôn mặt vào các ID bình thường mới.
Tham Số
ID khuôn mặt để cập nhật bình thường đỉnh.
Danh sách các ID bình thường mới ổn định để sử dụng cho các đỉnh của khuôn mặt đã cho.
Lợi Nhuận
SetFaceUVs
Đặt UV đỉnh của khuôn mặt vào ID UV mới.
Tham Số
ID khuôn mặt để cập nhật vertex UV.
Danh sách các ID UV ổn định mới để sử dụng cho các đỉnh của khuôn mặt đã cho.
Lợi Nhuận
SetFaceVertices
Đặt các đỉnh của khuôn mặt vào các ID đỉnh mới.
Tham Số
ID khuôn mặt để cập nhật các đỉnh.
Danh sách các ID đỉnh ổn định mới để sử dụng cho khuôn mặt đã cho.
Lợi Nhuận
SetFacsBonePose
Tham Số
Lợi Nhuận
SetFacsCorrectivePose
Tham Số
Lợi Nhuận
SetFacsPose
Tham Số
Lợi Nhuận
SetNormal
Đặt giá trị bình thường cho một ID bình thường. Điều này sẽ thay đổi giá trị bình thường cho mỗi đỉnh mặt đang sử dụng ID bình thường.
Tham Số
ID bình thường ổn định để đặt vector bình thường.
Vector bình thường để cài đặt.
Lợi Nhuận
SetPosition
Đặt vị trívertex trong không gian đối tượng địa phương của lưới.
Tham Số
ID đỉnh ổn định của đỉnh đến vị trí.
Vị trí trong không gian đối tượng địa phương của lưới.
Lợi Nhuận
SetUV
Đặt điểm tọa độ UV cho một ID UV.
Tham Số
ID UV để đặt các điểm tọa độ UV.
Phối hướng UV.
Lợi Nhuận
SetVertexBoneWeights
Tham Số
Lợi Nhuận
SetVertexBones
Tham Số
Lợi Nhuận
SetVertexFaceColor
Tham Số
Lợi Nhuận
SetVertexFaceNormal
Tham Số
Lợi Nhuận
SetVertexFaceUV
Tham Số
Lợi Nhuận
Triangulate
Chia tất cả các khuôn mặt trên lưới thành tam giác.Hiện tại nó không làm gì vì chỉ có tam giác có thể được tạo, nhưng nếu mã của bạn dựa vào tam giác, thì được khuyến khích bạn gọi phương pháp này sau khi gọi AssetService:CreateEditableMeshAsync() .