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

Layanan Aset adalah layanan non-direplikasi yang menangani pencarian terkait aset ke API web Roblox.

Rangkuman

Metode

Properti

Metode

CreateEditableImage

Membuat baru EditableImage . Secara default, resolusi diatur pada 512×512, tetapi Anda dapat menentukan ukuran yang berbeda menggunakan tabel opsi metode.

Jika anggaran memori yang dapat diedit khusus perangkat dihabiskan, penciptaan gagal dan metode ini kembali nil .

Parameter

editableImageOptions: Dictionary

Tabel opsi yang berisi kontrol untuk metode:

  • Size – A Vector2 yang menentukan lebar dan ketinggian gambar yang diinginkan.
Nilai Default: ""

Memberikan nilai

CreateEditableMesh

Membuat baru, kosong EditableMesh .Vertiks, segi tiga, dan atribut mereka dapat ditambahkan secara dinamis ke dalamnya.Jika anggaran memori yang dapat diedit khusus perangkat dihabiskan, penciptaan akan gagal dan metode ini akan kembali nil .

Parameter

editableMeshOptions: Dictionary

Tabel yang berisi opsi untuk dibuat EditableMesh .Saat ini tidak ada opsi yang tersedia karena FixedSize akan selalu menjadi false untuk mesh yang dapat diedit kosong.

Nilai Default: ""

Memberikan nilai

CreateSurfaceAppearance

Parameter

content: Dictionary
Nilai Default: ""

Memberikan nilai

CreateAssetAsync

Hasil

Mengunggah aset baru ke Roblox dari objek yang diberikan.

Saat ini, metode ini hanya dapat digunakan di plugin yang dimuat lokal dan mengunggah aset tanpa meminta pertama.

Parameter

object: Object

Objek yang akan dibuat sebagai aset.

Nilai Default: ""
assetType: Enum.AssetType

Jenis yang saat ini didukung adalah:

Nilai Default: ""
requestParameters: Dictionary

Tabel opsi yang berisi metadata aset:

  • Name – Nama aset sebagai string. Nilai default adalah [object.Name] .
  • Description – Deskripsi aset sebagai string. Nilai default adalah "Created with AssetService:CreateAssetAsync" .
  • CreatorId – ID pembuat aset sebagai angka.Default ke pengguna Roblox Studio yang masuk untuk konteks Plugin.Diperlukan untuk Konteks Eksekusi Luau Cloud Terbuka.
  • CreatorTypeEnum.AssetCreatorType menunjukkan jenis kreatoraset.Default ke Enum.AssetCreatorType.User di konteks Plugin.Diperlukan untuk Konteks Eksekusi Luau Cloud Terbuka.
  • IsPackage – Nilai Boolean, hanya berlaku untuk tipe Enum.AssetType.Model . Default ke true .
Nilai Default: "nil"

Memberikan nilai

Pasangan ID Enum.CreateAssetResult dan aset jika berhasil.

Contoh Kode

The following code creates a Mesh asset from an EditableMesh.

AssetService:CreateAssetAsync

local AssetService = game:GetService("AssetService")
local editableMesh = AssetService:CreateEditableMesh()
-- add vertices, faces, and uvs to the mesh
local requestParameters = {
CreatorId = 123,
CreatorType = Enum.AssetCreatorType.User,
Name = "My asset",
Description = "a good asset",
}
local ok, result, idOrUploadErr = pcall(function()
return AssetService:CreateAssetAsync(editableMesh, Enum.AssetType.Mesh, requestParameters)
end)
if not ok then
warn(`error calling CreateAssetAsync: {result}`)
elseif result == Enum.CreateAssetResult.Success then
print(`success, new asset id: {idOrUploadErr}`)
else
warn(`upload error in CreateAssetAsync: {result}, {idOrUploadErr}`)
end

CreateAssetVersionAsync

Hasil

Mengunggah versi baru untuk aset yang ada dari objek yang diberikan.

Saat ini, metode ini hanya dapat digunakan di plugin yang dimuat lokal dan mengunggah aset tanpa meminta pertama.

Parameter

object: Object

Objek yang akan dibuat sebagai aset.

Nilai Default: ""
assetType: Enum.AssetType

Jenis yang saat ini didukung adalah:

Nilai Default: ""
assetId: number

ID aset untuk versi baru.

Nilai Default: ""
requestParameters: Dictionary

Tabel opsi yang berisi metadata aset:

  • Name – A string . Nama aset. Standar: object.Name.
  • Description – A string . Deskripsi aset. Standar: "Dibuat dengan AssetService:CreateAssetAsync".
  • CreatorId – A number .ID kreatoraset.Default: Pengguna Roblox Studio yang masuk untuk konteks Plugin.Diperlukan untuk Konteks Eksekusi Luau Cloud Terbuka.
  • CreatorType – A Enum.AssetCreatorType . Jenis kreatoraset. Standar: Enum.AssetCreatorType.User dalam konteks Plugin. Diperlukan untuk konteks Eksekusi Luau Cloud Terbuka.
  • IsPackage – A bool . Hanya berlaku untuk tipe Enum.AssetType.Model . Default: benar.
