KeyframeSequenceProvider
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Der KeyframeSequenceProvider -Dienst bietet Funktionen zum Laden und Vorschauen von KeyframeSequences.Es enthält eine Reihe von Funktionen, die nützlich sind, wenn Sie mit Animations arbeiten.
Ein KeyframeSequence speichert eine Reihe von Poses, die die Hierarchie und die Bewegung einer Animationencodieren.Die Animationsdaten, die Roblox bei der Wiedergabe einer Animationenverwendet, die durch das EigenschaftenAnimation.AnimationId referenziert wird, können aus einem KeyframeSequence erstellt werden.KeyframeSequences werden in der Regel vom Roblox-Animations-Editor erstellt, können aber auch durch andere Plugins oder sogar manuell erstellt werden.
Code-Beispiele
This code sample contains a simple function to generate an Animation with a generated hash ID to preview a KeyframeSequence locally.
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)
Zusammenfassung
Methoden
Erstellt eine vorübergehende Asset-ID aus einem KeyframeSequence, die für die lokalisierte Testung einer Animationenverwendet werden kann. Erstellt eine aktive:// URL.
Erzeugt eine vorübergehende Asset-ID aus einem KeyframeSequence, die für die lokalisierte Testung einer Animationenverwendet werden kann. Erzeugt einen Hash.
Diese Funktion gibt ein InventoryPages Objekt zurück, das verwendet werden kann, um Animationen zu durchlaufen, die einem bestimmten Benutzer gehören.
Gibt eine Schlüsselrahmensequenz basierend auf der angegebenen assetId asynchron zurück.
Eigenschaften
Methoden
RegisterActiveKeyframeSequence
Erstellt eine vorübergehende Asset-ID aus einem KeyframeSequence, die für die lokalisierte Testung einer Animationenverwendet werden kann.
Diese Funktion führt die gleiche Funktion für KeyframeSequenceProvider:RegisterKeyframeSequence() jedoch generiert diese Funktion eine aktive:// URL anstelle eines Hashes.
Die generierte ID kann in einem Animation.AnimationId Eigenschaft für Tests verwendet werden.
Die Asset-ID, die von dieser Funktion generiert wird, ist vorübergehend und kann nicht außerhalb von Studio verwendet werden.Entwickler, die eine Asset-ID generieren möchten, die online verwendet werden kann, sollten das KeyframeSequence auf Roblox hochladen.
Parameter
Die KeyframeSequence zu verwenden.
Rückgaben
Eine vorübergehende Asset-ID, die für lokalisierte Animationswiedergabe erstellt wurde.
Code-Beispiele
This code sample contains a simple function to generate an Animation with a generated hash ID to preview a KeyframeSequence locally.
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
Erstellt eine vorübergehende Asset-ID aus einem KeyframeSequence, die für die lokalisierte Testung einer Animationenverwendet werden kann.
Diese Funktion führt die gleiche Funktion für KeyframeSequenceProvider:RegisterActiveKeyframeSequence() jedoch generiert diese Funktion einen Hash statt einer aktiven:// URL.
Die generierte ID kann für das Animation.AnimationId-Eigenschaft verwendet werden, um Animationen zu testen.
Die Asset-ID, die von dieser Funktion generiert wird, ist vorübergehend und kann nicht außerhalb von Studio verwendet werden.Entwickler, die eine Asset-ID generieren möchten, die online verwendet werden kann, sollten das KeyframeSequence auf Roblox hochladen.
Parameter
Die KeyframeSequence zu verwenden.
Rückgaben
Eine vorübergehende Asset-ID, die für lokalisierte Animationswiedergabe erstellt wurde.
Code-Beispiele
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
Diese Funktion gibt ein InventoryPages Objekt zurück, das verwendet werden kann, um Animationen zu durchlaufen, die einem bestimmten Benutzer gehören.
Diese Funktion hat eine Reihe von möglichen Verwendungen, wie die Erlaubnis, Benutzer Animationen zu durchsuchen und zu importieren, in ein benutzerdefiniertes Plug-in.
Parameter
Die Benutzer-ID des Benutzers.
Rückgaben
Eine InventoryPages von Animationen.
Code-Beispiele
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.
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
GetKeyframeSequenceAsync gibt eine KeyframeSequence basierend auf der angegebenen Asset-ID zurück.Die assetId muss einer Animationenentsprechen.Die Funktion wird bis die KeyframeSequence von der Website geladen wird, ausgegeben.Da es sich um einen Webaufruf handelt, sollte er in einem pcall verpackt werden.
Parameter
Die Inhalts-ID der Animationen.
Rückgaben
Die KeyframeSequence gefunden.
Code-Beispiele
Demonstrates getting an animation's KeyframeSequence using KeyframeSequenceProvider:GetKeyframeSequenceAsync() and printing the time of each keyframe.
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