AvatarCreationService

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

만들 수 없음
서비스

AvatarCreationService는 경험 내에서 아바타 생성을 유도하는 메서드를 제공하는 개발자 아바타 크리에이터를 지원하는 서비스입니다.

요약

메서드

속성

메서드

GetValidationRules

자산이 UGC 유효성 검사를 통과하기 위해 준수해야 하는 규칙에 관한 데이터를 가져옵니다.인증은 아바타를 만들기 전에 필수적인 단계이며, 메쉬 삼각형 제한, 텍스처 크기, 신체 부분 크기 제한, 부착 위치 등을 포함한 다양한 검사가 발생합니다.

유효성 규칙의 반환된 사전은 다음 형식을 취합니다:


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

반환

위에 자세히 설명된 유효성 규칙 사전.

GenerateAvatar2DPreviewAsync

생성

매개 변수

avatarGeneration2dPreviewParams: Dictionary
기본값: ""

반환

GetBatchTokenDetailsAsync

생성

한 번에 아바타 생성 토큰 목록에 대한 아바타 생성 토큰 세부 정보를 가져옵니다(토큰은 토큰 생성 프로세스를 통해 생성됨).아바타 생성 토큰 세부 정보 배열을 반환하며 각 토큰 세부 정보는 아래 예제 결과에서 나타난 필드로 구성된 사전입니다.


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

매개 변수

tokenIds: Array

상세 정보를 얻기 위한 아바타 생성 토큰 ID 목록.

기본값: ""

반환

위에 설명된 대로 아바타 생성 토큰 배열.

LoadAvatar2DPreviewAsync

생성

매개 변수

previewId: string
기본값: ""

반환

LoadGeneratedAvatarAsync

생성

매개 변수

generationId: string
기본값: ""

반환

PrepareAvatarForPreviewAsync

()
생성

매개 변수

humanoidModel: Model
기본값: ""

반환

()

PromptCreateAvatarAsync

생성

에서 아바타를 구매하고 생성하도록 요청하고 에서 아바타를 가져옵니다.생성의 가격은 아바타 생성 토큰에 할당된 가격에 의해 결정됩니다.이 아바타 생성 토큰은 신체 구매 및 생성에 필요하며 토큰 생성 프로세스를 따라 생성할 수 있습니다.

아바타 작품대해, HumanoidDescription 는 6개의 신체 부위(Head, Torso, RightLeg, LeftLeg, RightArm, LeftArm)에 대해 새로 만들어질 새 자산을 포함해야 합니다.선택적으로 새로운 Hair 장신구포함할 수 있습니다.

이를 지원하기 위해, HumanoidDescription 는 6 BodyPartDescription 자식(각 신체 부분에 하나)을 포함해야 합니다.각각에 대해 BodyPartDescription.Instance 속성은 모든 Folder 바디 부분을 구성하는 모든 MeshPart 인스턴스를 포함하는 LeftArm 를 참조하며, 예를 들어 LeftHand , LeftUpperArmLeftLowerArm 폴더가 포함된 MeshParts 입니다.BodyPartDescription.BodyPart 속성도 관련 Enum.BodyPart 로 설정해야 합니다.

각 신체 부분 MeshPart 도 포함해야 합니다:

머리카락과 같은 액세서리를 포함하는 경우, HumanoidDescription 는 다음과 같은 자식 AccessoryDescription 을 포함해야 합니다.

마지막으로, HumanoidDescriptionBodyTypeScale , HeadScale , HeightScale , WidthScaleProportionScale 의 인간형 저울을 포함해야 합니다.기본 바디가 가져오는 비율을 신중하게 고려하여 제공된 비율과 일치하도록 합니다.Be mindful of the scales that a base body is imported with so that they match the scales provided to the HumanoidDescription .

매개 변수

tokenId: string

아바타 생성 토큰의 ID.토큰은 메서드가 호출된 우주가 토큰이 생성된 우주와 동일한 경우에만 유효해야 합니다.또한 토큰 생성자는 ID 확인 및 Roblox 프리미엄을 유지해야 합니다.이 API에서 사용할 토큰을 생성하려면 토큰 생성 프로세스를 따르십시오.

기본값: ""
player: Player

생성 프롬프트와 함께 표시될 예정인 Player입니다.

기본값: ""
humanoidDescription: HumanoidDescription

작품위한 아바타의 HumanoidDescription .

기본값: ""

반환

순서대로 포함된 튜플:

코드 샘플

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

생성

스튜디오만. 주어진 PlayerInstance 에 대해 Enum.AccessoryType 에 UGC 유효성 검사가 통과하는지 여부를 결정합니다.

매개 변수

player: Player

유효성 검사 Player가 완료됩니다.

기본값: ""
accessory: Instance

인스턴스 유효성 검사가 실행됩니다.

기본값: ""
accessoryType: Enum.AccessoryType

Enum.AccessoryType 인스턴스가 될 것으로 예상됩니다. Eyebrow , Eyelash 또는 Hair 을 기대합니다.

기본값: ""

반환

순서대로 포함된 튜플:

  • 장신구대한 유효성 검사가 성공했는지를 나타내는 부울입니다.
  • 선택적 문자열 테이블. 유효성 검사에 실패한 경우 실패 이유가 포함되고, 그렇지 않으면 유효성 검사가 성공한 경우 nil입니다.

ValidateUGCBodyPartAsync

생성

스튜디오만.PlayerInstance 에 대해 Enum.BodyPart 에 대한 UGC 유효성 검사가 통과하는지 여부를 결정합니다. 매개 변수는 다음 예제 형식에서 관련 으로 예상됩니다.

그러나 예상되는 bodyPartEnum.BodyPart.Head 이면 함수는 단수형 Head``Class.MeshPart 직접 가져옵니다.

매개 변수

player: Player

유효성 검사 Player가 완료됩니다.

기본값: ""
instance: Instance

인스턴스 유효성 검사가 실행됩니다.

기본값: ""
bodyPart: Enum.BodyPart

Enum.BodyPart 인스턴스가 예상됩니다.

기본값: ""

반환

순서대로 포함된 튜플:

  • 바디 부분에 대한 유효성 검사가 성공했는지를 나타내는 부울입니다.
  • 선택적 문자열 테이블. 유효성 검사에 실패한 경우 실패 이유가 포함되고, 그렇지 않으면 유효성 검사가 성공한 경우 nil입니다.

ValidateUGCFullBodyAsync

생성

스튜디오만. PlayerHumanoidDescription 를 제공하면 모든 HumanoidDescription 인스턴스가 유효성 검사됩니다.

는 6개의 필수 값에 대해 각각 자식에 설정된 인스턴스를 포함할 것으로 예상됩니다.선택적으로, AccessoryDescription 자식에 설정된 인스턴스를 포함할 수 있습니다 Eyebrow , Eyelash , 그리고 Hair``Enum.AccessoryType|AccessoryTypes 입니다.

매개 변수

player: Player

유효성 검사 Player가 완료됩니다.

기본값: ""
humanoidDescription: HumanoidDescription

HumanoidDescription 유효성 검사가 실행되는 바디를 나타내는 것.

기본값: ""

반환

순서대로 포함된 튜플:

  • 신체대한 유효성 검사가 성공했는지를 나타내는 부울입니다.
  • 선택적 문자열 테이블. 유효성 검사에 실패한 경우 실패 이유가 포함되고, 그렇지 않으면 유효성 검사가 성공한 경우 nil입니다.

이벤트

AvatarModerationCompleted

매개 변수

outfitId: number
moderationStatus: Enum.ModerationStatus