KeyframeSequenceProvider
*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.
키프레임 순서 제공자 서비스는 키프레임을 로드하고 미리 보기하는 기능을 제공합니다. KeyframeSequences . 이 서비스에는 작업하는 동안 유용한 몇 가지 기능이 포함되어 있습니다.
Class.KeyframeSequencer는 애니메이션의 계층 및 이동을 인코딩한 시리즈의 Poses를 저장합니다. Roblox는 애
코드 샘플
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)
요약
메서드
애니메이션을 로컬 테스트하는 데 사용할 수 있는 KeyframeSequence에서 임시 자산 ID를 생성합니다. Class.KeyframeSequencer에서 액티브:// URL을 생성합니다.
애니메이션 로컬 테스트를 위해 KeyframeSequence 에서 사용할 수 있는 임시 자산 ID 생성합니다. 해시를 생성합니다.
이 함수는 특정 사용자가 소유한 애니메이션을 반복하는 데 사용할 수 있는 InventoryPages 개체를 반환합니다.
지정된 자산 ID에 따라 키프레임 시퀀스를 비동기적으로 반환합니다.
속성
메서드
RegisterActiveKeyframeSequence
애니메이션 로컬 테스트를 위해 사용할 수 있는 KeyframeSequence 에서 임시 자산 ID를 생성합니다.
이 함수는 동일한 기능을 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
애니메이션 로컬 테스트를 위해 사용할 수 있는 KeyframeSequence 에서 임시 자산 ID를 생성합니다.
이 함수는 동일한 기능을 KeyframeSequenceProvider:RegisterActiveKeyframeSequence() 에 수행하지만, 이 함수는 활성화된 URL 대신 해시를 생성합니다.
생성된 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
GetKeyframeSequencer 는 지정된 자산Id에 따라 KeyframeSequence 를 반환합니다. 자산Id는 애니메이션과 일치해야 합니다. 함수는 웹사이트에서 KeyframeSequence 를 로드할 때까지 반환됩니다. 이 웹콜은 pcall로 감싸여야 합니다.
매개 변수
애니메이션의 콘텐츠 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