AvatarCreationService

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.

Không Thể Tạo
Dịch Vụ

AvatarCreationService là một dịch vụ hỗ trợ các nhà phát triển avatar, cung cấp các phương pháp hỗ trợ việc kích hoạt sự tạo avatar từ bên trong các trải nghiệm.

Tóm Tắt

Phương Pháp

Thuộc Tính

Phương Pháp

GetValidationRules

Nhận dữ liệu liên quan đến các quy tắc mà tài sản phải tuân thủ để vượt qua xác minh UGC.Xác minh là một bước quan trọng trước khi tạo avatar và có nhiều kiểm tra xảy ra, bao gồm giới hạn tam giác khối, kích thước kết cấu, giới hạn kích thước phần cơ thể, vị trí kết nối và nhiều hơn nữa.

Từ điển trả về của các quy tắc xác nhận có dạng sau:


{
["MeshRules"] = {
["BodyPartMaxTriangles"] = {
Enum.AssetType.DynamicHead: number,
Enum.AssetType.LeftArm: number,
Enum.AssetType.RightArm: number,
Enum.AssetType.Torso: number,
Enum.AssetType.LeftLeg: number,
Enum.AssetType.RightLeg: number,
},
["AccessoryMaxTriangles"]: number,
["MeshVertColor"]: Color3,
["CageMeshMaxDistanceFromRenderMesh"]: number,
},
["TextureRules"] = {
["MaxTextureSize"]: number,
},
["BodyPartRules"] = {
[Enum.AssetType.DynamicHead] = {
["Bounds"] = {
["Classic"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
["ProportionsSlender"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
["ProportionsNormal"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
},
["SubParts"] = {
["Head"] = {
["NeckRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["FaceFrontAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["HatAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["HairAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["FaceCenterAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
},
},
},
[Enum.AssetType.LeftArm] = {
["Bounds"] = {
["Classic"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
["ProportionsSlender"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
["ProportionsNormal"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
},
["SubParts"] = {
["LeftHand"] = {
["LeftWristRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["LeftGripAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
},
["LeftUpperArm"] = {
["LeftShoulderRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["LeftShoulderAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["LeftElbowRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
},
["LeftLowerArm"] = {
["LeftElbowRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["LeftWristRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
},
},
},
...
},
["AccessoryRules"] = {
[Enum.AssetType.HairAccessory] = {
["Attachments"] = {
{
["Size"]: Vector3,
["Offset"]: Vector3,
["Name"]: string,
},
},
["RigidAllowed"]: boolean,
},
...
}
}

Lợi Nhuận

Từ điển các quy tắc xác nhận như được mô tả ở trên.

GenerateAvatar2DPreviewAsync

Sinh Lợi

Tham Số

avatarGeneration2dPreviewParams: Dictionary
Giá Trị Mặc Định: ""

Lợi Nhuận

GetBatchTokenDetailsAsync

Sinh Lợi

Nhận chi tiết token tạo avatar cho một danh sách token tạo avatar cùng một lúc (token được tạo thông qua quá trình tạo token token).Trả về một array các chi tiết token tạo avatar; mỗi chi tiết token là một từ điển với các trường được chỉ ra trong kết quả ví dụ dưới đây:


{
["Name"] = "string",
["Description"] = "string",
["UniverseId"] = 0,
["CreatorId"] = 0,
["CreatorType"] = Enum.CreatorType.User,
["OnSale"] = true,
["Price"] = 0,
["OffSaleReasons"] = {
"string",
}
}

Tham Số

tokenIds: Array

Danh sách ID token tạo avatar để có chi tiết.

Giá Trị Mặc Định: ""

Lợi Nhuận

Danh sách chi tiết token tạo avatar như được mô tả ở trên.

LoadAvatar2DPreviewAsync

Sinh Lợi

Tham Số

previewId: string
Giá Trị Mặc Định: ""

Lợi Nhuận

LoadGeneratedAvatarAsync

Sinh Lợi

Tham Số

generationId: string
Giá Trị Mặc Định: ""

Lợi Nhuận

PrepareAvatarForPreviewAsync

()
Sinh Lợi

Tham Số

humanoidModel: Model
Giá Trị Mặc Định: ""

Lợi Nhuận

()

PromptCreateAvatarAsync

Sinh Lợi

Yêu cầu một Player để mua và tạo một avatar từ một HumanoidDescription .Giá của việc tạo ra được quyết định bởi giá được gán cho token tạo avatar.Token tạo avatar này là yêu cầu đối với việc mua và tạo cơ thể và có thể được tạo bằng cách tuân theo quá trình tạo token.

Đối với việc sản phẩmavatar, HumanoidDescription được mong đợi bao gồm các tài sản mới được tạo cho mỗi phần cơ thể 6 (Head, Torso, RightLeg, LeftLeg, RightArm, LeftArm).Tùy chọn, nó cũng có thể bao gồm một phụ kiện mới Hair .

Để hỗ trợ điều này, HumanoidDescription nên bao gồm 6 đứa con (mỗi phần cơ thể một) BodyPartDescription .Đối với mỗi, thuộc tính BodyPartDescription.Instance bao gồm một Folder bao gồm tất cả các MeshPart ví dụ các LeftArm được tạo thành phần thân, ví dụ như một LeftHand thư mục có LeftUpperArm , LeftLowerArmMeshParts .Thuộc tính BodyPartDescription.BodyPart cũng nên được đặt thành Enum.BodyPart liên quan.

Mỗi phần cơ thể MeshPart sẽ cũng cần bao gồm:

Nếu bao gồm một phụ kiện như tóc, HumanoidDescription nên bao gồm một đứa con AccessoryDescription nơi:

Cuối cùng, HumanoidDescription nên bao gồm các thước đo hình người của BodyTypeScale , HeadScale , HeightScale , WidthScale , và ProportionScale .Hãy lưu ý đến các thước đo mà một cơ thể cơ bản được nhập với nhằm chúng phù hợp với các thước đo được cung cấp cho HumanoidDescription .

Tham Số

tokenId: string

ID của một token tạo avatar.Token phải hợp lệ trong trường hợp vũ trụ mà phương thức được gọi từ là vũ trụ tương tự mà token được tạo ra.Ngoài ra, người tạo token phải duy trì xác minh ID và Roblox Premium.Để tạo một token để sử dụng trong API này, hãy làm theo quá trình tạo token.

Giá Trị Mặc Định: ""
player: Player

The Player intended to be presented with the creation prompt. Được dự định sẽ được trình bày với lời nhắc tạo.

Giá Trị Mặc Định: ""
humanoidDescription: HumanoidDescription

The HumanoidDescription của avatar dành cho việc sản phẩm.

Giá Trị Mặc Định: ""

Lợi Nhuận

Một tuple chứa, theo thứ tự:

  • Một Enum.PromptCreateAvatarResult được chỉ ra kết quả của lời nhắc tạo.

  • Một kết quả chuỗi.Trong trường hợp Enum.PromptCreateAvatarResult.Success, điều này sẽ chỉ ra ID gói.Trong trường hợp bất kỳ lỗi enum nào, thông điệp lỗi kết tin nhắnsẽ được chỉ ra.

  • Kết kết quảchuỗi bắt buộc thứ cấp thứ hai.Trong trường hợp Enum.PromptCreateAvatarResult.Success, điều này sẽ chỉ ra ID trang phục.Trong trường hợp bất kỳ lỗi enum, điều này sẽ là nil .

Mẫu mã

The following code populates a HumanoidDescription in the expected format, prompts for avatar creation, and responds to the result.

PromptCreateAvatarAsync

local AvatarCreationService = game:GetService("AvatarCreationService")
export type BodyPartInfo = {
bodyPart: Enum.BodyPart,
instance: Instance, --Folder with Created MeshParts
}
export type BodyPartList = { BodyPartInfo }
local function publishAvatar(bodyPartInstances: BodyPartList, player: Player, tokenId: string)
local humanoidDescription = Instance.new("HumanoidDescription")
for _, bodyPartInfo in bodyPartInstances do
local bodyPartDescription = Instance.new("BodyPartDescription")
bodyPartDescription.Instance = bodyPartInfo.instance
bodyPartDescription.BodyPart = bodyPartInfo.bodyPart
bodyPartDescription.Parent = humanoidDescription
end
local pcallSuccess, result, resultMessage = pcall(function()
return AvatarCreationService:PromptCreateAvatarAsync(tokenId, player, humanoidDescription)
end)
if pcallSuccess then
if result == Enum.PromptCreateAvatarResult.Success then
print("Successfully uploaded with BundleId: ", resultMessage)
else
print("Unsuccessfully uploaded with error message:", resultMessage)
end
else
print("Avatar failed to create.")
end
end

ValidateUGCAccessoryAsync

Sinh Lợi

Chỉ studio. Đưa ra PlayerInstance cho một Enum.AccessoryType , xác định xem liệu xác minh UGC thông qua.

Tham Số

player: Player

Việc xác minh Player đã hoàn thành cho.

Giá Trị Mặc Định: ""
accessory: Instance

Sự xác nhận của ví dụ được chạy trên.

Giá Trị Mặc Định: ""
accessoryType: Enum.AccessoryType

Enum.AccessoryType ví dụ, instance mong đợi là. Mong đợi Eyebrow , Eyelash , hoặc Hair .

Giá Trị Mặc Định: ""

Lợi Nhuận

Một tuple chứa, theo thứ tự:

  • Một boolean chỉ ra nếu xác minh thành công cho phụ kiện.
  • Một bảng tùy chọn của các chuỗi. Điều này bao gồm lý do thất bại nếu xác minh không thành công; nếu không, nil nếu xác minh thành công.

ValidateUGCBodyPartAsync

Sinh Lợi

Chỉ studio.Khi được cung cấp PlayerInstance cho một Enum.BodyPart , xác định xem liệu xác minh UGC thông qua.Tham số instance được mong đợi là một Folder trong định dạng ví dụ sau với các MeshParts liên quan:

Tuy nhiên, nếu bodyPart mong đợi là Enum.BodyPart.Head , chức năng nhận một số lẻ Head``Class.MeshPart trực tiếp.

Tham Số

player: Player

Việc xác minh Player đã hoàn thành cho.

Giá Trị Mặc Định: ""
instance: Instance

Sự xác nhận của ví dụ được chạy trên.

Giá Trị Mặc Định: ""
bodyPart: Enum.BodyPart

Enum.BodyPart ví dụ, instance dự kiến sẽ là.

Giá Trị Mặc Định: ""

Lợi Nhuận

Một tuple chứa, theo thứ tự:

  • Một boolean chỉ ra nếu xác minh thành công cho phần cơ thể.
  • Một bảng tùy chọn của các chuỗi. Điều này bao gồm lý do thất bại nếu xác minh không thành công; nếu không, nil nếu xác minh thành công.

ValidateUGCFullBodyAsync

Sinh Lợi

Chỉ studio. Đưa ra PlayerHumanoidDescription, tất cả các thời điểm trong HumanoidDescription sẽ được xác minh.

The HumanoidDescription được mong đợi bao gồm các ví dụ được thiết lập trên BodyPartDescription con trẻ cho mỗi trong số 6 giá trị Enum.BodyPart yêu cầu.Tùy chọn, nó có thể bao gồm các ví dụ được thiết lập trên AccessoryDescription trẻ em cho Eyebrow , Eyelash , và Hair``Enum.AccessoryType|AccessoryTypes .

Tham Số

player: Player

Việc xác minh Player đã hoàn thành cho.

Giá Trị Mặc Định: ""
humanoidDescription: HumanoidDescription

HumanoidDescription đại diện cho cơ thể mà quá trình xác minh được thực hiện trên.

Giá Trị Mặc Định: ""

Lợi Nhuận

Một tuple chứa, theo thứ tự:

  • Một boolean chỉ ra nếu xác minh thành công cho cơ thân.
  • Một bảng tùy chọn của các chuỗi. Điều này bao gồm lý do thất bại nếu xác minh không thành công; nếu không, nil nếu xác minh thành công.

Sự Kiện

AvatarModerationCompleted

Tham Số

outfitId: number
moderationStatus: Enum.ModerationStatus