AvatarCreationService

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Nicht erstellbar
Dienst

AvatarCreationService ist ein service, der entwickler-avatar-ersteller unterstützt, indem er methoden bereitstellt, die die aufforderung zur erstellung von avataren aus erlebnissen unterstützen.

Zusammenfassung

Methoden

Eigenschaften

Methoden

GetValidationRules

Erhalte Daten über Regeln, die Assets einhalten müssen, um die UGC-Validierung zu bestehen.Die Validierung ist ein wesentlicher Schritt vor der Erstellung von Avataren und es gibt verschiedene Überprüfungen, die auftreten, einschließlich Netzwerk-Dreieckslimits, Texturgrößen, Körperteilgrößenlimits, Anbringungs位置 und mehr.

Die zurückgegebene Diktion der Validierungsregeln nimmt die folgende Form an:


{
["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,
},
...
}
}

Rückgaben

Wörterbuch der Validierungsregeln wie oben im Detail beschrieben.

GenerateAvatar2DPreviewAsync

Angehalten

Parameter

avatarGeneration2dPreviewParams: Dictionary
Standardwert: ""

Rückgaben

GetBatchTokenDetailsAsync

Angehalten

Hält die Details der Avatarerstellungs-Token für eine Liste von Avatarerstellungs-Token auf einmal bereit (Token werden durch den Token-Erstellungsprozess erzeugt).Gibt eine Reihe von Details der Avatarerstellungs-Token zurück; jedes Token-Detail ist ein Wörterbuch mit den Feldern, die im Beispiel-Ergebnis unten angezeigt werden:


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

Parameter

tokenIds: Array

Die Liste der Avatar-Erstellungs-Token-IDs, um Details zu erhalten.

Standardwert: ""

Rückgaben

Array der Details der Avatarerstellungs-Token wie oben beschrieben.

LoadAvatar2DPreviewAsync

Angehalten

Parameter

previewId: string
Standardwert: ""

Rückgaben

LoadGeneratedAvatarAsync

Angehalten

Parameter

generationId: string
Standardwert: ""

Rückgaben

PrepareAvatarForPreviewAsync

()
Angehalten

Parameter

humanoidModel: Model
Standardwert: ""

Rückgaben

()

PromptCreateAvatarAsync

Angehalten

Fragt einen Player nach, einen Avatar aus einem HumanoidDescription zu kaufen und zu erstellen.Der Preis der Erstellung wird durch den Preis bestimmt, der dem Avatar-Erstellungs-Token zugeschrieben wird.Dieses Avatar-Erstellungs-Token ist für den Kauf und die Erstellung des Körpers erforderlich und kann durch den Token-Erstellungsprozess generiert werden.

Für die Schöpfungwird erwartet, dass das HumanoidDescription neue Assets enthält, die für jedes der 6 Körperteile erstellt werden müssen (Head , Torso , RightLeg , LeftLeg , RightArm , LeftArm).Optional kann es auch ein neues Hair Accessoireenthalten.

Um dies zu unterstützen, sollte die 6 Kinder (eins für jedes Körperteil) enthalten (eins für jedes Körperteil).Für jede bezieht sich die -Eigenschaft auf eine , die alle Instanzen enthält, die den Körperteil bilden, zum Beispiel einen -Ordner, der , und enthält.Die Eigenschaft BodyPartDescription.BodyPart sollte auch auf die entsprechende Enum.BodyPart festgelegt werden.

Jedes Körperteil MeshPart muss auch enthalten:

Wenn ein Zubehör wie Haare enthalten ist, sollte die ein Kind enthalten, in dem:

Schließlich sollte die HumanoidDescription die menschlichen Skalierungen von BodyTypeScale, HeadScale, HeightScale, WidthScale und ProportionScale enthalten.Achten Sie auf die Skalierungen, mit denen ein Basiskörper importiert wird, damit sie den Skalierungen entsprechen, die für den HumanoidDescription bereitgestellt wurden.

Parameter

tokenId: string

