AssetService

แสดงที่เลิกใช้งานแล้ว

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

ไม่สามารถสร้าง
บริการ

AssetService เป็นบริการที่ไม่เคยเกิดขึ้นซึ่งจัดการคำถามที่เกี่ยวข้องกับสินทรัพย์สู่ API ของ Roblox

สรุป

วิธีการ

คุณสมบัติ

วิธีการ

CreateEditableImage

สร้าง EditableImage ใหม่ โดยปกติความละเอียดจะตั้งไว้ที่ 512×512 คุณสามารถระบุขนาดที่แตกต่างกันได้โดยใช้ตารางวิธีการใช้งาน

หากคงคลังหน่วยความจำที่กำหนดเฉพาะตัวอุปกรณ์ถูกนำออกแล้ว การสร้างล้มเหลวและวิธีนี้กลับมา nil

พารามิเตอร์

editableImageOptions: Dictionary

ตารางตัวเลือกที่มีการควบคุมสำหรับวิธีการ:

  • Size – รุ่น Vector2 ที่ระบุความกว้างและความสูงของรูปภาพ

ส่งค่ากลับ

CreateEditableMesh

สร้าง EditableMesh ที่ว่างเปล่า คุณสมบัติของ垂直 สามเหลี่ยมและคุณสมบัติของพวกเขาสามารถเพิ่มได้อย่างไม่มีที่สิ้นสุด หากงบประมาณของหน่วยความจำที่เป็นไปได้สูงสุดถูก

พารามิเตอร์

editableMeshOptions: Dictionary

ส่งค่ากลับ

CreateEditableImageAsync

ผลตอบแทน

สร้างวัตถุใหม่ EditableImage ที่เต็มด้วยข้อความข้างต้น รวมถึง ID ของเนื้อหาที่เป็นสมบัติสมุน เช่น rbxthumb:// ได้รับการส

ดูส่วน เปิดใช้งาน EditableImage สำหรับประสบการณ์ที่เผยแพร่ และ การอนุญาต ของ EditableImage สำหรับข้อควรพิจารณาพิเศษเมื่อใช้ API นี้

พารามิเตอร์

content: Content
editableImageOptions: Dictionary

ส่งค่ากลับ

รูปใหม่ EditableImage ที่มีภาพที่ให้ไว้

CreateEditableMeshAsync

ผลตอบแทน

กลับมาที่วัตถุใหม่ EditableMesh ที่สร้างขึ้นจาก ID เนื้อผ้าเมชที่มีอยู่ โดยปกติวัตถุ EditableMesh ที่สร้างจากวิธีนี้จะมีขนาดที่แก้ไขได้เท

หากคงคลังหน่วยความจำที่แก้ไขได้เฉพาะอุปกรณ์หมดสิ้นคุณสมบัติการสร้างจะล้มเหลวและวิธีนี้จะกลับมา nil

ดูส่วน เปิดใช้งาน EditableMesh สำหรับประสบการณ์ที่เผยแพร่ และ การอนุญาต ของ EditableMesh สำหรับข้อควรพิจารณาพิเศษเมื่อใช้ API นี้

พารามิเตอร์

content: Content
editableMeshOptions: Dictionary

ตารางตัวเลือกที่มีการควบคุมสำหรับวิธีการ:

  • FixedSize – ค่าเริ่มต้นคือ bool และค่าที่กลับมาคือ true จะไม่สามารถให้คุณเพิ่มหรือลบเหลี่ยมผืนผ้าได้ ตั้งค่าเป็

ส่งค่ากลับ

ตัวอย่างใหม่ EditableMesh

CreateMeshPartAsync

ผลตอบแทน

วิธีนี้สร้าง MeshPart ด้วย CollisionFidelity และ Class.Mesh

พารามิเตอร์

meshContent: Content
options: Dictionary

ตารางตัวเลือกที่มีหนึ่งหรือมากกว่าควบคุมสำหรับวิธีการ:

  • CollisionFidelity – มีค่าของ CollisionFidelity ในส่วนผลลัพธ์ ค่าเริ่มต้นคือ Enum.CollisionFidelity.Default หากตัวเลือกหายไปหรือตาราง 0> Options
  • RenderFidelity – มูลค่าของ RenderFidelity ในส่วนผลลัพธ์ ค่าเริ่มต้นคือ Enum.RenderFidelity.Automatic หากตัวเลือกหายไปหรือตาราง 0> Options0> ไ
  • FluidFidelity – มูลค่าของ FluidFidelity ในส่วนที่เกิดขึ้น ปกติจะเป็น Enum.FluidFidelity.Automatic หากตัวเลือกหายไปหรือตาราง 0>
