บริการตัดตัดแต่ง Avatar

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

บริการแก้ไขอวาตาร์ ช่วยให้คุณเข้าถึงและทำการเปลี่ยนแปลงในอวาตาร์ของผู้ใช้ภายในประสบการณ์ บริการแก้ไขอวาตาร์สามารถเข้าถึงสินค้าคงคลังของผู้ใช้และ ตลาด เพื่อบันทึกช

เราแนะนำให้ใช้บริการ Avatar Editor ด้วยอีดีทีวีอีเมลในเกมอีดีทีวีอีเมลสำหรับประสบการณ์การปรับแต่งตัวละครที่สมบูรณ์แบบ ดูสถานที่อ้างอิง เรียบง่าย Avatar Editor ดีมาโดยละเอียด คุณสมบัติ

เพื่อเริ่มใช้บริการ Avatar Editor คุณต้องขอการเข้าถึงก่อน เสมอ คลังไอเท็มหลังจากที่การเข้าถึงถูกอนุญาต คุณสามารถทำสิ่งต่อไปนี้ได้:

ร้องขอการเข้าถึง

คลังไอเท็มคุณต้องขอให้ผู้ใช้อนุญาตให้เข้าถึงผ่าน PromptAllowInventoryReadAccess() คุณต้องทำคำขอนี้เป็นครั้งละครั้งในแต่ละเซสชัน

ใช้ตัวอย่างรหัสต่อไปนี้เพื่อเริ่มต้นคำถามการเข้าถึงและฟังคำตอบของผู้ใช้:


local AvatarEditorService = game:GetService("AvatarEditorService")
AvatarEditorService:PromptAllowInventoryReadAccess()
local result = AvatarEditorService.PromptAllowInventoryReadAccessCompleted:Wait()
if result == Enum.AvatarPromptResult.Success then
-- เข้าถึงได้!
end

ผู้ใช้ได้รับคำเรียกร้องต่อไปนี้:

เมื่อผู้ใช้ยอมรับคำเรียกร้องนี้, AvatarEditorService คลังไอเท็ม

การอ่านคลังของผู้ใช้

เมื่อการเข้าถึงถูกจัดการโดยผู้ใช้คุณสามารถอ่านสินค้าคงคลังของพวกเขาด้วย GetInventory() ฟังก์ชันที่จัดหาอารยากรณ์ของ Class.AvatarAssetType

คลังไอเท็ม:


local AvatarEditorService = game:GetService("AvatarEditorService")
AvatarEditorService:PromptAllowInventoryReadAccess()
local result = AvatarEditorService.PromptAllowInventoryReadAccessCompleted:Wait()
if result == Enum.AvatarPromptResult.Success then
-- เข้าถึงได้!
local assetTypes = {
Enum.AvatarAssetType.BackAccessory,
Enum.AvatarAssetType.ShoulderAccessory,
Enum.AvatarAssetType.WaistAccessory
}
local pagesObject = AvatarEditorService:GetInventory(assetTypes)
local currentPage = pagesObject:GetCurrentPage()
for _, item in currentPage do
print(item)
end
end

การค้นหาตลาด

AvatarEditorService รวมถึงฟังก์ชันและเหตุการณ์ที่ช่วยให้คุณค้นหาแคตตาล็อกของ Roblox คุณสามารถค้นหาได้โดยให้คำถามของคุณด้วย CatalogSearchParams ตัวที่มีสิ่งหนึ่งหรือมากกว่าของตัวละครต

สมบัติคำอธิบาย
รูปแบบสินทรัพย์คอลลี่ของ Enum.AvatarAssetType เช่น คอลลี่.AvatarAssetType.BackAccessory
รูปแบบการรวมค่าย่อ เช่น Enum.BundleType เช่น Amount.Plugin
ตัวกรองประเภทA Enum.CatalogCategoryFilter อธิบายรายการหลายหมวดหมู่เช่น "คุณสมบัติ" หรือ "การสร้างชุมชน" โดยปกติจะตั้งค่าเป็น Enum.CatalogCategoryFilter.None
ราคาสูงสุดตัวกรอง
ราคาขั้นต่ำตัวเลขที่อธิบายราคาขั้นต่ำที่จะกรอง โดยปกติ, MinPrice คือ 0 .
ค้นหาคำสตริงเพื่อสอบถามคำอธิบายรายการในแคตตาล็อก
ประเภทA Enum.CatalogSortType ที่อธิบายวิธีการเรียงลำดับผลลัพธ์ โดยปกติจะตั้งค่าเป็น Enum.CatalogSortType.Relevance
รวมออกจากขายบูลีนที่ระบุว่าผลการค้นหารวมถึงรายการออกจากขาย โดยปกติจะตั้งค่าเป็นปลอม หากไม่มีค่านี้จะถูกตั้งค่าเป็น false
CreatorIdครีเอเตอร์คุณสามารถใช้ UserId หรือ GroupId ได้
ชื่อผู้สร้างครีเอเตอร์คุณสามารถใช้ชื่อผู้ใช้หรือชื่อกลุ่ม