Die ID eines Avatar-Erstellungs-Tokens.Das Token muss gültig sein, da das Universum, von dem die Methode aufgerufen wird, dasselbe Universum ist, für das das Token erstellt wurde.Darüber hinaus muss der Token-Ersteller die ID-Verifizierung und Roblox Premium aufrechterhalten.Um ein Token für die Verwendung in dieser API zu erstellen, folgen Sie dem Token-Erstellungsprozess.

Standardwert: ""
player: Player

Die Player sollte mit dem Erstellungsaufforderung präsentiert werden.

Standardwert: ""
humanoidDescription: HumanoidDescription

Das HumanoidDescription des Avatars, der für die Schöpfunggedacht ist.

Standardwert: ""

Rückgaben

Eine Tupla, die enthält: in der Reihenfolge:

Code-Beispiele

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

Angehalten

Nur Studio. Gegeben ein Player und Instance für ein Enum.AccessoryType , bestimmt, ob die UGC-Validierung bestanden wird.

Parameter

player: Player

Die Player Validierung ist abgeschlossen für.

Standardwert: ""
accessory: Instance

Die Instanzprüfung wird ausgeführt.

Standardwert: ""
accessoryType: Enum.AccessoryType

Enum.AccessoryType die Instanz wird erwartet zu sein. Erwartet Eyebrow , Eyelash oder Hair .

Standardwert: ""

Rückgaben

Eine Tupla, die enthält: in der Reihenfolge:

  • Ein boolescher Indikator, der anzeigt, ob die Validierung für das Accessoireerfolgreich war.
  • Ein optionales Tab von Zeichenketten. Dies beinhaltet Fehlgründe, wenn die Validierung fehlgeschlagen ist; ansonsten nil wenn die Validierung erfolgreich ist.

ValidateUGCBodyPartAsync

Angehalten

Nur Studio.Angesichts von Player und Instance für ein Enum.BodyPart bestimmt es, ob die UGC-Validierung bestanden wird.Der instance -Parameter wird als Folder im folgenden Beispielformat mit relevanten MeshParts erwartet:

Wenn jedoch das erwartete erwartet wird, nimmt die Funktion einen Singular direkt auf.

Parameter

player: Player

Die Player Validierung ist abgeschlossen für.

Standardwert: ""
instance: Instance

Die Instanzprüfung wird ausgeführt.

Standardwert: ""
bodyPart: Enum.BodyPart

Enum.BodyPart die instanz wird erwartet zu sein.

Standardwert: ""

Rückgaben

Eine Tupla, die enthält: in der Reihenfolge:

  • Ein boolescher Indikator, der anzeigt, ob die Validierung für den Körperteil erfolgreich war.
  • Ein optionales Tab von Zeichenketten. Dies beinhaltet Fehlgründe, wenn die Validierung fehlgeschlagen ist; ansonsten nil wenn die Validierung erfolgreich ist.

ValidateUGCFullBodyAsync

Angehalten

Nur Studio. Gegeben ein Player und HumanoidDescription , werden alle Instanzen in der HumanoidDescription validiert.

Es wird erwartet, dass das HumanoidDescription Instanzen enthält, die auf BodyPartDescription Kindern für jeden der 6 erforderlichen Enum.BodyPart Werte festgelegt sind.Optional kann es Instanzen enthalten, die auf Kindern für , und festgelegt sind.

Parameter

player: Player

Die Player Validierung ist abgeschlossen für.

Standardwert: ""
humanoidDescription: HumanoidDescription

HumanoidDescription repräsentiert den körper, auf dem die validierung ausgeführt wird.

Standardwert: ""

Rückgaben

Eine Tupla, die enthält: in der Reihenfolge:

  • Ein boolescher Indikator, der anzeigt, ob die Validierung für den Körper erfolgreich war.
  • Ein optionales Tab von Zeichenketten. Dies beinhaltet Fehlgründe, wenn die Validierung fehlgeschlagen ist; ansonsten nil wenn die Validierung erfolgreich ist.

Ereignisse

AvatarModerationCompleted

Parameter

outfitId: number
moderationStatus: Enum.ModerationStatus