Nilai Default: "nil"

Memberikan nilai

Pasangan nomor versi Enum.CreateAssetResult dan aset jika berhasil.

Contoh Kode

The following code creates a new Model asset version.

AssetService:CreateAssetVersionAsync

local AssetService = game:GetService("AssetService")
local assetIdToUpdate = 321
local model = Instance.new("Model")
local requestParameters = {
CreatorId = 123,
CreatorType = Enum.AssetCreatorType.User,
}
local ok, result, versionOrUploadErr = pcall(function()
return AssetService:CreateAssetVersionAsync(model, Enum.AssetType.Model, assetIdToUpdate, requestParameters)
end)
if not ok then
warn(`error calling CreateAssetVersionAsync: {result}`)
elseif result == Enum.CreateAssetResult.Success then
print(`success, new asset version: {versionOrUploadErr}`)
else
warn(`upload error in CreateAssetVersionAsync: {result}, {versionOrUploadErr}`)
end

CreateEditableImageAsync

Hasil

Membuat objek baru EditableImage yang diisi dengan tekstur yang diberikan.ID tekstur non-aset seperti rbxthumb:// didukung.Jika menggunakan aset gambar, itu harus terkait dengan dan/atau dimiliki oleh pencipta pengalaman, atau harus telah dibuat di dalam pengalaman.Jika anggaran memori yang dapat diedit khusus perangkat dihabiskan, penciptaan akan gagal dan metode ini akan kembali nil .

Lihat dokumentasi EditableImage untuk pertimbangan khusus saat menggunakan API ini.

Parameter

content: Content

Referensi ke konten aset yang disimpan secara eksternal atau sebagai objek di tempat, melingkupi nilai tunggal dari salah satu nilai Enum.ContentSourceType yang didukung.

Nilai Default: ""
editableImageOptions: Dictionary

Tabel yang berisi opsi untuk dibuat EditableImage . Saat ini tidak ada opsi yang tersedia karena tidak mendukung penyesuaian ulang melalui Size .

Nilai Default: ""

Memberikan nilai

Sebuah baru EditableImage berisi gambar yang disediakan.

CreateEditableMeshAsync

Hasil

Kembalikan objek baru EditableMesh yang dibuat dari ID EditableMesh atau mesh Content yang ada.Secara default, EditableMesh yang dibuat dari metode ini akan memiliki ukuran tetap sehingga data mesh hanya dapat dimodifikasi, tidak ditambahkan atau dihapus.Ukuran tetap EditableMesh mengkonsumsi lebih sedikit memori dan harus dipilih saat mungkin.

Jika anggaran memori yang dapat diedit khusus perangkat dihabiskan, penciptaan akan gagal dan metode ini akan kembali nil .

Lihat bagian Mengaktifkan EditableMesh untuk Pengalaman Terpublikasi dan Izin dari EditableMesh untuk pertimbangan khusus saat menggunakan API ini.

Parameter

content: Content

Referensi ke konten aset yang disimpan secara eksternal atau sebagai objek di tempat, melingkupi nilai tunggal dari salah satu nilai Enum.ContentSourceType yang didukung.

Nilai Default: ""
editableMeshOptions: Dictionary

Tabel opsi yang berisi kontrol untuk metode:

  • FixedSize – A bool .Nilai default adalah true , dan kembali EditableMesh tidak akan memungkinkan Anda untuk menambahkan atau menghapus vertiks, hanya memodifikasi nilai mereka.Atur ke false jika kemampuan untuk mengubah topologi mesh diperlukan, dengan biaya menggunakan lebih banyak memori.
Nilai Default: ""

Memberikan nilai

CreateMeshPartAsync

Hasil

Metode ini membuat MeshPart dengan CollisionFidelity yang ditentukan, RenderFidelity , dan FluidFidelity .Karena MeshPart.MeshId dibaca hanya, metode ini untuk membuat mesh dengan ID mesh apa pun melalui skrip, tanpa perlu menyalin mesh MeshPart yang ada.Ia melempar kesalahan jika penciptaan gagal.

Parameter

meshContent: Content

Referensi ke konten aset yang disimpan secara eksternal atau sebagai objek di tempat, melingkupi nilai tunggal dari salah satu nilai Enum.ContentSourceType yang didukung.

Nilai Default: ""
options: Dictionary

Tabel opsi yang berisi satu atau lebih kontrol untuk metode:

Nilai Default: "nil"

Memberikan nilai

CreatePlaceAsync

Hasil

Klon tempat melalui templatePlaceID yang diberikan dan kembalikan PlaceId dari tempat baru, yang dapat Anda gunakan dengan TeleportService .Tempat klon ditampilkan dalam inventaris pencipta tempat dengan nama dan deskripsi yang diberikan.

