AnimationTrack
AnimationTrack : Instance
Overview
애니메이터에 적용된 애니메이션의 실행을 관리하는 객체입니다.
이 객체는 Animator의 LoadAnimation() 메서드를 호출해야만 얻을 수 있습니다.
Properties
Animation
Animation
AnimationTrack에 설정된 Animation 객체를 반환하는 속성입니다. (읽기 전용)
Code Samples
print(AnimationTrack.Animation)
IsPlaying
bool
애니메이션 트랙의 실행 여부를 반환하는 속성입니다. (읽기 전용)
Code Samples
AnimationTrack:Play()
if AnimationTrack.IsPlaying then
print("DoSomething")
end
Length
number
애니메이션 트랙의 전체 재생 시간을 초 단위로 반환하는 속성입니다. (읽기 전용)
Code Samples
print(AnimationTrack.Length)
Looped
bool
애니메이션 완료 후 자동으로 다시 반복 실행할지를 지정하는 속성입니다.
이 속성은 애니메이션을 실행하기 전에 미리 지정해야 정상적으로 반영됩니다. 실행 중에 값을 변경할 경우, 해당 애니메이션이 종료된 뒤 기본 애니메이션으로 돌아가지 않고 그대로 멈출 수 있으므로 주의가 필요합니다.
Code Samples
AnimationTrack.Looped = true
Priority
Enum.AnimationPriority
여러 애니메이션이 동시에 실행될 때 어떤 동작이 우위를 차지할지 지정하는 속성입니다.
Enum.AnimationPriority는 총 7단계로 구분되며, 가장 높은 Action4부터 가장 낮은 Core까지 세분화되어 있습니다. 애니메이션의 우선순위를 적절히 설정하면, 서로 다른 애니메이션이 한 번에 실행되더라도 부드럽게 조화됩니다.
예를 들어 AnimationTrack의 Priority를 Movement로 지정하면 이동 동작이 발생할 경우 애니메이션이 즉시 중단됩니다. 반면 Priority를 Action으로 설정하면 이동 중에도 애니메이션이 계속 재생됩니다.
기본값은 Action입니다.
Code Samples
AnimationTrack.Priority = Enum.AnimationPriority.Movement
AnimationTrack:Play()
Speed
number
현재 지원되지 않습니다.
Code Samples
TimePosition
number
현재 지원되지 않습니다.
Code Samples
WeightCurrent
number
현재 지원되지 않습니다.
Code Samples
WeightTarget
number
현재 지원되지 않습니다.
Code Samples
Methods
AdjustSpeed
현재 지원되지 않습니다.
Parameters
number
InSpeed
Return
void
Code Samples
AdjustWeight
현재 지원되지 않습니다.
Parameters
number
InWeight
number
InFadeTime
Return
void
Code Samples
GetMarkerReachedSignal
애니메이션 재생 중 특정 키프레임에 지정된 마커에 도달하면 실행되는 이벤트를 반환합니다.
Parameters
string
InName
마커의 이름입니다.
Return
ScriptSignal
반환된 이벤트입니다.
Code Samples
local function OnAnimationEvent()
print("OnAnimationEvent")
end
AnimationTrack:GetMarkerReachedSignal("SomeKeyName"):connect(OnAnimationEvent)
GetTimeOfKeyframe
현재 지원되지 않습니다.
Parameters
string
InName
Return
number
Code Samples
Play
애니메이션 트랙을 실행합니다.
InFadeTime은 애니메이션이 재생될 때 가중치가 서서히 증가하는 데 걸리는 시간을 조절하여 점진적인 전환 효과를 제공합니다.
InSpeed는 애니메이션의 재생 속도를 배율로 조정하여 기본 속도보다 빠르거나 느리게 실행되도록 설정할 수 있습니다.
Parameters
number
InFadeTime
애니메이션의 가중치가 증가하는 데 걸리는 시간입니다. (기본값은 0.1입니다.)
number
InWeight
현재 지원되지 않습니다.
number
InSpeed
재생 속도입니다. (기본값은 1입니다.)
Return
void
Code Samples
local Players = game:GetService("Players")
local Character = Players.LocalPlayer.Character
local Humanoid = Character:WaitForChild("Humanoid")
local Animation = Instance.new("Animation")
Animation.AnimationId = "ovdrassetid://18850100" -- WinAnimation01
local Animator = Humanoid:FindFirstChild("Animator")
local AnimationTrack = Animator:LoadAnimation(Animation)
AnimationTrack:Play()
Stop
실행중인 애니메이션 트랙을 정지합니다.
Parameters
number
InFadeTime
현재 지원되지 않습니다.
Return
void
Code Samples
AnimationTrack:Stop()
Events
DidLoop
루프 기능이 활성화된 애니메이션 트랙이 루프를 마칠 때마다 실행되는 이벤트입니다.
루프가 끝난 직후 다음 업데이트에서 발생하며, 루프가 없는 애니메이션에는 호출되지 않습니다.
Parameters
Code Samples
AnimationTrack.Looped = true
local function OnLoopAnimation()
print("The animation looped!")
end
AnimationTrack.DidLoop:Connect(OnLoopAnimation)
AnimationTrack:Play()
Ended
애니메이션 트랙의 재생이 완료되면 실행되는 이벤트입니다.
루프 기능이 활성화되어 있으면 호출되지 않으며, Stop() 메서드에 의해 종료될 때도 호출됩니다.
Parameters
Code Samples
local function OnEnded()
print("The animation has ended!")
end
AnimationTrack.Ended:Connect(OnEnded)
KeyframeReached
(Deprecated) 애니메이션이 진행되면서 지정된 이름을 가진 키프레임에 도달할 때마다 실행되는 이벤트입니다.
GetMarkerReachedSignal 사용을 권장합니다.
Parameters
string
KeyframeName
키프레임 이름입니다.
Code Samples
local function OnKeyframeReached(keyframeName)
print(keyframeName)
end
AnimationTrack.KeyframeReached:Connect(OnKeyframeReached)
Stopped
Stop() 메서드에 의해 종료될 때 애니메이션 트랙의 재생이 정지되면 실행되는 이벤트입니다.
Parameters
Code Samples
local function OnStopped()
print("The animation has been stopped!")
end
AnimationTrack.Stopped:Connect(OnStopped)
See also
캐릭터 애니메이션Last updated