ค่าเริ่มต้น: "nil"

ส่งค่ากลับ

CreatePlaceAsync

ผลตอบแทน

คลอนสถานที่ผ่าน templatePlaceID และส่งคืน PlaceId ของสถานที่ใหม่ซึ่งคุณสามารถใช้ได้ด้วย TeleportService สถานที่คลอนจะปรากฏในชื่อและคำอธิบายข

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

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

พารามิเตอร์

placeName: string

ชื่อสถานที่ใหม่

templatePlaceID: number

PlaceId ของสถานที่ที่จะโคลน

description: string

คำอธิบายสถานที่ใหม่

ค่าเริ่มต้น: ""

ส่งค่ากลับ

PlaceId ของสถานที่ใหม่

CreatePlaceInPlayerInventoryAsync

ผลตอบแทน

พารามิเตอร์

player: Instance
placeName: string
templatePlaceID: number
description: string
ค่าเริ่มต้น: ""

ส่งค่ากลับ

GetAssetIdsForPackage

ผลตอบแทน

กลับรายการรหัสสินทรัพย์ที่อยู่ในแพ็กเกจที่กำหนด

พารามิเตอร์

packageAssetId: number

ส่งค่ากลับ

รหัสสินทรัพย์ที่อยู่ในแพ็กเกจที่กำหนด

GetAudioMetadataAsync

ผลตอบแทน

ให้ข้อมูลที่เกี่ยวข้องเกี่ยวกับทรัพยากรเสียงที่เฉพาะเจาะจง (ศิลปิน ชื่อเรื่อง พิมพ์ประเภท ฯลฯ)

พารามิเตอร์

idList: Array

รายการรหัสสินทรัพย์หรือเนื้อหาสำหรับที่จะดึงข้อมูลเมทาดาต้า ขนาดสูงสุดของการจัดการคือ 30


ส่งค่ากลับ

รายการโต๊ะพจนานุกรมในลำดับเดียวกับคำขอ โดยแต่ละโต๊ะพจนานุกรมมีข้อมูลต่อไปนี้สำหรับสินทรัพย์/เนื้อหาของมัน:

