애니메이션 추가

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

게임에 애니메이션을 구현하려면 스크립트를 사용하십시오. 이 튜토리얼에서는 미리 만든 스크립트를 사용하여 승리 애니메이션을 구현합니다. 완료되면 이 애니메이션은 플레이어의 업적을 축하하는 데 사용될 수 있습니다.

스크립트 애니메이션

애니메이션은 스크립트를 사용하여 트리거됩니다. 한 가지 접근 방식은 플레이어가 레벨을 완료하거나, 적을 물리치거나, 게임 내 구매를 하는 등의 다양한 상황에서 애니메이션을 재생하는 것입니다.

프로젝트 설정

이 프로젝트에서는 부품을 만들어 부품을 만드는 플레이어에게 애니메이션을 트리거하도록 합니다.

  1. 애니메이션을 재생할 모든 부품을 구성하려면 작업 공간에 폴더를 추가하십시오(작업 공간 위로 마우스를 이동하고 +를 클릭하고) 명명된 TouchPartFolder.

  2. In TouchPartFolder에 부품을 추가합니다.

    애니메이션이 플레이어에게 의미가 있는 위치에 부품을 배치하십시오, 예를 들어 레벨 끝이나 플레이어가 수집하는 개체 근처.

    승리 부분 예시
    상호 작용 부분 예시
  3. StarterPlayer > StarterCharacterScripts에서 로컬 스크립트로 이름이 TouchPartRegister인 로컬 스크립트를 만듭니다. 그런 다음 아래에 코드를 복사하십시오.


    -- 부품 터치에 애니메이션 재생하려면 "PlayerAnimationFeedback" 스크립트를 사용하세요
    -- 서비스
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    local character = player.Character or player.CharacterAdded:Wait()
    local humanoid = character:WaitForChild("Humanoid")
    local canTouch = false
    -- 피드백 애니메이션 모듈 포함
    local PlayerAnimationFeedback = require(ReplicatedStorage:WaitForChild("PlayerAnimationFeedback"))
    -- 부품을 만질 때 호출되는 함수
    local function onPartTouch(otherPart)
    if humanoid and canTouch == false then
    canTouch = true
    PlayerAnimationFeedback:PlayAnimation()
    canTouch = false
    end
    end
    -- 시작할 때 애니메이션 모듈 로드 함수를 호출합니다.
    PlayerAnimationFeedback:LoadAnimation(humanoid)
    -- 또한 "Touched" 이벤트에 부품 폴더를 바인딩하여 "onPartTouch()"를 실행합니다.
    local touchPartFolder = workspace:WaitForChild("TouchPartFolder")
    local touchParts = touchPartFolder:GetChildren()
    for _, touchPart in touchParts do
    touchPart.Touched:Connect(onPartTouch)
    end

    이 스크립트는 TouchPartFolder에서 모든 부품을 찾고 모든 부품에 Touched() 이벤트를 제공합니다. 발동되면 이벤트는 플레이어에게 애니메이션을 재생하는 함수를 플레이합니다.

  4. 다음 스크립트는 플레이어를 위한 애니메이션을 트리거합니다. ReplicatedStorage에서 PlayerAnimationFeedback라는 이름의 ModuleScript를 만듭니다. 그런 다음 코드를 복사하여 아래에 붙여넣습니다.


    -- 플레이어대한 애니메이션을 재생하기 위해 "TouchPartRegister" 스크립트와 함께 사용됩니다.
    local PlayerAnimationFeedback = {}
    local feedbackAnimationTrack
    local ANIMATION_FADE = 0.3
    local ANIMATION_ID = "rbxassetid://YOUR_ANIMATION"
    -- 플레이어 캐릭터에 애니메이션 로드하기
    function PlayerAnimationFeedback:LoadAnimation(humanoid)
    local feedbackAnimation = Instance.new("Animation")
    feedbackAnimation.AnimationId = ANIMATION_ID
    feedbackAnimationTrack = humanoid.Animator:LoadAnimation(feedbackAnimation)
    feedbackAnimationTrack.Priority = Enum.AnimationPriority.Action
    feedbackAnimationTrack.Looped = false
    end
    -- 애니메이션을 재생하는 함수
    function PlayerAnimationFeedback:PlayAnimation()
    feedbackAnimationTrack:Play(ANIMATION_FADE)
    task.wait(feedbackAnimationTrack.Length)
    end
    return PlayerAnimationFeedback

애니메이션 플레이

애니메이션은 스크립트에서 식별되고 로드되고 재생해야 합니다.

애니메이션 설정

스크립트는 어떤 애니메이션을 플레이알아야 합니다. 내보낸 애니메이션을 사용하려면 웹 브라우저를 통해 자산 ID 를 찾습니다. 그 ID는 다음으로 그 애니메이션을 스크립트에서 로드할 수 있게 합니다.

  1. 생성 페이지의 애니메이션 섹션을 엽니다.

  2. 내보낸 애니메이션을 찾아 클릭하십시오.

  3. 브라우저에서 URL에서 ID를 복사합니다.

  4. 스크립트에서 PlayerAnimationFeedback, 대체 자리 삽입, YOUR_ANIMATION (줄 8), ID 를 복사한 아이디 로 대체합니다.

  5. 프로젝트를 실행하고 플레이어가 부품에 히트하면 애니메이션을 볼 수 있습니다.

다음 단계

아래는 배우기를 계속하는 몇 가지 방법입니다.

애니메이션에 대해 알아보기

지금까지 애니메이션을 만드는 방법을 배웠고 경험에 애니메이션을 추가하는 방법을 배웠습니다. 지속적으로 배우려면 애니메이션 개요를 방문하십시오.

해당 페이지에서 편집 곡선을 사용하여 부드러운 이동을 위한 링크 또는 애니메이션 개선에 대한 팁을 찾을 수 있습니다.

애니메이션 부품

또한, 옵션 레슨 Animating Parts를 시작하여 트위ン을 코드하는 방법을 배우십시오. 이 기능은 크기를 조정하고 회전하고 이동할 수 있는 부품을 코드화하는 데 사용됩니다. 최종 프로젝트의 샘플은 아래에 있습니다.