KeyframeSequenceProvider
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
キーフレーム・シーケンス・プロバイダー サービスは、KeyframeSequences を読み込み、プレビューする機能を提供します。これには、Animations との作業中に便利な機能が含まれています。
Class.KeyframeSequencer は、アニメーションの階層とモーションをエンコードする Poses をいくつかの Class.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)
概要
方法
Class.KeyframeSequencer から生成される一時的なアセット ID は、アニメーションのローカライズテストに使用できます。active:// URL を生成します。
Class.KeyframeSequencer から生成される一時的なアセット ID は、アニメーションのローカライズテストに使用できます。ハッシュを生成します。
この関数は、特定のユーザーが所有するアニメーションをイテレートするための InventoryPages オブジェクトを返します。
指定されたアセット ID に基づいてキーフレームシーケンスを再生します。
プロパティ
方法
RegisterActiveKeyframeSequence
アニメーションのローカライズテスト用に使用できる一時的なアセット ID を生成します。KeyframeSequence から。
この関数は同じ機能を KeyframeSequenceProvider:RegisterKeyframeSequence() に実行しますが、この関数はハッシュではなく 有効な:// URLを生成します。
生成された ID は、Animation.AnimationId プロパティでテストすることができます。
この関数によって生成されるアセット ID は一時的であり、Studio 以外の場合は使用できません。オンラインで使用できるアセット ID を生成したい開発者は、KeyframeSequence を Roblox にアップロードする必要があります。
パラメータ
使用する KeyframeSequence。
戻り値
ローカライズアニメーションプレイヤーの再生のために生成された一時的なアセット ID。
コードサンプル
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
アニメーションのローカライズテスト用に使用できる一時的なアセット ID を生成します。KeyframeSequence から。
この関数は、KeyframeSequenceProvider:RegisterActiveKeyframeSequence() に同じ機能を実行しますが、この関数は、 Class.KeyframeSequencer:RegisterActiveKeyframeSequence() の代わりにハッシュを生成します。
生成された ID は、Animation.AnimationId プロパティのアニメーションテストに使用できます。
この関数によって生成されるアセット ID は一時的であり、Studio 以外の場合は使用できません。オンラインで使用できるアセット ID を生成したい開発者は、KeyframeSequence を Roblox にアップロードする必要があります。
パラメータ
使用する KeyframeSequence。
戻り値
ローカライズアニメーションプレイヤーの再生のために生成された一時的なアセット ID。
コードサンプル
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
この関数は、特定のユーザーが所有するアニメーションをイテレートするための InventoryPages オブジェクトを返します。
この関数には、ユーザーがアニメーションをカスタムアニメーションプラグインにブラウズしてインポートすることができるなど、潜在的な使用がいくつかあります。
パラメータ
ユーザーのユーザーID。
戻り値
アニメーションの InventoryPages 。
コードサンプル
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
GetKeyframeSequencAsync は、指定されたアセット ID に基づいて KeyframeSequence を返します。アセット ID はアニメーションに一致する必要があります。機能は、KeyframeSequence がウェブサイトから読み込まれるまでラップアップされます。これは Web コールであるため、ラップアップされる必要がありま
パラメータ
アニメーションのコンテンツID。
戻り値
Class.KeyframeSequencer が見つかりました。
コードサンプル
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