애니메이션 사용

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

애니메이션을 한 번 만들었으면 스크립트를 사용하여 경험에 포함해야 합니다.스크립트에서 수동으로 애니메이션을 재생하거나 플레이어 캐릭터에 기본 애니메이션을 대체할 수 있습니다.

스크립트에서 애니메이션 재생 Play animations from scripts

특정 키를 누르거나 특별 아이템을 선택할 때와 같이 스크립트 내에서 애니메이션을 직접 재생해야 하는 경우가 있습니다.

인간형

일반적인 플레이 가능한 캐릭터를 포함하는 리그에서 애니메이션을 재생하려면 다음 기본 패턴을 따르세요: To play an animation on a rig containing a Humanoid object, such as typical playable characters, follow this basic pattern:

  1. 로컬 플레이어의 Humanoid에 개체 Animator가 포함되어 있는지 확인하십시오.
  2. 적절한 로 새 인스턴스를 생성하십시오.
  3. Animator:LoadAnimation()를 통해 애니메이션을 로드하여 AnimationTrack를 생성합니다.
  4. 트랙을 AnimationTrack:Play()로 재생합니다.

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

로컬스크립트 - 플레이어 캐릭터에 사용자 지정 애니메이션 재생

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

비인간형

포함하지 않는 리그에서 애니메이션을 재생하려면 자식 를 사용하여 를 만들어야 합니다.예를 들어, 다음 Script (리그의 직접 자식으로 가정)는 "추방" 애니메이션을 로드하고 재생합니다.

스크립트 - 캐릭터 리그에서 사용자 지정 애니메이션 재생

local rig = script.Parent
-- 새로운 "애니메이션" 인스턴스를 생성하고 애니메이션 자산 ID를 할당하십시오
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- 새로운 "애니메이션 컨트롤러"와 "애니메이터" 생성
local animationController = Instance.new("AnimationController")
animationController.Parent = rig
local animator = Instance.new("Animator")
animator.Parent = animationController
-- 애니메이터에 애니메이션 불러오기
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- 애니메이션 트랙 재생
kickAnimationTrack:Play()
-- 명명된 이벤트가 애니메이션에 정의되었으면 "GetMarkerReachedSignal()"에 연결하십시오
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)

기본 애니메이션 대체

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

  1. 새 애니메이션의 자산 ID 를 다음과 같이 가져옵니다:

    • 애니메이션 편집기로 맞춤형 애니메이션을 빌드한 경우 내보내기 지침을 따르십시오.
    • 아래의 카탈로그 애니메이션 참조에서 적절한 ID를 복사하십시오.예를 들어, 기본 실행 애니메이션을 닌자런 변형으로 교체하려면 656118852 사용하십시오.
  2. 탐색기 창에서 Explorer에 새로운 ScriptServerScriptService 에 추가합니다.

    1. Hover over ServerScriptService 및 ⊕ 버튼을 클릭하십시오.
    2. 컨텍스트 메뉴에서 스크립트 를 삽입합니다.
  3. 새 스크립트에서 다음 코드를 붙여넣습니다:

    스크립트 - 기본 캐릭터 애니메이션 대체하기

    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")
    --애니메이트스크립트.run.RunAnim.AnimationId = "rbxassetid://"
    --애니메이트스크립트.걷기.WalkAnim.AnimationId = "rbxassetid://"
    --animateScript.점프.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript.빈둥대기.Animation1.AnimationId = "rbxassetid://"
    --animateScript.빈둥대기.Animation2.AnimationId = "rbxassetid://"
    --애니메이트스크립트.낙하.FallAnim.AnimationId = "rbxassetid://"
    --애니메이트스크립트.수영.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animateScript.오르기.ClimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  4. 기본 캐릭터 애니메이션을 참조하는 각 줄에 대해 주석을 해제하고 후에 교체 ID를 붙여넣으십시오.예를 들어, 기본 실행 애니메이션을 닌자런 변형으로 변경하려면:

    스크립트 - 기본 캐릭터 애니메이션 대체하기

    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"
    --애니메이트스크립트.걷기.WalkAnim.AnimationId = "rbxassetid://"
    --animateScript.점프.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript.빈둥대기.Animation1.AnimationId = "rbxassetid://"
    --animateScript.빈둥대기.Animation2.AnimationId = "rbxassetid://"
    --애니메이트스크립트.낙하.FallAnim.AnimationId = "rbxassetid://"
    --애니메이트스크립트.수영.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animateScript.오르기.ClimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)

애니메이션 무게 설정

동일한 액션대해 여러 애니메이션을 사용할 수 있습니다.예를 들어, 기본 애니메이션을 대체하기 위한 코드 샘플에는 두 가지 변형 이 있습니다.

