บริการแก้ไขอวาตาร์

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

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

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

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

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

ในการเริ่มเข้าถึงสินค้าคงคลังของผู้ใช้ คุณต้องขอให้ผู้ใช้อนุญาตการเข้าถึงผ่าน PromptAllowInventoryReadAccess() คุณต้องทำคำขอนี้เพียงครั้งเดียวต่อเซสชั่น

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


local AvatarEditorService = game:GetService("AvatarEditorService")
AvatarEditorService:PromptAllowInventoryReadAccess()
local result = AvatarEditorService.PromptAllowInventoryReadAccessCompleted:Wait()
if result == Enum.AvatarPromptResult.Success then
-- การเข้าถึงได้รับอนุญาต!
end

ผู้ใช้จะได้รับแท็บดังต่อไปนี้:

เมื่อผู้ใช้ยอมรับแท็บ AvatarEditorService สามารถเริ่มเข้าถึงสินค้าคงคลังของผู้ใช้

อ่านสินค้าคงคลังของผู้ใช้

เมื่อได้รับการเข้าถึงจากผู้ใช้ คุณสามารถอ่านสินค้าคงคลังของพวกเขาด้วยฟังก์ชัน GetInventory() โดยส่งมอบอาร์เรย์ของ AvatarAssetTypes เพื่อกรอง ฟังก์ชันนี้คืนค่าวัตถุ InventoryPages ที่มีไอเท็มที่ผู้ใช้เป็นเจ้าของ

ใช้ตัวอย่างโค้ดต่อไปนี้เพื่อพิมพ์รายการของอุปกรณ์เสริมเฉพาะในสินค้าคงคลังของผู้ใช้:


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 ที่รวมคุณสมบัติหนึ่งหรือมากกว่า ดังนี้:

คุณสมบัติคำอธิบาย
AssetTypesอาร์เรย์ของ Enum.AvatarAssetType เช่น Enum.AvatarAssetType.BackAccessory.
BundleTypesอาร์เรย์ของ Enum.BundleType เช่น Enum.BundleType.BodyParts.
CategoryFilterEnum.CatalogCategoryFilter ที่อธิบายหมวดหมู่หมวดหมู่ต่างๆในตลาด เช่น "Featured" หรือ "Community Creations" โดยค่าเริ่มต้นกำหนดให้เป็น Enum.CatalogCategoryFilter.None
MaxPriceจำนวนเต็มที่อธิบายราคาสูงสุดสำหรับการกรอง
MinPriceจำนวนเต็มที่อธิบายราคาต่ำสุดสำหรับการกรอง โดยค่าเริ่มต้น MinPrice คือ 0.
SearchKeywordสตริงเพื่อค้นหาตามคำอธิบายไอเท็มในตลาด
SortTypeEnum.CatalogSortType ที่อธิบายวิธีการจัดเรียงผลลัพธ์ โดยค่าเริ่มต้นกำหนดให้เป็น Enum.CatalogSortType.Relevance.
IncludeOffSaleบูลีนที่อธิบายว่าผลลัพธ์ของการค้นหารวมไอเท็มที่ไม่ขายอยู่หรือไม่ โดยค่าเริ่มต้นกำหนดให้เป็น false.
CreatorIdจำนวนเต็มที่ระบุผู้สร้างเฉพาะที่กำหนด คุณสามารถใช้ UserId หรือ GroupId ใดก็ได้
CreatorNameสตริงที่ใช้ในการค้นหาตามไอเท็มที่สร้างโดยผู้สร้างที่กำหนด คุณสามารถใช้ชื่อผู้ใช้หรือชื่อกลุ่ม

ตัวอย่างโค้ดต่อไปนี้สร้างวัตถุ CatalogSearchParams สำหรับประเภทสินทรัพย์ Back และ Shoulder และส่งผ่านในการเรียก SearchCatalog():


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

บันทึกอวาตาร์และรูปแบบเสื้อผ้า

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

คุณสามารถบันทึก HumanoidDescription ไปยังอวาตาร์ปัจจุบันของผู้ใช้ด้วย PromptSaveAvatar() โดยอาจรวมถึง:

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

เนื่องจาก 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
-- อวาตาร์ถูกบันทึก!
end

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

เมื่อเรียกใช้งานแล้ว คุณสามารถรับผลลัพธ์ของ 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

ซื้อไอเท็ม

เมื่อบันทึกอวาตาร์หรือรูปแบบเสื้อผ้าที่ใช้ไอเท็มในตลาด ผู้ใช้จะไม่ได้รับไอเท็มใด ๆ ที่พวกเขาไม่เป็นเจ้าของ ก่อนที่จะบันทึกอวาตาร์หรือรูปแบบเสื้อผ้า ให้ตรวจสอบว่าผู้ใช้เป็นเจ้าของสินทรัพย์ด้วย MarketplaceService:PlayerOwnsAsset() และให้ตัวเลือกในการซื้อไอเท็มด้วย MarketplaceService:PromptPurchase()

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

©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