ตัวอย่างโค้ดต่อไปนี้สร้าง CatalogSearchParams วัตถุสำหรับ Back และ Shoulder ตัวอย่างชนิด, และผ่านทางการโทร 2> Class.AvatarEditorService:SearchCatalog()|SearchCatalog()2> คำเรียก:


local AvatarEditorService = game:GetService("AvatarEditorService")
local catalogSearchParams = CatalogSearchParams.new()
local assetTypes = {
Enum.AvatarAssetType.BackAccessory,
Enum.AvatarAssetType.ShoulderAccessory
}
catalogSearchParams.AssetTypes = assetTypes
local pagesObject =
--ฟังก์ชันนี้จะกลับมาเป็นตัว CatalogPages ที่มีผลลัพธ์
AvatarEditorService:SearchCatalog(catalogSearchParams)
local currentPage = pagesObject:GetCurrentPage()
for _, item in currentPage do
print(item)
end

บันทึก Avatar และ Outfits

เมื่อใช้ร่วมกับเครื่องมือในเกม avatar เอเดอร์, AvatarEditorService สามารถบันทึกและปรับปรุงไอเท็มและชุดของ avatar ให้กับแพลตฟอร์ม Roblox ผู้ใช้ไม่ได้รับรายการในห้างร้านที่พวกเขาไม่ได้เป็นเ

ใด ๆ HumanoidDescription สามารถบันทึกได้ที่ avatar ของผู้ใช้ด้วย PromptSaveAvatar() นี้อาจรวมถึง:

  • การตั้งค่า avatar ล่วงหน้าที่คุณสร้างขึ้นโดยใช้รายการแคตตาล็อกที่มีอยู่
  • การตั้งค่าใด ๆ ที่ผู้ใช้เลือกผ่านตัวแก้ไขอวาตาร์ในเกม

เนื่องจาก AvatarEditorService:PromptSaveAvatar() ไม่สร้างผลลัพธ์ คุณสามารถรับผลลัพธ์ได้โดยการฟังกิจกรรม AvatarEditorService.PromptSaveAvatarCompleted

รหัสต่อไปนี้จะบันทึก HumanoidDescription ปัจจุบันโดยใช้ PromptSaveAvatar() และตรวจสอบสำเร็จ AvatarEditorService.PromptSaveAvatarCompleted อีเวนต์:


local AvatarEditorService = game:GetService("AvatarEditorService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local currentDescription = humanoid:GetAppliedDescription()
AvatarEditorService:PromptSaveAvatar(currentDescription, humanoid.RigType)
local result = AvatarEditorService.PromptSaveAvatarCompleted:Wait()
if result == Enum.AvatarPromptResult.Success then
-- บันทึก Avatar แล้ว!
end

เพื่อบันทึก Class.HumanoidDescription ใด ๆ อวาตาร์(โดยไม่ต้องเขียนเขียวนักใช้เครื่องแต่งกายปัจจุบันของผู้ใช้) ให้ใช้ Class.AvatarEditorService:Prom

เมื่อเรียกแล้วคุณสามารถรับผลลัพธ์ของ AvatarEditorService:PromptCreateOutfit() โดยการฟังเหตุการณ์ AvatarEditorService.PromptCreateOutfitCompleted

ตัวอย่างรหัสต่อไปนี้สร้างชุดด้วย AvatarEditorService:PromptCreateOutfit() และรับฟังสำเร็จ AvatarEditorService.PromptCreateOutfitCompleted อีเวนต์:


local AvatarEditorService = game:GetService("AvatarEditorService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local currentDescription = humanoid:GetAppliedDescription()
AvatarEditorService:PromptCreateOutfit(currentDescription, humanoid.RigType)
local result = AvatarEditorService.PromptCreateOutfitCompleted:Wait()
if result == Enum.AvatarPromptResult.Success then
-- บันทึกชุดแล้ว!
end

การซื้อไอเทม

เมื่อบันทึกตัวละครหรือชุดที่ใช้รายการแคตตาล็อก เป็นเจ้าของก่อนบันทึกตัวละครหรือชุดใด ๆ ตรวจสอบว่าผู้ใช้มี

หากคุณไม่ต้องการให้ใช้การซื้อไอเท็ม คุณสามารถให้ผู้ใช้โปรดไอเท็มที่ไม่เป็นเจ้าของด้วย AvatarEditorService:PromptSetFavorite()