KeyframeSequenceProvider

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Nicht erstellbar
Dienst
Nicht repliziert

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.

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)

Zusammenfassung

Methoden

Eigenschaften

Methoden

RegisterActiveKeyframeSequence

ContentId

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

keyframeSequence: Instance

Die KeyframeSequence zu verwenden.

Standardwert: ""

Rückgaben

ContentId

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.

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

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

keyframeSequence: Instance

Die KeyframeSequence zu verwenden.

Standardwert: ""

Rückgaben

ContentId

Eine vorübergehende Asset-ID, die für lokalisierte Animationswiedergabe erstellt wurde.

Code-Beispiele

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

Angehalten

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

userId: number

Die Benutzer-ID des Benutzers.

Standardwert: ""

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.

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

Angehalten

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

assetId: ContentId

Die Inhalts-ID der Animationen.

Standardwert: ""

Rückgaben

Code-Beispiele

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

Ereignisse