고도 엔진에서 AnimationPlayer 애니메이션 플레이 방법 - Whitmem
고도 엔진에서 AnimationPlayer 애니메이션 플레이 방법
Game Development
2025-02-15 16:15 게시 4e901f6739b1f9f50934

0
0
39
이 페이지는 외부 공간에 무단 복제할 수 없으며 오직 있는 그대로 게시되며 부정확한 내용을 포함할 수 있습니다. 법률이 허용하는 한 가이드 라인에 맞춰 게시 내용을 인용하거나 출처로 표기할 수 있습니다.
This page is not to be distributed to external services; it is provided as is and may contain inaccuracies.
AnimationPlayer 노드 사용 방법
AnimationPlayer 을 이용하면 시간에 대해 어떤 노드의 속성 또는 입력 값이 변하도록 할 수 있다. 기본적으로 이런 노드가 없는 경우 소스코드 상에서 시간이 지남에 따라 값을 수정하거나, 조작을 해야하는데, 애니메이션 플레이어를 통해 키 프레임을 삽입하고 시간에 따라 자동으로 보간되게끔 구현할 수 있다. 이러한 애니메이션은 게임 상 스토리를 재생할 때 키 프레임 위에서 쉽게 구현하여 쉽게 재생할 수 있다.
예를 들어 Node2D2 에 임의로 지정한 스크립트가 존재하고 이 스크립트에 Export를 통해서 프로퍼티를 받는다고 가정한다.
위 코드에서 받은 프로퍼티를 사용해서 노드에서 어떤 방식으로든 사용할 수 있다.
즉 기본적으로 float 값이든 String 값이든 위 노드 프로퍼티 공간에서 값을 지정할 수 있다.
이 때 AnimationPlayer 노드를 생성하고 아래에 애니메이션을 하나 새로 만들어본다.
애니메이션 이름은 코드 상에서 호출하여 재생할 수 있으므로 영문으로 애니메이션 명을 정의한다.
애니메이션이 생성되면 애니메이션 최대 길이를 지정할 수 있다. 애니메이션은 기본적으로 초 단위이다.
트랙 추가 버튼을 누르고 여기서는 다른 노드의 속성 값에 키 프레임을 적용하는 것이 주요 목표이므로, 속성 트랙을 지정한다.
그러면 상기 창이 뜨는데, 어떤 노드의 속성을 바꿀 건지와, 해당 노드의 어떤 속성에 키 프레임을 적용할 것인지 창이 뜨는데, 원하는 속성을 정의해준다.
속성이 트랙에 추가되면 빈 공간에 우클릭하여 키를 삽입할 수 있다. 키 하나는 해당 시간에 해당 값에 도달하도록 의도하는 값이라고 보면 된다.
여러 설정을 원하는 곳에 키를 삽입하고 재생을 해본다. 값이 바뀌는 것을 확인할 수 있다. 참고로 각 트랙 오른쪽 편에서 연속적으로 선형 보간되는지 유무를 정의할 수 있다. 비 연속적인 경우 해당 키 시간이 되어야 바로 즉시 값이 바뀌는 것이고, 연속적인 경우 그 사이 값이 선형적으로 보간되어 부드러운 움직임을 구현할 수 있다.
이제 게임에서 해당 애니메이션이 실행되도록 하기 위해 AnimationPlayer 에서 Play("애니메이션 명");을 통해 재생할 수 있다.
댓글 0개
댓글은 일회용 패스워드가 발급되며 사이트 이용 약관에 동의로 간주됩니다.
확인
Whitmemit 개인 일지 블로그는 개인이 운영하는 정보 공유 공간으로 사용자의 민감한 개인 정보를 직접 요구하거나 요청하지 않습니다. 기본적인 사이트 방문시 처리되는 처리 정보에 대해서는 '사이트 처리 방침'을 참고하십시오. 추가적인 기능의 제공을 위하여 쿠키 정보를 사용하고 있습니다. Whitmemit 에서 처리하는 정보는 식별 용도로 사용되며 기타 글꼴 및 폰트 라이브러리에서 쿠키 정보를 사용할 수 있습니다.
이 자료는 모두 필수 자료로 간주되며, 사이트 이용을 하거나, 탐색하는 경우 동의로 간주합니다.