Clase de motor
AssetService
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
Resumen
Propiedades
Métodos
Referencia API
Propiedades
Métodos
ComposeDecalAsync
Devuelve
()
Muestras de código
Componer un Decal
local AssetService = game:GetService("AssetService")
-- Crear dos instancias de decal
local decalA = Instance.new("Decal")
local decalB = Instance.new("Decal")
-- Construir tabla de información compuesta
local compositeInfo = {
{
ColorMap = decalA.ColorMapContent,
RoughnessMap = decalA.RoughnessMapContent,
MetalnessMap = decalA.MetalnessMapContent,
NormalMap = decalA.NormalMapContent,
},
{
ColorMap = Content.fromAssetId(123456),
RoughnessMap = decalB.RoughnessMapContent,
MetalnessMap = decalB.MetalnessMapContent,
NormalMap = decalB.NormalMapContent,
}
}
-- Crear un decal para componer
local compositeDecal = Instance.new("Decal")
-- Componer un decal existente usando AssetService
local success, errorMessage = pcall(function()
AssetService:ComposeDecalAsync(compositeDecal, compositeInfo)
end)
if success then
print("¡Decal compuesto con éxito!")
-- La lógica para mostrar/usar el decal va aquí
else
warn("Error al componer el decal:", errorMessage)
endCreateAssetAsync
AssetService:CreateAssetAsync(
Parámetros
| Valor predeterminado: "nil" |
Devuelve
Muestras de código
AssetService:CreateAssetAsync
local AssetService = game:GetService("AssetService")
local editableMesh = AssetService:CreateEditableMesh()
-- agregar vértices, caras y uvs a la malla
local requestParameters = {
CreatorId = 123,
CreatorType = Enum.AssetCreatorType.User,
Name = "Mi activo",
Description = "un buen activo",
}
local ok, result, idOrUploadErr = pcall(function()
return AssetService:CreateAssetAsync(editableMesh, Enum.AssetType.Mesh, requestParameters)
end)
if not ok then
warn(`error al llamar a CreateAssetAsync: {result}`)
elseif result == Enum.CreateAssetResult.Success then
print(`éxito, nuevo ID de activo: {idOrUploadErr}`)
else
warn(`error de carga en CreateAssetAsync: {result}, {idOrUploadErr}`)
endCreateAssetVersionAsync
AssetService:CreateAssetVersionAsync(
Parámetros
| Valor predeterminado: "nil" |
Devuelve
Muestras de código
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}`)
endCreateDataModelContentAsync
Parámetros
Devuelve
CreateEditableImage
Parámetros
Devuelve
CreateEditableImageAsync
AssetService:CreateEditableImageAsync(
Parámetros
Devuelve
CreateEditableMesh
Parámetros
Devuelve
CreateEditableMeshAsync
Parámetros
Devuelve
CreateMeshPartAsync
Parámetros
| Valor predeterminado: "nil" |
Devuelve
CreatePlaceAsync
CreatePlaceInPlayerInventoryAsync
CreateSurfaceAppearanceAsync
Parámetros
Devuelve
Muestras de código
AssetService:CreateSurfaceAppearanceAsync
local AssetService = game:GetService("AssetService")
local Workspace = game:GetService("Workspace")
-- Color rojo
local colorEditableImage = AssetService:CreateEditableImage({ Size = Vector2.new(4, 4) })
colorEditableImage:DrawRectangle(Vector2.zero, colorEditableImage.Size, Color3.fromRGB(255, 0, 0), 0, Enum.ImageCombineType.Overwrite)
-- Metalicidad (solo ver el canal rojo)
local metalnessEditableImage = AssetService:CreateEditableImage({ Size = Vector2.new(1, 1) })
metalnessEditableImage:DrawRectangle(Vector2.zero, metalnessEditableImage.Size, Color3.new(1, 0, 0), 0, Enum.ImageCombineType.Overwrite)
-- Rugosidad (solo ver el canal rojo)
local roughnessEditableImage = AssetService:CreateEditableImage({ Size = Vector2.new(1, 1) })
roughnessEditableImage:DrawRectangle(Vector2.zero, roughnessEditableImage.Size, Color3.new(0.2, 0, 0), 0, Enum.ImageCombineType.Overwrite)
local surfaceAppearance = AssetService:CreateSurfaceAppearanceAsync({
ColorMap = Content.fromObject(colorEditableImage),
MetalnessMap = Content.fromObject(metalnessEditableImage),
RoughnessMap = Content.fromObject(roughnessEditableImage)
})
local meshPart = Instance.new("MeshPart")
meshPart.Parent = Workspace
-- Aplicar apariencia de superficie a la parte de malla
surfaceAppearance.Parent = meshPartGetAssetIdsForPackage
GetAssetIdsForPackageAsync
GetAudioMetadataAsync
Parámetros
Devuelve
Muestras de código
Obtener Metadatos de Audio
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, "por", result[i].Artist)
else
warn("No se obtuvo metadatos para el activo solicitado #" .. tostring(i))
end
end
endGetBundleDetailsAsync
Parámetros
Devuelve
Muestras de código
Obteniendo detalles del paquete
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"] = "El año es 5003, Battlebot 5000 debe enfrentarse a su rival más poderoso, o enfrentar la obsolescencia.",
["Id"] = 14,
["Items"] = {
[1] = {...},
[2] = {
["Id"] = 1678225030,
["Name"] = "Brazo Izquierdo SinisterBot 5001",
["Type"] = "Asset"
},
[3] = {...},
[4] = {...},
[5] = {...},
[6] = {...},
[7] = {...}
},
["Name"] = "SinisterBot 5001"
}
--]]
endGetCreatorAssetID
GetGamePlacesAsync
Devuelve
Muestras de código
AssetService:GetGamePlacesAsync
local AssetService = game:GetService("AssetService")
local placePages = AssetService:GetGamePlacesAsync()
while true do
for _, place in placePages:GetCurrentPage() do
print("Nombre:", place.Name)
print("PlaceId:", place.PlaceId)
end
if placePages.IsFinished then
break
end
placePages:AdvanceToNextPageAsync()
endLoadAssetAsync
PromptCreateAssetAsync
AssetService:PromptCreateAssetAsync(
Parámetros
Devuelve
PromptImportAnimationClipFromVideoAsync
SavePlaceAsync
Parámetros
Devuelve
()
SearchAudio
SearchAudioAsync
Parámetros
Devuelve
Muestras de código
Obteniendo Títulos de Búsqueda de Música
local AssetService = game:GetService("AssetService")
local audioSearchParams = Instance.new("AudioSearchParams")
audioSearchParams.SearchKeyword = "feliz"
local success, result = pcall(function()
return AssetService:SearchAudioAsync(audioSearchParams)
end)
if success then
local currentPage = result:GetCurrentPage()
for _, audio in currentPage do
print(audio.Title)
end
else
warn("Error de AssetService: " .. result)
end
--[[ Formato de datos devueltos
{
"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
}
}
--]]