AssetService

Tampilkan yang Tidak Digunakan Lagi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Tidak Dapat Dibuat
Layanan

AssetService adalah layanan tidak replik yang menangani penggunaan kata kunci terkait aset ke situs web API Roblox.

Rangkuman

Metode

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

editableImageOptions: Dictionary

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

editableMeshOptions: Dictionary

Memberikan nilai

CreateEditableImageAsync

Hasil

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

content: Content
editableImageOptions: Dictionary

Memberikan nilai

Sebuah EditableImage baru berisi gambar yang diberikan.

CreateEditableMeshAsync

Hasil

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

content: Content
editableMeshOptions: Dictionary

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

Hasil

Metode ini menciptakan MeshPart dengan CollisionFidelity , Class.MeshPart.RenderFidel

Parameter

meshContent: Content
options: Dictionary

Tabel opsi berisi satu atau lebih kontrol untuk metode:

Nilai Default: "nil"

Memberikan nilai

CreatePlaceAsync

Hasil

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

placeName: string

Nama tempat baru.

templatePlaceID: number

PlaceId dari tempat untuk klon.

description: string

Deskripsi tempat baru.

Nilai Default: ""

Memberikan nilai

PlaceId dari tempat baru.

CreatePlaceInPlayerInventoryAsync

Hasil

Parameter

player: Instance
placeName: string
templatePlaceID: number
description: string
Nilai Default: ""

Memberikan nilai

GetAssetIdsForPackage

Hasil

Mengembalikan array ID aset yang terkandung dalam paket tertentu.

Parameter

packageAssetId: number

Memberikan nilai

ID aset yang terkandung dalam paket yang ditentukan.

GetAudioMetadataAsync

Hasil

Menyediakan metadata yang relevan tentang sumber audio tertentu (artis, judul, durasi, ketik, dll).

Parameter

idList: Array

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:

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

Hasil

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

bundleId: number

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

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

Hasil

Mengembalikan objek StandardPages yang mengandung nama dan PlaceId dari tempat-tempat dalam pengalaman saat ini.


Memberikan nilai

Contoh Kode

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

Hasil

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

player: Player

Pengguna yang mengirimkan kreasiaset.

instance: Instance

Aset yang akan dibuat. Saat ini tidak dapat berisi skrip atau menyebutkan non-publik aset.

assetType: Enum.AssetType

ketikaset. Saat ini hanya dapat Enum.AssetType.Model .


Memberikan nilai

Enam.MengumpulkanHasilMenciptakanAssetResult dan ID aset jika berhasil.

PromptImportAnimationClipFromVideoAsync

Hasil

Parameter

player: Player
progressCallback: function

Memberikan nilai

SavePlaceAsync

void
Hasil

Menyimpan status tempat saat ini. Hanya berfungsi untuk tempat yang dibuat dengan AssetService:CreatePlaceAsync() atau yang memiliki API diaktifkan melalui pengaturan tempat.


Memberikan nilai

void

SearchAudio

Hasil

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 KesalahanAlasan

Parameter

searchParameters: AudioSearchParams

Memberikan nilai

Contoh Kode

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
}
}
--]]

Acara