2. 애니메이션 시스템
스켈레탈메시와 스켈레톤
UE4의 애니메이션은 만들어진 애니메이션을 재생하거나, 블렌딩하거나,
애니메이션의 특정 시점에 이벤트를 만들거나, 스테이트 머신 등을 사용해 로직
을 꾸미는 등 다양한 애니메이션 관련 기능을 지원한다.
3. 스켈레톤
스켈레톤이란
캐릭터를 이루는 가상의 뼈대(뼈대를 정의하는 계층 구조)
를 스켈레톤이라 한다. 스켈레톤을 이루는 각각의 구성
요소를 본(Bone)이라 하며 스켈레톤 에셋은 본의 이름과
본끼리 이루는 계층구조의 리스트로 구성되어 있다.
(+ 원본 스켈레탈 메시의 초기 비율 등)
4. 애니메이션 시퀀스
애니메이션 시퀀스란, 스켈레탈 메시에서 재
생할 수 있는 단일 애니메이션 에셋이며, 일
정 시점에서의 스켈레톤의 본의 위치,
회전값, 스케일값 등을 담고 있다.
5. 애니메이션 시퀀스
즉 애니메이션은 특정한 스켈레톤의 시점별
위치값 정보이기 때문에, 스켈레톤을 공유할
수 있다면 다른 캐릭터의 애니메이션도 공유
받아 사용할 수 있다.
6. 스켈레탈 메시
스켈레탈 메시
스켈레탈 메시란, 스켈레톤에 연관시켜서 애니메이션이 가능한 시각적
으로 볼 수 있는 3d 모델링 리소스를 의미한다.
만약 스켈레탈 메시의 구조가 크게 다르지 않거나, 조금 다르더라도 근본
적인 구조가 비슷하다면 스켈레탈 메시가 가진 스켈레톤 에셋은 서로 공
유하여 사용될 수 있다.
7.
8. 이전의 본 구성, 본의 작명방식,본의 계층 정보가 유지된
채로 추가적인 요소를 추가할 경우 스켈레톤 에셋의 공유
(즉 애니메이션의 공유)가 가능하다
22. 애디티브 블렌드
2가지 애니메이션을 더한다.
달리기(Base) + 재장전(Additive)
걷기(Base) + 탈진(Additive)
장점 : 애니메이션을 조합하여 재활용할 수 있다
단점 : 단순히 더하는 방법이기 때문에 원하는 애니메이션을
얻을 수 있다는 보장이 없다.
24. 부울 변수로 블렌드 적용
Blend poses by bool
Bool 변수 값을 기준으로 애니메이션을 전환합니다. 블
렌드 시간을 적절히 조절하면 전환을 더욱 자연스럽게
할 수 있습니다.
0.1 이하로 지정 시 즉시 전환되는 것처럼 보입니다.
더욱 정교한 블렌딩이 필요하다면 블렌딩 스페이스를
이용한다.
http://api.unrealengine.com/KOR/Engine/Animation/
Blendspaces/index.html
28. 애니메이션 리타겟
같은 스켈레톤을 공유하는 스켈레탈
메시 끼리는 애니메이션을 공유할
수 있다.
스켈레톤 에셋은 애니메이션을 재생
할 때 원본 스켈레탈 메시에 대응되
는 비율을 기준으로 비율을 정의하
기 때문에 비율이 다른(훨씬 작거나,
훨씬 크거나) 스켈레탈 메시는 재생
시 늘어나거나, 변형될 수 있다.
29. 애니메이션 리타겟
그러므로 사용할 스켈레톤의 비율을 맞춰 주어야 하고, 이 작업을
‘애니메이션 리타기팅‘ 혹은 ‘스켈레톤 리타깃팅’이라고 한다.
45. 애니메이션 노티파이
애니메이션 시퀀스 도중, 특정 시점에서 이
벤트를 발생시킬 수 있도록 구성할 수 있는
기능.
간단하게는 사운드 재생, 파티클 재생부터
블루프린트와 C++를 통해 다양하게 커스텀
할 수도 있다.
(ex. 걸을 때의 발소리, 흙먼지 등..)
Notify track을 우클릭 -> New notify로 생성
46. 애니메이션 노티파이
스켈레톤(커스텀) 노티파이
스켈레톤 노티파이를 통해 애니메이션 블루프린트 혹은 C++에서 이벤트의
조건으로 활용하거나 여러 기능들을 구현할 수 있다.
블루프린트에서 Add Anim Notify Event 항목으로 가져온다.
c++에서는 AnimNotify_XXXXX(노티파이 이름) 으로 발동할 수 있다.
클로딩 시뮬레이션 노티파이(Clothing Simulatoin Notify)
노티파이를 통해 클로딩 시뮬레이션의 시작, 정지를 제어할 수 있다.
파티클 이펙트 재생
블루프린트를 사용하지 않고, 디테일 패널에서 파티클의 원점 등을 제어
사운드 재생
간단한 사운드를 재생할 수 있으며, 소리원점, 소리의 따라가기 여부 등을
설정할 수 있다.
등등...