AssetService
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
AssetService es un servicio no replicado que maneja consultas relacionadas con recursos a la API web de Roblox.
Resumo
Métodos
Crea una nueva EditableImage .
Crear un nuevo, vacío EditableMesh .
Crea una nueva instancia de EditableImage llena de la imagen proporcionada.
Regresa una nueva instancia de EditableMesh creada a partir de un ID de contenido de malla existente.
Crea una nueva MeshPart con un ID de malla especificado y una tabla de valores de fidelidad opcional.
Clona un lugar a través del dado templatePlaceID .
- CreatePlaceInPlayerInventoryAsync(player : Instance,placeName : string,templatePlaceID : number,description : string):number
Clona un lugar a través del dado templatePlaceID y lo pone en el inventario del jugador dado.
Devuelve un conjunto de ID de activos que se contienen en un paquete especificado.
Proporciona metadatos relevantes sobre una de origenaudio específica.
Restaura los detalles de los contenidos del paquete especificado.
Devuelve un objeto StandardPages que contiene el nombre y PlaceId de los lugares dentro de la experiencia actual.
Permite la creación de activos en la experiencia para los usuarios al solicitar un diálogo de publicación.
Guarda el estado del lugar actual.
Encuentra recursos de audio que coinciden con una variedad de criterios de búsqueda.
Propriedades
Métodos
CreateEditableImage
Crea una nueva EditableImage . Por defecto, la resolución se establece en 512×512, pero puede especificar un tamaño diferente usando la tabla de opciones del método.
Si el presupuesto de memoria específico del dispositivo se agota, la creación falla y este método devuelve nil .
Parâmetros
Tabla de opciones que contiene controles para el método:
- Size – Un Vector2 que especifica el ancho y la altura deseados de la imagen.
Devolução
CreateEditableMesh
Crea un nuevo, vacío EditableMesh . Las verticales, triángulos y sus atributos se pueden agregar dinámicamente a él. Si el presupuesto de memoria editable del dispositivo se agota, la creación fallará y este método devolverá nil .
Parâmetros
Devolução
CreateEditableImageAsync
Crea una nueva instancia de EditableImage que está llena de la textura dada. Los ID de textura no son de propiedad de los creadores de los recursos, como rbxthumb:// . Si está usando un ID de textura de dispositivo, debe estar asociado y/o poseer un creador del experiencia, o debe haber sido creado dentro del experiencia. Si el presup
Parâmetros
Devolução
Una nueva EditableImage que contiene la imagen proporcionada.
CreateEditableMeshAsync
Regresa una nueva instancia de Class.EditableMesh creada a partir de un ID de contenido de malla existente. Por defecto, un Class.EditableMesh creado desde este método se fijará el tamaño para que los datos de malla solo se puedan modificar, no se pueden agregar ni eliminar. Un tamaño fijo1> Class.EditableMesh1> consumirá menos memoria y se recomendará cuando
Si el presupuesto de memoria específico del dispositivo se agota, la creación fallará y este método devolverá nil .
Parâmetros
Tabla de opciones que contiene controles para el método:
- FixedSize – A bool . El valor predeterminado es true , y el valor devuelto 0> Class.EditableMesh0> no le permitirá agregar o eliminar vértices, solo modificar sus valores. Establece a FixedSize3> si se requiere la capacidad de cambiar la topología del malla, a expensas
Devolução
La nueva instancia EditableMesh
CreateMeshPartAsync
Este método crea un MeshPart con una especificación de CollisionFidelity , Class.MeshPart.RenderFidelity|Render
Parâmetros
Tabla de opciones que contiene uno o más controles para el método:
- CollisionFidelity – El valor de CollisionFidelity en la parte resultante. Por defecto, es Enum.CollisionFidelity.Default si se ausenta la opción o la tabla 0> Options0> .
- RenderFidelity – El valor de RenderFidelity en la parte resultante. Por defecto, es Enum.RenderFidelity.Automatic si la opción está ausente o la tabla 0> Options0> es RenderFidelity3> .
- FluidFidelity – El valor de FluidFidelity en la parte resultante. Por defecto, es Enum.FluidFidelity.Automatic si se ausenta la opción o la tabla 0> Options0> .
Devolução
CreatePlaceAsync
Clona un lugar a través del templatePlaceID dado y devuelve el PlaceId del nuevo lugar, que puedes usar con TeleportService. El lugar de clon se muestra dentro del inventario del creador del lugar con el nombre y la descripción dados.
Nota que el lugar de plantilla debe tener la copia de plantilla habilitada a través de la configuración del lugar. No puedes usar este método para clonar lugares que no son propiedad en posesión.
No se recomienda el uso frecuente de esta API, especialmente si los lugares creados contienen scripts, ya que actualizar el código en un gran volumen de lugares se vuelve inviables rápidamente. Para los mundos generados por el usuario, considere la serialización de las creaciones del usuario y la guardación en DataStores en lugar.
Parâmetros
Nombre del nuevo lugar.
Descripción del nuevo lugar.
Devolução
CreatePlaceInPlayerInventoryAsync
Parâmetros
Devolução
GetAssetIdsForPackage
Devuelve un conjunto de ID de activos que se contienen en un paquete especificado.
Parâmetros
Devolução
IDs de activos que están contenidos en un paquete especificado.
GetAudioMetadataAsync
Proporciona metadatos relevantes sobre una fuente de audio específica (artista, título, duración, introducir, etc.).
Parâmetros
Matriz de ID de activo o contenido para recuperar los metadatos. El tamaño máximo del lote es 30.
Devolução
Matriz de tablas de diccionario en el mismo orden que la solicitud, donde cada diccionario contiene los siguientes metadatos para su activo/contenido:
AssetId ( string )
Title ( string )
Artist ( string )
Duration ( número ) en segundos
AudioType ( Enum.AudioSubType )
Tenga en cuenta que si ocurre un error al buscar metadatos para cualquiera de los recursos solicitados, por ejemplo, el ID de su recurso no existe, su tabla de diccionario aún se incluye en el conjunto devuelto pero sólo contiene el campo AssetId para propósitos de referencia. Además, si el AudioType no se puede determinar para un recurso específico (por ejemplo,
Amostras de código
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
Esta función devuelve los detalles de los contenidos del paquete especificado.
Si el ID del paquete no existe, muestra HTTP 400 (Bad Request) . Si bundleId no se puede convertir a un número entero, muestra Unable to cast string to int64 .
Parâmetros
El ID del paquete especificado.
Devolução
Diccionario con las siguientes parejas de claves que contienen detalles sobre el paquete especificado:
Id — ID de paquete (mismo que el argumento pasado bundleId )
Name — Nombre del paquete
Description — descripcióndel paquete
BundleType — Strings representando el Enum.BundleType , por ejemplo "BodyParts" o 0> "DynamicHead"0>
Items — Arrays de elementos en el paquete, cada uno con detalles representados a través de las siguientes llaves:
Id — ID del artículo
Name — Nombre del artículo
Type — Tipo de artículo, como "Asset"Asset .
Amostras de código
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
Devuelve un objeto StandardPages que contiene el nombre y PlaceId de los lugares dentro de la experiencia actual.
Devolução
Amostras de código
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
Permite la creación de activos en la experiencia para los usuarios al solicitar un diálogo de publicación. Cuando se llama, presenta un diálogo al usuario, lo que les permite ingresar un nombre, descripción y ver el recurso. Al enviar, se guarda el activo en el inventario del usuario. Solo se puede invocar en el lado del servidor.
Parâmetros
El usuario que envía una creacionesde artículo.
El activo para crear. No se puede crear actualmente scripts o anidar no-public assets.
El introducirde activo. Por ahora, solo puede ser Enum.AssetType.Model .
Devolução
El Enum.PromptCreateAssetResult y el ID de activo si es exitoso.
PromptImportAnimationClipFromVideoAsync
Parâmetros
Devolução
SavePlaceAsync
Guarda el estado del lugar actual. Solo funciona para los lugares que se crean con AssetService:CreatePlaceAsync() o que tienen la API habilitada a través de la configuración del lugar.
Devolução
SearchAudio
Devuelve un objeto AudioPages que contiene el resultado de la buscarproporcionado. No devolverá campos con valores vacíos.
Tenga en cuenta que este método tiene un límite de solicitudes HTTP bajas y puede lanzar un error, por lo que siempre debe estar envuelto en pcall() para el manejo de errores. Los posibles mensajes de error incluyen:
<tbody><tr><td>HTTP 429 (Demasiadas solicitudes)</td><td><code>Class.AssetService:SearchAudio()</code> ha sido llamado demasiadas veces.</td></tr><tr><td>Tipo inesperado para los datos, el tipo esperado fue nulo</td><td>El argumento de la palabra clave fue filtrado.</td></tr></tbody>
Mensaje de error | Razón |
---|
Parâmetros
Devolução
Amostras de código
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
}
}
--]]