애니메이션은 캐릭터, 객체 및 환경에 움직임을 적용하여 매력적이고 역동적인 게임을 만드는 과정입니다. 객체를 움직이고 상호작용하게 만드는 방법은 여러 가지가 있지만, Roblox에서 애니메이션은 일반적으로 특정 캐릭터나 부품 그룹의 표현적인 움직임을 사용자 정의하는 것을 의미합니다.
애니메이션은 모든 Roblox 부품이나 부품 그룹에 적용될 수 있습니다. 다양한 유형의 객체는 다양한 애니메이션 기능을 활용할 수 있습니다. 다음은 애니메이션이 가능한 객체의 일반적인 범주입니다:
- 단순 객체는 기본 부품과 같은 것으로, 부품의 단일 위치 또는 회전 속성에서 변화하는 것만 애니메이션할 수 있습니다.
- 리그는 AnimationConstraints 또는 Bones와 같이 관절로 연결된 부품으로, 관절(예: 팔꿈치와 손목) 간의 위치 및 회전 움직임을 조절할 수 있습니다. 리깅된 모델은 역운동학 기능을 활용해 환경과 사건에 반응하여 신속하게 프로그램적으로 움직임을 적용할 수 있습니다.
- R15 리그는 표준화된 아바타 캐릭터 모델을 포함하는 리그로, 플레이어 캐릭터 또는 비 플레이어 캐릭터 모델일지라도 Roblox의 캐릭터 애니메이션 라이브러리와 다른 움직임 기능의 애니메이션을 사용할 수 있습니다.
애니메이션 편집기
애니메이션 편집기는 리그에서 사용자 정의 애니메이션을 디자인하고 게시할 수 있게 해줍니다. 리그의 개별 부분을 연결하는 관절을 이동시켜 포즈를 만들 수 있으며, 편집기는 포즈 간에 리그를 부드럽게 애니메이션으로 전환합니다.
역운동학
역운동학 API를 사용하여 환경 및 외부 사건을 기반으로 애니메이션 및 포즈를 자동으로 생성할 수 있습니다. 역운동학을 사용하면 캐릭터의 머리가 하늘에서 나는 새를 추적하거나, 캐릭터의 팔이 근처에서 문 손잡이를 자동으로 잡도록 하는 등 여러 애니메이션 이벤트를 절차적으로 생성할 수 있습니다.
애니메이션 이벤트
애니메이션 이벤트는 애니메이션 내에서 특정 행동을 트리거하는 특정 지점입니다. 애니메이션 편집기 타임라인에 애니메이션 이벤트 마커를 정의한 다음, AnimationTrack:GetMarkerReachedSignal()을 사용하여 애니메이션이 실행되는 동안 이러한 마커를 감지하여 사용자의 발이 지면에 닿을 때마다 사운드 효과를 재생하는 등의 특정 행동을 수행할 수 있습니다.