애니메이션 사용

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

애니메이션을 생성한 후, 스크립트를 사용하여 게임에 포함시켜야 합니다. 스크립트에서 애니메이션을 수동으로 재생하거나 플레이어 캐릭터의 기본 애니메이션을 교체 할 수 있습니다.

스크립트에서 애니메이션 재생

경우에 따라 사용자가 특정 키를 누르거나 특수 아이템을 주울 때와 같이 스크립트 내에서 직접 애니메이션을 재생해야 할 수 있습니다.

휴머노이드

Humanoid 객체가 포함된 리그에서 애니메이션을 재생하려면 일반적으로 다음 패턴을 따릅니다:

  1. 로컬 플레이어의 HumanoidAnimator 객체를 포함하고 있는지 확인합니다.
  2. 적절한 AnimationId로 새로운 Animation 인스턴스를 생성합니다.
  3. Animator:LoadAnimation()을 통해 애니메이션을 로드하여 AnimationTrack을 생성합니다.
  4. AnimationTrack:Play()로 트랙을 재생합니다.

예를 들어, 다음 LocalScriptStarterPlayerScripts에 배치되면 플레이어 캐릭터에 "킥" 애니메이션을 로드하고 재생합니다. 이 스크립트는 또한 특정 애니메이션 이벤트가 발생했을 때를 감지하기 위해 GetMarkerReachedSignal() 메소드를 이용합니다.

LocalScript - 플레이어 캐릭터의 사용자 정의 애니메이션 재생

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
-- 캐릭터의 휴머노이드에 "Animator" 객체가 포함되어 있는지 확인
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- 새로운 "Animation" 인스턴스를 생성하고 애니메이션 자산 ID를 할당
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- 애니메이션을 애니메이터에 로드
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- 애니메이션에 대해 정의된 이름이 있는 이벤트가 있는 경우 "GetMarkerReachedSignal()"에 연결
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- 애니메이션 트랙 재생
kickAnimationTrack:Play()

비휴머노이드

Humanoid가 포함되지 않은 리그에서 애니메이션을 재생하려면 Animator가 있는 AnimationController를 생성해야 합니다. 예를 들어, 다음 Script(리그의 직접 자식으로 가정)는 "킥" 애니메이션을 로드하고 재생합니다.

Script - 캐릭터 리그의 사용자 정의 애니메이션 재생

local rig = script.Parent
-- 새로운 "Animation" 인스턴스를 생성하고 애니메이션 자산 ID를 할당
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- 새로운 "AnimationController"와 "Animator" 생성
local animationController = Instance.new("AnimationController")
animationController.Parent = rig
local animator = Instance.new("Animator")
animator.Parent = animationController
-- 애니메이션을 애니메이터에 로드
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- 애니메이션에 대해 정의된 이름이 있는 이벤트가 있는 경우 "GetMarkerReachedSignal()"에 연결
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- 애니메이션 트랙 재생
kickAnimationTrack:Play()

기본 애니메이션 교체

기본적으로 Roblox 플레이어 캐릭터는 달리기, 등반, 수영 및 점프와 같은 일반 애니메이션을 포함합니다. 이러한 기본 애니메이션카탈로그에서 가져온 애니메이션이나 자신이 만든 사용자 정의 애니메이션으로 교체할 수 있습니다.

  1. 새 애니메이션의 자산 ID를 다음과 같이 얻습니다:

  2. 탐색기 창에서 ServerScriptService에 새 Script를 추가합니다.

    1. ServerScriptService 위로 마우스를 올리고 ⊕ 버튼을 클릭합니다.
    2. 상황에 맞는 메뉴에서 스크립트를 삽입합니다.
  3. 새 스크립트에서 다음 코드를 붙여넣습니다:

    Script - 기본 캐릭터 애니메이션 교체

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- 휴머노이드의 애니메이터 가져오기
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- 모든 애니메이션 트랙 중지
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local animateScript = character:WaitForChild("Animate")
    --animateScript.run.RunAnim.AnimationId = "rbxassetid://"
    --animateScript.walk.WalkAnim.AnimationId = "rbxassetid://"
    --animateScript.jump.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation1.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation2.AnimationId = "rbxassetid://"
    --animateScript.fall.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.swim.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animateScript.climb.ClimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  4. 각 줄에서 기본 캐릭터 애니메이션을 참조하는 주석을 제거하고 rbxassetid:// 뒤에 교체 ID를 붙여넣습니다. 예를 들어, 기본 달리기 애니메이션을 닌자 달리기 변형으로 변경하려면:

    Script - 기본 캐릭터 애니메이션 교체

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- 휴머노이드의 애니메이터 가져오기
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- 모든 애니메이션 트랙 중지
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local animateScript = character:WaitForChild("Animate")
    animateScript.run.RunAnim.AnimationId = "rbxassetid://656118852"
    --animateScript.walk.WalkAnim.AnimationId = "rbxassetid://"
    --animateScript.jump.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation1.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation2.AnimationId = "rbxassetid://"
    --animateScript.fall.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.swim.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animateScript.climb.ClimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)

애니메이션 가중치 설정

같은 행동에 대해 여러 애니메이션을 사용할 수 있습니다. 예를 들어, 기본 애니메이션 교체 코드 샘플에는 두 개의 idle 변형이 있습니다.

문자 상태에 대해 여러 애니메이션이 존재하는 경우, Animate 스크립트는 무작위로 재생할 애니메이션을 선택하지만 아래 공식에 따라 애니메이션의 Weight 값을 설정하여 결과에 영향을 줄 수 있습니다:

  • 애니메이션 가중치 / 모든 상태 애니메이션의 총 가중치