Perhatikan bahwa tempat template harus memiliki salinan templat yang diaktifkan melalui pengaturan tempat. Anda tidak dapat menggunakan metode ini untuk menyalin tempat yang tidak Anda miliki.

Penggunaan sering API ini tidak direkomendasikan, terutama jika tempat yang dibuat berisi skrip, karena memperbarui kode dalam volume besar tempat dengan cepat menjadi tidak mungkin.Untuk dunia yang dihasilkan oleh pengguna, pertimbangkan serialisasi kreasi pengguna dan menyimpannya di DataStores sebagai gantinya.

Parameter

placeName: string

Nama tempat baru.

Nilai Default: ""
templatePlaceID: number

PlaceId dari tempat untuk kloning.

Nilai Default: ""
description: string

Deskripsi tempat baru.

Nilai Default: ""

Memberikan nilai

PlaceId dari tempat baru.

CreatePlaceInPlayerInventoryAsync

Hasil

Parameter

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

Memberikan nilai

GetAssetIdsForPackage

Hasil

Kembalikan array ID aset yang terkandung dalam paket tertentu.

Parameter

packageAssetId: number
Nilai Default: ""

Memberikan nilai

ID aset yang terkandung dalam paket tertentu.

GetAudioMetadataAsync

Hasil

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

Parameter

idList: Array

Array ID aset atau konten untuk diambil metadata. Ukuran batch maksimum adalah 30.

Nilai Default: ""

Memberikan nilai

Array tabel kamus dalam urutan yang sama dengan permintaan, di mana setiap kamus berisi metadata berikut untuk aset/isi kontennya:

  • AssetId (string)

  • Title (string)

  • Artist (string)

  • Duration (number) dalam detik

  • AudioType ( Enum.AudioSubType )

Perhatikan bahwa jika terjadi kesalahan saat mengambil metadata untuk salah satu aset yang diminta, misalnya ID aset tidak ada, tabel kamusnya masih termasuk dalam array yang dikembalikan tetapi hanya berisi bidang AssetId untuk tujuan referensi.Selain itu, jika AudioType tidak dapat ditentukan untuk aset tertentu (mungkin karena ini adalah audio pribadi), kamus yang dihasilkan tidak akan berisi entri AudioType.

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 men返ikan rincian dari konten bundel yang ditentukan.

Jika ID bundel tidak ada, ia melempar HTTP 400 (Bad Request) . Jika bundleId tidak dapat diubah menjadi bilangan bulat, ia melempar Unable to cast string to int64 .

Parameter

bundleId: number

ID bundel yang ditentukan.

Nilai Default: ""

Memberikan nilai

Kamus dengan pas kunci-nilai berikut yang berisi rincian tentang bundel yang ditentukan:

  • Id — ID bundel (sama dengan argumen yang dilewati bundleId )

  • Name — Nama bundel

  • Description - deskripsibundel

  • BundleType — String yang mewakili Enum.BundleType , misalnya "BodyParts" atau "DynamicHead"

  • Items — Array item dalam bundel, masing-masing dengan rincian yang 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

Kembalikan objek StandardPages yang berisi nama dan PlaceId tempat dalam pengalaman saat ini.


Memberikan nilai

Contoh Kode

The following code prints the name and PlaceId of each place in the experience.

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 penciptaan aset dalam pengalaman untuk pengguna dengan meminta dialog publikasi.Saat dipanggil, ia menampilkan dialog kepada pengguna, memungkinkan mereka untuk memasukkan nama, deskripsi, dan pratinjau aset.Setelah menyelesaikan, aset disimpan ke inventaris pengguna.Hanya dapat diaktifkan di sisi server.

Parameter

player: Player

Pengguna yang mengirimkan kreasiaset.

Nilai Default: ""
instance: Instance

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

Nilai Default: ""
assetType: Enum.AssetType

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

Nilai Default: ""

Memberikan nilai

Pasangan ID Enum.PromptCreateAssetResult dan aset jika berhasil.

PromptImportAnimationClipFromVideoAsync

Hasil

Parameter

player: Player
Nilai Default: ""
progressCallback: function
Nilai Default: ""

Memberikan nilai

SavePlaceAsync

()
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

()

SearchAudio

Hasil

Kembalikan objek AudioPages yang berisi hasil pencarian yang diberikan. Tidak akan mengembalikan bidang dengan nilai kosong.

Perhatikan bahwa metode ini memiliki batas permintaan HTTP rendah dan dapat menyebabkan kesalahan, sehingga harus selalu dibungkus dalam pcall() untuk penanganan kesalahan.Pesan kesalahan yang mungkin termasuk:


<th>Penyebab</th>
</tr>
</thead>
<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 tak terduga untuk data, array yang diharapkan menjadi nol</td>
<td>Argumen kata kunci disaring.</td>
</tr>
</tbody>
Pesan Kesalahan

Parameter

searchParameters: AudioSearchParams
Nilai Default: ""

Memberikan nilai

Contoh Kode

This code gets the music assets returned by the keyword "happy" and prints out their titles.

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