AssetService

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Não criável
Serviço

Serviço de Recursos é um serviço não replicado que lida com consultas relacionadas a recursos na API (Interface de Programação para Aplicações)da web Roblox.

Resumo

Métodos

Propriedades

Métodos

CreateEditableImage

Cria um novo EditableImage . Por padrão, a resolução é definida em 512×512, mas você pode especificar um tamanho diferente usando a tabela de opções do método.

Se o orçamento de memória editável específico do dispositivo for exaurido, a criação falha e este método retorna nil .

Parâmetros

editableImageOptions: Dictionary

Tabela de opções que contém controles para o método:

  • Size – Um Vector2 que especifica a largura e a altura desejadas da imagem.
Valor Padrão: ""

Devolução

CreateEditableMesh

Cria um novo, vazio EditableMesh.Vérteces, triângulos e seus atributos podem ser adicionados dinamicamente a ele.Se o orçamento de memória editável específico do dispositivo for esgotado, a criação falhará e este método retornará nil .

Parâmetros

editableMeshOptions: Dictionary

Tabela que contém opções para o criado EditableMesh .Atualmente, não há opções disponíveis desde que FixedSize sempre será false para malhas editáveis vazias.

Valor Padrão: ""

Devolução

CreateSurfaceAppearance

Parâmetros

content: Dictionary
Valor Padrão: ""

Devolução

CreateAssetAsync

Rendimentos

Carrega um novo recurso no Roblox a partir do Objetodado.

Atualmente, esse método só pode ser usado em plugins locamente carregados e carregar recursos sem solicitar primeiro.

Parâmetros

object: Object

O objeto a ser criado como um ativo.

Valor Padrão: ""
assetType: Enum.AssetType

Tipos atualmente suportados são:

Valor Padrão: ""
requestParameters: Dictionary

Tabela de opções que contém metadados de recursos:

  • Name – Nome do recurso como uma string / cadeia / texto. Padrão para [object.Name] .
  • Description – Descrição do recurso como uma string / cadeia / texto. Padrão para "Created with AssetService:CreateAssetAsync" .
  • CreatorId – ID do criador de recursos como um número.Padrão para o usuário do Roblox Studio logado para o contexto do Plugin.Requerido para o contexto de execução do Open Cloud Luau.
  • CreatorTypeEnum.AssetCreatorType indicando o tipo de criador de recursos.Padrão para Enum.AssetCreatorType.User no contexto do Plugin.Requerido para o contexto de execução do Open Cloud Luau.
  • IsPackage – Valor booleano, aplicável apenas ao digitarEnum.AssetType.Model. Padrão para true.
Valor Padrão: "nil"

Devolução

O par de ID de recurso e ID de recurso se Enum.CreateAssetResult for bem-sucedido.

Amostras de código

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

Rendimentos

Carrega uma nova versão para um recurso existente a partir do Objetodado.

Atualmente, esse método só pode ser usado em plugins locamente carregados e carregar recursos sem solicitar primeiro.

Parâmetros

object: Object

O objeto a ser criado como um ativo.

Valor Padrão: ""
assetType: Enum.AssetType

Tipos atualmente suportados são:

Valor Padrão: ""
assetId: number

O ID do recurso para a nova versão.

Valor Padrão: ""
requestParameters: Dictionary

Tabela de opções que contém metadados de recursos:

  • Name – Um string . Nome do ativo. Padrão: Objeto.Name.
  • Description – A string . Descrição do ativo. Padrão: "Criado com o Serviço de Recursos: Criar RecursoAsync".
  • CreatorId – A number .ID do criador do recurso.Padrão: O usuário do Roblox Studio logado para o contexto do Plugin.Requerido para o contexto de execução do Open Cloud Luau.
  • CreatorType – Um Enum.AssetCreatorType . Tipo de criador de recursos. Padrão: Enum.AssetCreatorType.User no contexto do Plugin. Necessário para o contexto de execução do Open Cloud Luau.
  • IsPackage – Um bool . Aplicável apenas ao digitarEnum.AssetType.Model. Padrão: verdadeiro.
Valor Padrão: "nil"

Devolução

O par de número de versão de Enum.CreateAssetResult e recurso se for bem-sucedido.

Amostras de código

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

Rendimentos

