AssetService
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
AssetService adalah layanan tidak replik yang menangani penggunaan kata kunci terkait aset ke situs web API Roblox.
Rangkuman
Metode
Membuat EditableImage baru.
Membuat EditableMesh baru yang kosong.
Membuat objek EditableImage baru yang dipenuhi dengan gambar yang diberikan.
Mengembalikan objek EditableMesh baru yang dibuat dari ID konten mesh yang ada.
Membuat Class.MeshPart baru dengan ID jaringan spesifik dan tabel fidelitas opcional.
Mengkloning tempat melalui templatePlaceID yang diberikan.
- CreatePlaceInPlayerInventoryAsync(player : Instance,placeName : string,templatePlaceID : number,description : string):number
Mengklon tempat melalui templatePlaceID yang diberikan dan menempatkannya di inventaris pemain yang diberikan.
Mengembalikan array ID aset yang terkandung dalam paket tertentu.
Menyediakan metadata yang relevan tentang sumber audio tertentu.
Mengembalikan rincian dari konten bundel yang ditentukan.
Mengembalikan objek StandardPages yang mengandung nama dan PlaceId dari tempat-tempat dalam pengalaman saat ini.
Memungkinkan pembuatan aset dalam pengalaman untuk pengguna dengan menyebutkan dialog publikasi.
Simpan status tempat saat ini.
Menemukan sumber daya audio yang cocok dengan berbagai kriteria pencarian.
Properti
Metode
CreateEditableImage
Menciptakan EditableImage baru. Secara default, resolsi ditetapkan di 512×512, tetapi Anda dapat menentukan ukuran yang berbeda menggunakan tabel opsi metode.
Jika anggaran memori yang dapat diubah khusus perangkat dihabiskan, pembuatan gagal dan metode ini menghasilkan nil .
Parameter
Tabel opsi berisi kontrol untuk metode:
- Size – A Vector2 yang spesifikasi lebar dan tinggi gambar.
Memberikan nilai
CreateEditableMesh
Menciptakan EditableMesh baru yang kosong. Vertik, segi dan属性nya dapat ditambahkan secara dinamis ke itu. Jika anggaran memori perangkat khusus yang dapat diubah dihabiskan, pembuatan akan gagal dan metode ini akan mengembalikan nil .
Parameter
Memberikan nilai
CreateEditableImageAsync
Menciptakan objek EditableImage baru yang dipenuhi dengan teks yang diberikan. ID teks non-aset seperti rbxthumb:// didukung. Jika menggunakan memori teks, itu harus dikaitkan dengan dan/atau dimiliki oleh pembuat pengalaman, atau itu harus telah dibuat
Lihat bagian Mengaktifkan EditableImage untuk Pengalaman Terbituhan dan Izinkan bagian dari EditableImage ketika menggunakan API ini.
Parameter
Memberikan nilai
Sebuah EditableImage baru berisi gambar yang diberikan.
CreateEditableMeshAsync
Mengembalikan objek EditableMesh baru yang dibuat dari ID konten mesh yang ada. Secara default, objek EditableMesh yang dibuat dari metode ini akan diubah ukurannya sehingga data mesh hanya dapat dimodifikasi, bukan ditambahkan atau dihapus. Ukuran tetap EditableMesh dikonsumsi leb
Jika anggaran memori yang dapat diubah khusus perangkat dihabiskan, pembuatan akan gagal dan metode ini akan mengembalikan nil .
Lihat bagian Mengaktifkan EditableMesh untuk Pengalaman Terbituhan dan Izinkan bagian dari EditableMesh ketika menggunakan API ini.
Parameter
Tabel opsi berisi kontrol untuk metode:
- FixedSize – A bool . Default value is true , and the returned 0> Class.EditableMesh0> will not allow you to add or remove vertices, only modify their values. Set to FixedSize3> if the ability to change the mesh topology is required, at the expense of using more memory.
Memberikan nilai
Instansi baru EditableMesh .
CreateMeshPartAsync
Metode ini menciptakan MeshPart dengan CollisionFidelity , Class.MeshPart.RenderFidel
Parameter
Tabel opsi berisi satu atau lebih kontrol untuk metode:
- CollisionFidelity –Nilai dari CollisionFidelity di bagian yang dihasilkan. Standar untuk Enum.CollisionFidelity.Default jika opsi hilang atau tabel 0> Options0> adalah CollisionFidelity3> .
- RenderFidelity –Nilai dari RenderFidelity di bagian yang dihasilkan. Standar untuk Enum.RenderFidelity.Automatic jika opsi hilang atau tabel 0> options0> adalah RenderFidelity3> .
- FluidFidelity –Nilai dari FluidFidelity di bagian yang dihasilkan. Standar untuk Enum.FluidFidelity.Automatic jika opsi hilang atau tabel 0> Options0> adalah FluidFidelity3>.
Memberikan nilai
CreatePlaceAsync
Mengkloning tempat melalui templatePlaceID yang diberikan dan mengembalikan PlaceId dari tempat baru, yang dapat Anda gunakan dengan TeleportService. Tempat klon ditampilkan di dalam inventaris pembuat tempat dengan nama dan deskripsi yang diberikan.
Catat bahwa tempat template harus memiliki kopian templat aktif melalui pengaturan tempat. Anda tidak dapat menggunakan metode ini untuk menklon tempat yang tidak Anda miliki.
Penggunaan API ini tidak disarankan, terutama jika tempat yang dibuat berisi skrip, karena meng-update kode dalam jumlah besar tempat dengan cepat menjadi tidak mungkin. Untuk dunia pengguna, pertimbangkan sinkronisasi pembuatan pengguna dan menyimpan mereka di DataStores alih-alih.
Parameter
Nama tempat baru.
Deskripsi tempat baru.
Memberikan nilai
CreatePlaceInPlayerInventoryAsync
Parameter
Memberikan nilai
GetAssetIdsForPackage
Mengembalikan array ID aset yang terkandung dalam paket tertentu.
Parameter
Memberikan nilai
ID aset yang terkandung dalam paket yang ditentukan.
GetAudioMetadataAsync
Menyediakan metadata yang relevan tentang sumber audio tertentu (artis, judul, durasi, ketik, dll).
Parameter
Array dari ID aset atau konten untuk diambil metrik. Batas ukuran batch adalah 30.
Memberikan nilai
Array tabel dicetak dalam urutan yang sama dengan permintaan, di mana setiap dicetak memiliki metadata berikut untuk aset/kontennya:
AssetId ( string )
Title ( string )
Artist ( string )
Duration ( nomor ) dalam detik
AudioType (Enum.AudioSubType )
Catat bahwa jika terjadi kesalahan saat mengambil metadata untuk salah satu dari permintaan aset, misalnya ID aset tidak ada, tabel dicakupnya masih termasuk dalam array yang dikembalikan tetapi hanya berisi AssetId field untuk tujuan referensi. Selain itu, jika AudioType tidak dapat
Contoh Kode
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
Fungsi ini mengembalikan rincian dari konten bundel yang ditentukan.
Jika ID bundel tidak ada, itu menghasilkan HTTP 400 (Bad Request) . Jika bundleId tidak dapat dikonversi menjadi angka, itu menghasilkan Unable to cast string to int64 .
Parameter
ID dari bundel yang ditentukan.
Memberikan nilai
Daftar kata dengan pasangan nilai kunci berikut yang berisi rincian tentang bundel yang ditentukan:
Id — ID Bundle (sama dengan argumen yang dilewati bundleId)
Name — Nama bundel
Description — deskripsibundel
BundleType — Strings mewakili Enum.BundleType , misalnya "BodyParts" atau 0>#DynamicHead"0>
Items — Array item dalam bundel, masing-masing dengan rincian diwakili melalui kunci berikut:
Id — ID Item
Name — Nama item
Type — Jenis item seperti "Asset".
Contoh Kode
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
Mengembalikan objek StandardPages yang mengandung nama dan PlaceId dari tempat-tempat dalam pengalaman saat ini.
Memberikan nilai
Contoh Kode
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
Memungkinkan pembuatan aset dalam pengalaman bagi pengguna dengan menyediakan dialog publikasi. Saat dipanggil, itu menghadirkan dialog kepada pengguna, memungkinkan mereka untuk memasukkan nama, deskripsi, dan pratinjau aset. Setelah disubmet, itu menyimpan aset ke inventaris pengguna. Hanya dapat dimulai di sisi server.
Parameter
Pengguna yang mengirimkan kreasiaset.
Aset yang akan dibuat. Saat ini tidak dapat berisi skrip atau menyebutkan non-publik aset.
ketikaset. Saat ini hanya dapat Enum.AssetType.Model .
Memberikan nilai
Enam.MengumpulkanHasilMenciptakanAssetResult dan ID aset jika berhasil.
PromptImportAnimationClipFromVideoAsync
Parameter
Memberikan nilai
SavePlaceAsync
Menyimpan status tempat saat ini. Hanya berfungsi untuk tempat yang dibuat dengan AssetService:CreatePlaceAsync() atau yang memiliki API diaktifkan melalui pengaturan tempat.
Memberikan nilai
SearchAudio
Mengembalikan objek AudioPages yang berisi hasil dari pencarian yang diberikan. Tidak akan mengembalikan bidang dengan nilai kosong.
Catat bahwa metode ini memiliki batas permintaan HTTP yang rendah dan dapat menghasilkan kesalahan, jadi itu seharusnya selalu dikemas dalam pcall() untuk menangani kesalahan. Mungkin pesan kesalahan yang mungkin termasuk:
<tbody><tr><td>HTTP 429 (Terlalu Banyak Permintaan)</td><td><code>Class.AssetService:SearchAudio()</code> telah dipanggil terlalu banyak kali.</td></tr><tr><td>Tipe yang tidak diharapkan untuk data, array yang diharapkan menjadi nol</td><td>Argumen kata kunci di filtered.</td></tr></tbody>
Pesan Kesalahan | Alasan |
---|
Parameter
Memberikan nilai
Contoh Kode
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
}
}
--]]