KeyframeSequenceProvider

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

作成できません
サービス
複製されていません

キーフレームシーケンスプロバイダー サービスは、KeyframeSequences をロードしてプレビューする機能を提供します。それには、Animations で作業するときに便利な複数の機能が含まれています。

A KeyframeSequence は、アニメーションの階層と動作を暗号化する一連の Poses を保存します。アニメーションの再生で Roblox が使用するアニメーションデータ、Animation.AnimationId プロパティによって参照される、は、KeyframeSequence から構築できます。KeyframeSequences は通常、Roblox アニメーションエディタ によって作成されますが、他のプラグインまたは手動で作成することもできます。

コードサンプル

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)

概要

方法

  • RegisterActiveKeyframeSequence(keyframeSequence : Instance):ContentId

    アニメーションのローカライズテストに使用できる一時的なアセットIDを KeyframeSequence から生成し、active:// URLを生成します。

  • RegisterKeyframeSequence(keyframeSequence : Instance):ContentId

    から一時的なアセットIDを生成し、アニメーションのローカライズテストに使用できます。ハッシュを生成します。

  • イールド

    この機能は、特定のユーザーが所有するアニメーションを反復するのに使用できる InventoryPages オブジェクトを返します。

  • GetKeyframeSequenceAsync(assetId : ContentId):Instance
    イールド

    指定されたアセットIDに基づいて非同期でキーフレームシーケンスを返します。

プロパティ

方法

RegisterActiveKeyframeSequence

ContentId

KeyframeSequence から一時的なアセットIDを生成し、アニメーションのローカライズテストに使用できます。

この機能は、同じ機能を KeyframeSequenceProvider:RegisterKeyframeSequence() に実行しますが、この機能はハッシュではなく active:// URLを生成します。

生成されたIDは、テスト用の Animation.AnimationId プロパティで使用できます。

この機能によって生成されたアセット IDは一時的であり、Studio の外で使用することはできません。オンラインで使用できるアセット ID を生成したい開発者は、KeyframeSequence を RRoblox(ロブロックス)blox にアップロードする必要があります。

パラメータ

keyframeSequence: Instance

使用する KeyframeSequence

既定値: ""

戻り値

ContentId

ローカライズされたアニメーション再生のために生成された一時的なアセット ID。

コードサンプル

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

KeyframeSequence から一時的なアセットIDを生成し、アニメーションのローカライズテストに使用できます。

この機能は、同じ機能を KeyframeSequenceProvider:RegisterActiveKeyframeSequence() に実行しますが、この機能は active:// URL の代わりにハッシュを生成します。

生成されたIDは、Animation.AnimationId プロパティでアニメーションをテストするのに使用できます。

この機能によって生成されたアセット IDは一時的であり、Studio の外で使用することはできません。オンラインで使用できるアセット ID を生成したい開発者は、KeyframeSequence を RRoblox(ロブロックス)blox にアップロードする必要があります。

パラメータ

keyframeSequence: Instance

使用する KeyframeSequence

既定値: ""

戻り値

ContentId

ローカライズされたアニメーション再生のために生成された一時的なアセット ID。

コードサンプル

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

イールド

この機能は、特定のユーザーが所有するアニメーションを反復するのに使用できる InventoryPages オブジェクトを返します。

この機能には、ユーザーがカスタムアニメーションプラグインにアニメーションを閲覧したり、インポートしたりできるようにするなど、さまざまな潜在的な使用法があります。

パラメータ

userId: number

ユーザーのユーザーID。

既定値: ""

戻り値

アニメーションの InventoryPages

コードサンプル

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

イールド

GetKeyframeSequenceAsync は、指定されたアセットIDに基づいて KeyframeSequence を返します。アセットIDはアニメーションに一致する必要があります。機能は、KeyframeSequence がウェブサイトから読み込まれるまで生成され続けます。これは Web 呼び出しなので、pcall で包まれるべきです。

パラメータ

assetId: ContentId

アニメーションのコンテンツ ID。

既定値: ""

戻り値

見つかった KeyframeSequence

コードサンプル

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

イベント