KeyframeSequenceProvider

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

No creable
Servicio
No replicado

El servicio KeyframeSequenceProvider proporciona funciones para cargar y previsualizar KeyframeSequences .Incluye una serie de funciones útiles al trabajar con Animations .

Un KeyframeSequence almacena una serie de Poses que codifican la jerarquía y el movimiento de una animaciones.Los datos de animación que usa Roblox en la reproducción de una animaciones, referenciados por la propiedad Animation.AnimationId, se pueden construir desde un KeyframeSequence. por lo general se crean por el Editor de animación de Roblox pero se pueden crear a través de otros plugins o incluso manualmente.

Muestras de código

This code sample contains a simple function to generate an Animation with a generated hash ID to preview a KeyframeSequence locally.

Create temporary animation

local KeyframeSequenceProvider = game:GetService("KeyframeSequenceProvider")
local function createPreviewAnimation(keyframeSequence)
local hashId = KeyframeSequenceProvider:RegisterKeyframeSequence(keyframeSequence)
local Animation = Instance.new("Animation")
Animation.AnimationId = hashId
return Animation
end
local keyframeSequence = Instance.new("KeyframeSequence")
local animation = createPreviewAnimation(keyframeSequence)
print(animation)

Resumen

Métodos

Propiedades

Métodos

RegisterActiveKeyframeSequence

ContentId

Genera una identificación de activo temporal desde un KeyframeSequence que se puede utilizar para la prueba localizada de una animaciones.

Esta función realiza la misma función para KeyframeSequenceProvider:RegisterKeyframeSequence() sin embargo, esta función genera una URL activa:// en lugar de un hash.

El ID generado se puede usar en una propiedad Animation.AnimationId para pruebas.

El ID de activo generado por esta función es temporal y no se puede utilizar fuera de Studio.Los desarrolladores que deseen generar una identificación de activo que se pueda utilizar en línea deberán subir el KeyframeSequence a Roblox.

Parámetros

keyframeSequence: Instance

El KeyframeSequence para usar.

Valor predeterminado: ""

Devuelve

ContentId

Una identificación de activo temporal generada para la reproducción de animaciones localizadas.

Muestras de código

This code sample contains a simple function to generate an Animation with a generated hash ID to preview a KeyframeSequence locally.

Create temporary animation

local KeyframeSequenceProvider = game:GetService("KeyframeSequenceProvider")
local function createPreviewAnimation(keyframeSequence)
local hashId = KeyframeSequenceProvider:RegisterKeyframeSequence(keyframeSequence)
local Animation = Instance.new("Animation")
Animation.AnimationId = hashId
return Animation
end
local keyframeSequence = Instance.new("KeyframeSequence")
local animation = createPreviewAnimation(keyframeSequence)
print(animation)

RegisterKeyframeSequence

ContentId

Genera una identificación de activo temporal desde un KeyframeSequence que se puede utilizar para la prueba localizada de una animaciones.

Esta función realiza la misma función para KeyframeSequenceProvider:RegisterActiveKeyframeSequence() sin embargo, esta función genera un hash en lugar de una URL activa ://.

El ID generado se puede usar para la propiedad Animation.AnimationId para probar animaciones.

El ID de activo generado por esta función es temporal y no se puede utilizar fuera de Studio.Los desarrolladores que deseen generar una identificación de activo que se pueda utilizar en línea deberán subir el KeyframeSequence a Roblox.

Parámetros

keyframeSequence: Instance

El KeyframeSequence para usar.

Valor predeterminado: ""

Devuelve

ContentId

Una identificación de activo temporal generada para la reproducción de animaciones localizadas.

Muestras de código

KeyframeSequenceProvider:RegisterKeyframeSequence

local KeyframeSequenceProvider = game:GetService("KeyframeSequenceProvider")
local asset = KeyframeSequenceProvider:RegisterKeyframeSequence(workspace.KeyframeSequence)
local animation = Instance.new("Animation")
animation.Name = "TestAnimation"
animation.AnimationId = asset
animation.Parent = workspace

GetAnimations

Proporciona

Esta función devuelve un objeto InventoryPages que se puede usar para iterar sobre las animaciones propiedad de un usuario específico.

Esta función tiene una serie de usos potenciales, como permitir que los usuarios naveguen y importen animaciones en un complementode animación personalizado.

Parámetros

userId: number

La identificación de usuario del usuario.

Valor predeterminado: ""

Devuelve

Una InventoryPages de animaciones.

Muestras de código

This code sample includes a demonstration of how the content IDs of animations belonging to a player can be downloaded using KeyframeSequenceProvider:GetAnimations(). To run this code be sure to change the USER_ID variable to the ID of the user whose animations you want to download.

KeyframeSequenceProvider GetAnimations

local KeyframeSequenceProvider = game:GetService("KeyframeSequenceProvider")
local USER_ID = 0 -- Insert your UserId here
local function extractPages(pagesObject)
local array = {}
while true do
local thisPage = pagesObject:GetCurrentPage()
for _, v in pairs(thisPage) do
table.insert(array, v)
end
if pagesObject.IsFinished then
break
end
pagesObject:AdvanceToNextPageAsync()
end
return array
end
local inventoryPages = KeyframeSequenceProvider:GetAnimations(USER_ID)
local animationIds = extractPages(inventoryPages)
for _, id in pairs(animationIds) do
print(id)
end
print("total: ", #animationIds)

GetKeyframeSequenceAsync

Proporciona

GetKeyframeSequenceAsync devuelve un KeyframeSequence basado en el ID de activo especificado.El assetId debe corresponder a una animaciones.La función se ejecutará hasta que se cargue el KeyframeSequence de la web.Debido a que se trata de una llamada web, debe estar envuelta en una llamada pcall.

Parámetros

assetId: ContentId

El ID del contenido de la animaciones.

Valor predeterminado: ""

Devuelve

Muestras de código

Demonstrates getting an animation's KeyframeSequence using KeyframeSequenceProvider:GetKeyframeSequenceAsync() and printing the time of each keyframe.

Getting an animation's KeyframeSequence

local KeyframeSequenceProvider = game:GetService("KeyframeSequenceProvider")
local ANIMATION_ID = "rbxassetid://507771019"
-- Get the keyframe sequence for the asset
local keyframeSequence
local success, err = pcall(function()
keyframeSequence = KeyframeSequenceProvider:GetKeyframeSequenceAsync(ANIMATION_ID)
end)
if success then
-- Iterate over each keyframe and print its time value
local keyframeTable = keyframeSequence:GetKeyframes()
for key, value in keyframeTable do
print(`The time of keyframe number {key} is: {value.Time}`)
end
else
print(`Error getting KeyframeSequence: {err}`)
end

Eventos