애니메이션을 한 번 만들었으면 스크립트를 사용하여 경험에 포함해야 합니다.스크립트에서 수동으로 애니메이션을 재생하거나 플레이어 캐릭터에 기본 애니메이션을 대체할 수 있습니다.
스크립트에서 애니메이션 재생 Play animations from scripts
특정 키를 누르거나 특별 아이템을 선택할 때와 같이 스크립트 내에서 애니메이션을 직접 재생해야 하는 경우가 있습니다.
인간형
일반적인 플레이 가능한 캐릭터를 포함하는 리그에서 애니메이션을 재생하려면 다음 기본 패턴을 따르세요: To play an animation on a rig containing a Humanoid object, such as typical playable characters, follow this basic pattern:
- 적절한 로 새 인스턴스를 생성하십시오.
- Animator:LoadAnimation()를 통해 애니메이션을 로드하여 AnimationTrack를 생성합니다.
- 트랙을 AnimationTrack:Play()로 재생합니다.
예를 들어, 다음 LocalScript 를 StarterPlayerScripts 에 배치하면 플레이어의 캐릭터에 "추방" 애니메이션을 로드하고 재생합니다.스크립트는 또한 특정 애니메이션 이벤트가 발생했을 때 감지하기 위해 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 플레이어 캐릭터에는 달리기, 등반, 수영, 점프와 같은 일반 애니메이션이 포함됩니다.이러한 기본 애니메이션을 카탈로그의 애니메이션이나 사용자 지정 애니메이션으로 교체할 수 있습니다.
새 애니메이션의 자산 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() doplayingTrack:Stop(0)endlocal 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://"endlocal function onPlayerAdded(player)player.CharacterAppearanceLoaded:Connect(onCharacterAdded)endPlayers.PlayerAdded:Connect(onPlayerAdded)기본 캐릭터 애니메이션을 참조하는 각 줄에 대해 주석을 해제하고 후에 교체 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() doplayingTrack:Stop(0)endlocal 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://"endlocal function onPlayerAdded(player)player.CharacterAppearanceLoaded:Connect(onCharacterAdded)endPlayers.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 = 5animateScript.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 |