Cria um novo objeto EditableImage vazio com a textura fornecida.IDs de textura não ativos, como rbxthumb://, são suportados.Se usar um recurso de imagem, deve estar associado e/ou pertencente a um criador da experiência, ou deve ter sido criado dentro da experiência.Se o orçamento de memória editável específico do dispositivo for exaurido, a criação falhará e este método retornará nil .

Veja a documentação EditableImage para considerações especiais ao usar essa API (Interface de Programação para Aplicações).

Parâmetros

content: Content

Referência ao conteúdo de recursos armazenados externamente ou como um objeto dentro do local, envolvendo um único valor de um dos valores suportados Enum.ContentSourceType .

Valor Padrão: ""
editableImageOptions: Dictionary

Tabela que contém opções para o criado EditableImage . Atualmente, não há opções disponíveis, pois o redimensionamento via Size não é suportado.

Valor Padrão: ""

Devolução

Um novo EditableImage contendo a imagem fornecida.

CreateEditableMeshAsync

Rendimentos

Retorna um novo objeto EditableMesh criado a partir de um ID existente EditableMesh ou de uma malha Content existente.Por padrão, um EditableMesh criado a partir deste método será de tamanho fixo, de modo que os dados de malha só podem ser modificados, não adicionados ou removidos.Um tamanho fixo EditableMesh consome menos memória e deve ser preferido quando possível.

Se o orçamento de memória editável específico do dispositivo for exaurido, a criação falhará e este método retornará nil .

Veja as seções Ativando EditableMesh para Experiências Publicadas e Permissões de EditableMesh usar esta API (Interface de Programação para Aplicações)com considerações especiais.

Parâmetros

content: Content

Referência ao conteúdo de recursos armazenados externamente ou como um objeto dentro do local, envolvendo um único valor de um dos valores suportados Enum.ContentSourceType .

Valor Padrão: ""
editableMeshOptions: Dictionary

Tabela de opções que contém controles para o método:

  • FixedSize – A bool .O valor padrão é true , e o retornado EditableMesh não permitirá que você adicione ou remova vértices, apenas modifique seus valores.Defina para false se a capacidade de alterar a topologia do mesh for necessária, a expensas de usar mais memória.
Valor Padrão: ""

Devolução

A nova instância EditableMesh .

CreateMeshPartAsync

Rendimentos

Este método cria um MeshPart com um CollisionFidelity especificado, RenderFidelity e FluidFidelity.Como MeshPart.MeshId é apenas de leitura, este método é para criar uma malha com qualquer ID de malha através de scripts, sem ter que clonar uma malha existente MeshPart.Ela lança erros se a criação falhar.

Parâmetros

meshContent: Content

Referência ao conteúdo de recursos armazenados externamente ou como um objeto dentro do local, envolvendo um único valor de um dos valores suportados Enum.ContentSourceType .

Valor Padrão: ""
options: Dictionary

Tabela de opções que contém um ou mais controles para o método:

Valor Padrão: "nil"

Devolução

CreatePlaceAsync

Rendimentos

Clona um local através do dado templatePlaceID e retorna o PlaceId do novo local, que você pode usar com TeleportService.O local de clonagem é exibido no inventário do criador do local com o nome e a descrição dados.

Observe que o local do modelo deve ter cópia de modelo habilitada através das configurações do local. Você não pode usar esse método para clonar locais que você não possuir.

Não é recomendado o uso frequente dessa API, especialmente se os locais criados contiverem scripts, pois atualizar o código em um grande volume de locais se torna rapidamente inviável.Para mundos gerados pelo usuário, considere serializar criações do usuário e salvá-las em DataStores em vez disso.

Parâmetros

placeName: string

Nome do novo local.

Valor Padrão: ""
templatePlaceID: number

PlaceId do local para clonar.

Valor Padrão: ""
description: string

Descrição do novo local.

Valor Padrão: ""

Devolução

PlaceId da nova localização.

CreatePlaceInPlayerInventoryAsync

Rendimentos

Parâmetros

player: Instance
Valor Padrão: ""
placeName: string
Valor Padrão: ""
templatePlaceID: number
Valor Padrão: ""
description: string
Valor Padrão: ""

Devolução

GetAssetIdsForPackage

Rendimentos

Retorna um conjunto de IDs de recursos que estão contidos em um pacote especificado.

Parâmetros

packageAssetId: number
Valor Padrão: ""

Devolução

IDs de recursos que estão contidos em um pacote especificado.

