Với tính năng tạo tài sản trong trò chơi, bạn có thể cho phép người dùng lưu những sáng tạo mà họ đã tạo ra trong trò chơi của bạn vào kho đồ của mình. Người dùng của bạn có thể sử dụng những sáng tạo này trong trò chơi giống như bất kỳ tài sản nào khác. Thêm vào đó, những sáng tạo này sẽ được gán cho trò chơi của bạn khi hiển thị trên nền tảng Roblox, vì vậy bất kỳ người dùng nào cũng có thể sử dụng liên kết gán để đến trò chơi của bạn và tạo cho riêng mình.
Ví dụ, bạn có thể cho phép người dùng tạo ra những sinh vật tùy chỉnh làm thú cưng trong trò chơi của bạn, và cho phép họ lưu những thú cưng yêu thích của mình vào kho đồ. Bạn có toàn quyền xác định những đối tượng nào mà người dùng có thể sửa đổi và lưu từ trò chơi của bạn. Người dùng có thể hiển thị những sáng tạo của họ trên hồ sơ của họ với sự ghi nhận cho trò chơi của bạn, từ đó tăng cường sự hiển thị cho trò chơi của bạn.
Các loại tài sản được hỗ trợ và giới hạn
Giống như tất cả các tài sản trên nền tảng, những sáng tạo trong trò chơi phải tuân theo quy trình kiểm duyệt tài sản. Hiện tại, bạn chỉ có thể cho phép người dùng tạo gói từ trò chơi của bạn. Những gói này không thể chứa bất kỳ script hoặc tài sản riêng tư nào, chẳng hạn như âm thanh, video và các gói lồng ghép. Nếu hệ thống phát hiện script hoặc tài sản riêng tư trong một gói có thể được lưu bởi người dùng, nó sẽ chặn hành động lưu trong trò chơi bằng cách ẩn hộp thoại lưu cho người dùng.
Khi bạn đang chạy hoặc thử nghiệm trò chơi của mình và thêm script hoặc tài sản riêng tư như một phần của một sáng tạo trong trò chơi, nó sẽ không thể lưu và sẽ hiển thị thông báo lỗi đến cửa sổ Output của Studio hoặc Developer Console.
Bật tính năng tạo tài sản trong trò chơi
Để bật tính năng tạo tài sản trong trò chơi cho người dùng của bạn, hãy sử dụng phương thức API AssetService:PromptCreateAssetAsync() trong một script phía máy chủ, cùng với logic tạo khác. Xác định những đối tượng nào trong trò chơi của bạn mà bạn muốn bật tính năng này, thiết lập một nút kích hoạt tùy chỉnh (chẳng hạn như biểu tượng giao diện) để gọi phương thức, và lắng nghe các sự kiện từ xa của khách hàng để lưu tài sản.
AssetService:PromptCreateAssetAsync() có các tham số sau:
- Một đối tượng Player đại diện cho người dùng gửi yêu cầu tạo tài sản.
- Một đối tượng Instance đại diện cho tài sản để tạo.
- Enum.AssetType, hiện tại bị giới hạn ở Enum.AssetType.Model.
Khi máy chủ gọi AssetService:PromptCreateAssetAsync(), nó sẽ yêu cầu một hộp thoại Gửi Gói trên client, để người dùng kích hoạt hành động lưu có thể nhập tên và mô tả cho gói. Roblox cung cấp giao diện hộp thoại sẵn có, vì quy trình lưu là một tính năng ở cấp nền tảng.
Ví dụ về script phía máy chủ sau đây yêu cầu người dùng lưu một chiếc xe mà họ sơn trong trò chơi:
-- Định nghĩa biến AssetService
local AssetService = game:GetService("AssetService")
-- Thiết lập PromptCreateAssetAsync() để yêu cầu hộp thoại gửi
local function CreateAsset(player, instance)
local complete, result, assetId = pcall(function()
return AssetService:PromptCreateAssetAsync(player, instance, Enum.AssetType.Model)
end)
if complete then
if result == Enum.PromptCreateAssetResult.Success then
print("Tải lên thành công, AssetId:", assetId)
else
print("Nhận kết quả", result)
end
else
print("Lỗi")
print(result)
end
end
-- Logic sơn xe đã bị bỏ qua
-- Thêm một trình xử lý sự kiện
local function onUserPublish(player, promptObject)
-- Người dùng lưu đối tượng xe với màu mặc định của trò chơi
if promptObject.Name == "car" then
CreateAsset(player, car)
elseif promptObject.Name == "CarPaintYellow" or promptObject.Name == "CarPaintBlue" or promptObject.Name == "CarPaintBlack" or promptObject.Name == "CarPaintRed" then
PaintCarColor(promptObject.Name)
end
end
PublishEvent.OnServerEvent:Connect(onUserPublish)Demo Arena Tạo Trong Trải Nghiệm trình diễn một ví dụ về cách bạn có thể sử dụng tính năng này. Bạn có thể tham gia demo để bước qua quy trình tạo tài sản trong trò chơi như một người dùng, hoặc chỉnh sửa địa điểm trong Studio để tham chiếu đến thiết kế.
Sau khi tạo và ghi nhận
Sau khi người dùng tạo và lưu một tài sản từ trò chơi của bạn, họ có thể tìm thấy nó tại các địa điểm sau:
- Trang Kho đồ của tôi.
- Tab Sáng tạo trong trang Hồ sơ của họ.
- Tab Kho đồ của họ Toolbox trong Studio.
Khi người dùng thấy những sáng tạo trong trò chơi trên hồ sơ hoặc kho đồ của bạn bè họ, họ sẽ thấy gán cho trò chơi gốc mà tài sản được tạo. Người dùng có thể nhấp vào liên kết gán để chuyển hướng đến trang trò chơi, để họ có thể tham gia trò chơi và tạo cho riêng mình.