다음 예에서 idle.Animation1은 캐릭터가 대기하고 있을 때 ⅓의 확률로 재생되며, idle.Animation2는 ⅔의 확률로 재생됩니다.

Script - 기본 캐릭터 애니메이션 교체

animateScript.idle.Animation1.AnimationId = "rbxassetid://656117400"
animateScript.idle.Animation2.AnimationId = "rbxassetid://656118341"
animateScript.idle.Animation1.Weight.Value = 5
animateScript.idle.Animation2.Weight.Value = 10

애니메이션 참조

기본 캐릭터 애니메이션

다음 표는 기본 애니메이션 교체카탈로그 애니메이션 또는 사용자 정의(custom) 애니메이션으로 교체할 수 있는 기본 캐릭터 애니메이션을 포함합니다. Idle에는 빈도가 높거나 낮게 재생될 수 있도록 가중치를 조절할 수 있는 두 가지 변형이 있습니다.

캐릭터 행동Animate 스크립트 참조
달리기animateScript.run.RunAnim.AnimationId
걷기animateScript.walk.WalkAnim.AnimationId
점프animateScript.jump.JumpAnim.AnimationId
대기

animateScript.idle.Animation1.AnimationId
animateScript.idle.Animation2.AnimationId

떨어짐animateScript.fall.FallAnim.AnimationId
수영

animateScript.swim.Swim.AnimationId

수영 (대기)

animateScript.swimidle.SwimIdle.AnimationId

등반animateScript.climb.ClimbAnim.AnimationId

카탈로그 애니메이션

기본 애니메이션을 교체하기 위해 아바타 애니메이션 번들을 사용할 때, 각각의 자산 ID에 대한 다음 참조를 사용하십시오. 예를 들어, 닌자 점프 애니메이션을 적용하려면 656117878를 사용합니다. Idle에는 여러 변형이 있다는 점에 유의하십시오.

우주 비행사
달리기
891636393
걷기
891636393
점프
891627522
대기
891621366, 891633237, 1047759695
떨어짐
891617961
수영
891639666
수영 (대기)
891663592
등반
891609353
거품
달리기
910025107
걷기
910034870
점프
910016857
대기
910004836, 910009958, 1018536639
떨어짐
910001910
수영
910028158
수영 (대기)
910030921
등반
909997997
만화 캐릭터
달리기
742638842
걷기
742640026
점프
742637942
대기
742637544, 742638445, 885477856
떨어짐
742637151
수영
742639220
수영 (대기)
742639812
등반
742636889
노인
달리기
845386501
걷기
845403856
점프
845398858
대기
845397899, 845400520, 901160519
떨어짐
845396048
수영
845401742
수영 (대기)
845403127
등반
845392038
기사
달리기
657564596
걷기
657552124
점프
658409194
대기
657595757, 657568135, 885499184
떨어짐
657600338
수영
657560551
수영 (대기)
657557095
등반
658360781
Levitation
달리기
616010382
걷기
616013216
점프
616008936
대기
616006778, 616008087, 886862142
떨어짐
616005863
수영
616011509
수영 (대기)
616012453
등반
616003713
마법사
달리기
707861613
걷기
707897309
점프
707853694
대기
707742142, 707855907, 885508740
떨어짐
707829716
수영
707876443
수영 (대기)
707894699
등반
707826056
닌자
달리기
656118852
걷기
656121766
점프
656117878
대기
656117400, 656118341, 886742569
떨어짐
656115606
수영
656119721
수영 (대기)
656121397
등반
656114359
해적
달리기
750783738
걷기
750785693
점프
750782230
대기
750781874, 750782770, 885515365
떨어짐
750780242
수영
750784579
수영 (대기)
750785176
등반
750779899
로봇
달리기
616091570
걷기
616095330
점프
616090535
대기
616088211, 616089559, 885531463
떨어짐
616087089
수영
616092998
수영 (대기)
616094091
등반
616086039
Rthro
달리기
2510198475
걷기
2510202577
점프
2510197830
대기
2510197257, 2510196951, 3711062489
떨어짐
2510195892
수영
2510199791
수영 (대기)
2510201162
등반
2510192778
스타일리시
달리기
616140816
걷기
616146177
점프
616139451
대기
616136790, 616138447, 886888594
떨어짐
616134815
수영
616143378
수영 (대기)
616144772
등반
616133594
슈퍼히어로
달리기
616117076
걷기
616122287
점프
616115533
대기
616111295, 616113536, 885535855
떨어짐
616108001
수영
616119360
수영 (대기)
616120861
등반
616104706
장난감
달리기
782842708
걷기
782843345
점프
782847020
대기
782841498, 782845736, 980952228
떨어짐
782846423
수영
782844582
수영 (대기)
782845186
등반
782843869
흡혈귀
달리기
1083462077
걷기
1083473930
점프
1083455352
대기
1083445855, 1083450166, 1088037547
떨어짐
1083443587
수영
1083464683
수영 (대기)
1083467779
등반
1083439238
늑대인간
달리기
1083216690
걷기
1083178339
점프
1083218792
대기
1083195517, 1083214717, 1099492820
떨어짐
1083189019
수영
1083222527
수영 (대기)
1083225406
등반
1083182000
좀비
달리기
616163682
걷기
616168032
점프
616161997
대기
616158929, 616160636, 885545458
떨어짐
616157476
수영
616165109
수영 (대기)
616166655
등반
616156119
©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.