GetAudioMetadataAsync

Rendimentos

Fornece metadados relevantes sobre uma fonte de áudio específica (artista, título, duração, digitar, etc.).

Parâmetros

idList: Array

Array de IDs de recurso ou conteúdo para os quais recuperar metadados. O tamanho máximo do lote é 30.

Valor Padrão: ""

Devolução

Array de tabelas de dicionário na mesma ordem que a solicitar / pedir, onde cada dicionário contém o seguinte metadado para seu ativo/conteúdo:

  • AssetId (string / cadeia / texto)

  • Title (string / cadeia / texto)

  • Artist (string / cadeia / texto)

  • Duration (number) em segundos

  • AudioType ( Enum.AudioSubType )

Observe que, se ocorrer um erro ao obter metadados para qualquer um dos recursos solicitados, por exemplo, o ID do recurso não existe, sua tabela dicionária ainda é incluída no array retornado, mas contém apenas o campo AssetId para fins de referência.Além disso, se o AudioType não puder ser determinado para um recurso dado (talvez porque seja um áudio privado), o dicionário resultante não conterá uma entrada AudioType.

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

Rendimentos

Essa função retorna detalhes do conteúdo do pacote especificado.

Se o ID do pacote não existir, ele lança HTTP 400 (Bad Request) . Se bundleId não for convertível em um integral, ele lança Unable to cast string to int64 .

Parâmetros

bundleId: number

O ID do pacote especificado.

Valor Padrão: ""

Devolução

Dicionário com os seguintes pares de chave-valor que contêm detalhes sobre o pacote especificado:

  • Id — ID do pacote (mesmo que o argumento passe bundleId )

  • Name — Nome do pacote

  • Description — descriçãodo pacote

  • BundleType — String representando o Enum.BundleType , por exemplo "BodyParts" ou "DynamicHead"

  • Items — Array de itens no pacote, cada um com detalhes representados pelas seguintes chaves:

    • Id — ID do Item

    • Name — Nome do item

    • Type — Tipo de item como "Asset" .

Amostras de código

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

Rendimentos

Retorna um objeto StandardPages que contém o nome e PlaceId de locais dentro da experiência atual.


Devolução

Amostras de código

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

Rendimentos

Permite a criação de recursos na experiência para usuários solicitando um diálogo de publicação.Quando chamado, apresenta um diálogo ao usuário, permitindo que ele insira um nome, descrição e visualize o ativo.Ao enviar, salva o recurso no inventário do usuário.Só pode ser invocado no lado do servidor.

Parâmetros

player: Player

O usuário que envia a criaçõesde um recurso.

Valor Padrão: ""
instance: Instance

O recurso a ser criado. Atualmente não pode conter scripts ou aninhar recursos não públicos.

Valor Padrão: ""
assetType: Enum.AssetType

O digitarde recurso. Atualmente só pode ser Enum.AssetType.Model .

Valor Padrão: ""

Devolução

O par de ID de recurso e ID de recurso se Enum.PromptCreateAssetResult for bem-sucedido.

PromptImportAnimationClipFromVideoAsync

Rendimentos

Parâmetros

player: Player
Valor Padrão: ""
progressCallback: function
Valor Padrão: ""

Devolução

SavePlaceAsync

()
Rendimentos

Salva o estado do local atual. Funciona apenas para locais que são criados com AssetService:CreatePlaceAsync() ou que têm a API habilitada através das configurações do local.


Devolução

()

SearchAudio

Rendimentos

Retorna um objeto AudioPages que contém o resultado da pesquisardada. Não retornará campos com valores vazios.

Observe que este método tem um limite baixo de solicitações HTTP e pode lançar um erro, então deve sempre ser embalado em pcall() para o manuseio de erros.Mensagens de erro possíveis incluem:


<th>Motivo</th>
</tr>
</thead>
<tbody>
<tr>
<td>HTTP 429 (Muitos pedidos demais)</td>
<td><code>Class.AssetService:SearchAudio()</code> foi chamado muitas vezes.</td>
</tr>
<tr>
<td>Tipo inesperado para dados, array esperado ficou nulo</td>
<td>O argumento de palavra-chave foi filtrado.</td>
</tr>
</tbody>
Mensagem de Erro

Parâmetros

searchParameters: AudioSearchParams
Valor Padrão: ""

Devolução

Amostras de código

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

Eventos