캐릭터 상태에 여러 애니메이션이 존재하는 경우, 애니메이션 스크립트는 무작위로 재생할 애니메이션을 선택하지만, 다음 수식에서 애니메이션의 Weight 값을 설정하여 결과에 영향을 줄 수 있습니다.

  • 애니메이션 무게 / 모든 상태 애니메이션의 총 무게 다음 예제에서는 idle.Animation1 가 캐릭터가 빈둥대기시간의 ⅔을 재생하고 idle.Animation2 가 ⅔의 시간을 재생합니다.
스크립트 - 기본 캐릭터 애니메이션 대체하기

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

애니메이션 참조

기본 캐릭터 애니메이션

다음 표에는 카탈로그 애니메이션이나 사용자 지정 애니메이션으로 교체할 수 있는 모든 기본 캐릭터 애니메이션이 포함되어 있습니다.The following table contains all of the default character animations that you can replace with catalog animations or your own custom animations.유휴 상태 는 더 자주 또는 덜 자주 플레이하도록 무게를 줄일 수 있는 두 가지 변형을 가지고 있습니다.

캐릭터 액션애니메이션 스크립트 참조
실행 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
수영 (유휴) 891663592
수영 (유휴) 891609353
버블리
실행 910025107
걷기 910034870
점프 910016857
유휴 910004836, 910009958, 1018536639
걷기 (유휴) 910001910
수영 910028158
수영 (유휴) 910030921
클라이밍 909997997
만화
실행 742638842
걷기 742640026
점프 742637942
유휴 742637544, 742638445, 885477856
유휴 (점프) 742637151
수영 (유휴) 742639220
수영 (유휴) 742636889
장로
실행 845386501
걷기 845403856
점프 845398858
유휴 845397899, 845400520, 901160519
걷기 (유휴) 845396048
수영 (유휴) 845401742
수영 (유휴) 845392038
기사
실행 657564596
걷기 657552124
점프 658409194
유휴 657595757, 657568135, 885499184
걷기 (유휴) 657600338
수영 (유휴) 657560551
수영 (유휴) 658360781
레비테이션
실행 616010382
걷기 616013216
점프 616008936
유휴 616006778, 616008087, 886862142
유휴 (점프) 616005863
수영 (유휴) 616011509
수영 (유휴) 616003713
마법사
실행 707861613
걷기 707897309
점프 707853694
유휴 707742142, 707855907, 885508740
잠수 707829716
수영 (유휴) 707894699
수영 (유휴) 707826056
닌자
실행 656118852
걷기 656121766
점프 656117878
유휴 656117400, 656118341, 886742569
유휴 (유휴) 656115606, 656118341, 886742569
수영 656119721
수영 (유휴) 656121397
해적
실행 750783738
걷기 750785693
점프 750782230
유휴 750781874, 750782770, 885515365
유휴 (점프) 750780242, 750782770, 885515365
수영 750784579
수영 (유휴) 750785176
로봇
실행 616091570
걷기 616095330
점프 616088211, 616089559, 885531463
유휴 616088211, 616089559, 885531463
걷기 (유휴) 616087089
수영 616092998
수영 (유휴) 616086039
Rthro
실행 2510198475
걷기 2510202577
점프 2510197830
유휴 2510197257, 2510196951, 3711062489
잠수 2510195892
수영 (유휴) 2510201162
수영 (유휴) 2510192778
스타일리시

실행 616140816
걷기 616146177
점프 616139451
유휴 616136790, 616138447, 886888594
유휴 (점프) 616134815
수영 (유휴) 616143378
수영 (유휴) 616144772
걷기 (유휴) 616133594

슈퍼히어로
실행 616117076
걷기 616122287
점프 616115533
유휴 616111295, 616113536, 885535855
유휴 (점프) 616108001, 616113536, 885535855
수영 616119360
수영 (유휴) 616120861
장난감
실행 782842708
걷기 782843345
점프 782847020
유휴 782841498, 782845736, 980952228
수영 (유휴) 782846423
수영 (유휴) 782845186
수영 (유휴) 782843869
뱀파이어
실행 1083462077
걷기 1083473930
점프 1083455352
유휴 1083445855, 1083450166, 1088037547
잠수 1083443587
수영 (유휴) 1083467779
수영 (유휴) 1083464683
클라이밍 1083439238
늑대 인간
실행 1083216690
걷기 1083178339
점프 1083218792
유휴 1083195517, 1083214717, 1099492820
잠수 1083222527
수영 (유휴) 1083225406
수영 (유휴) 1083182000
좀비
실행 616163682
걷기 616168032
점프 616161997
유휴 616158929, 616160636, 885545458
걷기 (유휴) 616157476
수영 616165109
수영 (유휴) 616166655
클라이밍 616156119