หมายเหตุว่าหากเกิดข้อผิดพลาดในการดึงข้อมูลเมทาดันส์สำหรับทรัพยากรใด ๆ ที่ร้องขอ (เช่น ID ทรัพยากรไม่ถูกต้อง แท็บข้อมูลใ

ตัวอย่างโค้ด


local AssetService = game:GetService("AssetService")
local SoundService = game:GetService("SoundService")
local trackIDs = {
SoundService.Sound1.SoundId,
SoundService.Sound2.SoundId,
SoundService.Sound3.SoundId,
SoundService.Sound4.SoundId
}
local success, result = pcall(function()
return AssetService:GetAudioMetadataAsync(trackIDs)
end)
if success then
for i = 1, #trackIDs do
local contentId = "rbxassetid://" .. result[i].AssetId
if trackIDs[i] == contentId then
print(result[i].Title, "by", result[i].Artist)
else
warn("No metadata fetched for requested asset #" .. tostring(i))
end
end
end

GetBundleDetailsAsync

ผลตอบแทน

ชุดรวม

หากรหัสรวมไม่มีอยู่จะโยน HTTP 400 (Bad Request) หาก bundleId จะโยน Unable to cast string to int64 นอกจากนี้ยังมีการโยน 1> HTTP 400 (Bad Request)1> หาก 4> 束ละครไม่สามา

พารามิเตอร์

bundleId: number

ชุดรวม


ส่งค่ากลับ

ชุดรวม:

  • Id — รหัสรวม (เหมือนกับการผ่าน bundleId อาร์กิวเมนต์)

  • Name — ชื่อแพ็คเกจ

  • Description — คำอธิบายแพ็คเกจ

  • BundleType — สตริงที่แทนที่ Enum.BundleType เช่น "BodyParts" หรือ 0>ไดนามิกหัว0>

  • Items — ชุดรวม— แต่ละรายการมีรายละเอียดที่แสดงโดยสัญลักษณ์ต่อไปนี้:

    • Id — รหัสรายการ

    • Name — ชื่อรายการ

    • Type — ประเภทไอเท็มเช่น "Asset"

ตัวอย่างโค้ด

Getting Bundle Details

local AssetService = game:GetService("AssetService")
local BUNDLE_ID = 14
local success, result = pcall(function()
return AssetService:GetBundleDetailsAsync(BUNDLE_ID)
end)
if success then
print(result)
--[[
{
["BundleType"] = "BodyParts",
["Description"] = "The year is 5003, Battlebot 5000 must face his mightiest foe, or face becoming obsolete.",
["Id"] = 14,
["Items"] = {
[1] = {...},
[2] = {
["Id"] = 1678225030,
["Name"] = "SinisterBot 5001 Left Arm",
["Type"] = "Asset"
},
[3] = {...},
[4] = {...},
[5] = {...},
[6] = {...},
[7] = {...}
},
["Name"] = "SinisterBot 5001"
}
--]]
end

GetGamePlacesAsync

ผลตอบแทน

กลับมาเป็นวัตถุ StandardPages ที่มีชื่อและ PlaceId ของสถานที่ในประสบการณ์ปัจจุบัน


ส่งค่ากลับ

ตัวอย่างโค้ด

AssetService:GetGamePlacesAsync

local AssetService = game:GetService("AssetService")
local placePages = AssetService:GetGamePlacesAsync()
while true do
for _, place in placePages:GetCurrentPage() do
print("Name:", place.Name)
print("PlaceId:", place.PlaceId)
end
if placePages.IsFinished then
break
end
placePages:AdvanceToNextPageAsync()
end

PromptCreateAssetAsync

ผลตอบแทน

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

พารามิเตอร์

player: Player

ผู้ใช้ที่ส่งความคิดเห็น

instance: Instance

สินทรัพย์ที่จะสร้าง ขณะนี้ไม่สามารถรองรับสคริปต์หรือสินทรัพย์เหนือการควบคุมของบุคคลที่สาม

assetType: Enum.AssetType

ประเภทสินทรัพย์ ขณะนี้สามารถเป็น Enum.AssetType.Model เท่านั้น


ส่งค่ากลับ

เลขที่รหัสสินทรัพย์และรหัสรับแล้วถ้าสำเร็จ

PromptImportAnimationClipFromVideoAsync

ผลตอบแทน

พารามิเตอร์

player: Player
progressCallback: function

ส่งค่ากลับ

SavePlaceAsync

void
ผลตอบแทน

บันทึกสถานะของสถานที่ปัจจุบัน ทำงานได้เฉพาะสถานที่ที่สร้างขึ้นด้วย AssetService:CreatePlaceAsync() หรือสถานที่ที่มี API เปิดใช้งานผ่านการตั้งค่าสถานที่


ส่งค่ากลับ

void

SearchAudio

ผลตอบแทน

กลับมาเป็นวัตถุ AudioPages ที่มีผลการค้นหาที่ให้ไว้ จะไม่กลับมาเป็นฟิลด์ที่มีค่าว่าง

โปรดทราบว่าวิธีนี้มีขีดจำกัดการร้องขอ HTTP ต่ำและสามารถส่งผลให้เกิดข้อผิดพลาดดังนั้นจึงควรมีการรวมอยู่ใน pcall() สำหรับการจัดการข้อผิดพลาด


<tbody>
<tr>
<td>HTTP 429 (มีคำขอมากเกินไป)</td>
<td><code>Class.AssetService:SearchAudio()</code> ได้รับการโทรไปมากเกินไป</td>
</tr>
<tr>
<td>ไม่ได้รองรับประเภทสำหรับข้อมูล, คาดหวัง mat阵ไม่ได้รับค่า</td>
<td>ตัวแปรคำสั่งถูกกรอง</td>
</tr>
</tbody>
ข้อความผิดพลาดเหตุผล

พารามิเตอร์

searchParameters: AudioSearchParams

ส่งค่ากลับ

ตัวอย่างโค้ด

Getting Music Search Titles

local AssetService = game:GetService("AssetService")
local audioSearchParams = Instance.new("AudioSearchParams")
audioSearchParams.SearchKeyword = "happy"
local success, result = pcall(function()
return AssetService:SearchAudio(audioSearchParams)
end)
if success then
local currentPage = result:GetCurrentPage()
for _, audio in currentPage do
print(audio.Title)
end
else
warn("AssetService error: " .. result)
end
--[[ Returned data format
{
"AudioType": string,
"Artist": string,
"Title": string,
"Tags": {
"string"
},
"Id": number,
"IsEndorsed": boolean,
"Description": string,
"Duration": number,
"CreateTime": string,
"UpdateTime": string,
"Creator": {
"Id": number,
"Name": string,
"Type": number,
"IsVerifiedCreator": boolean
}
}
--]]

อีเวนต์