애니메이션 블루프린트와 블렌드 스페이스
캐릭터에 애니메이션 넣기(블렌드 스페이스)
1. 콘텐츠 브라우저에서 우클릭 해서 애니메이션 블루프린트 생성

2. 애님 그래프에서 캐릭터에 가만히 있을 때 대기 상태의 애니메이션을 적용 한다.

애셋 브라우저에서 초록색은 애니메이션 시퀀스 타입, 주황색은 블렌드 스페이스 타입, 보라색은 몽타주
몽타주와 시퀀스 타입의 차이점
시퀀스는 단일 모션만 가능하다.몽타주는 여러 개의 모션이 들어가는 게 가능하고 재생 구간별로 노티파이, 편집을 하여 여러가지 애니메이션을 합칠 수 있다.
3. 콘텐츠 브라우저에서 우클릭 해서 블렌드 스페이스 생성

4. 블렌드 스페이스에서 걷거나 뛸때의 애니메이션을 적용 한다.

애셋 브라우저에서 애니메이션 애셋을 가운데 아래 영역으로 드래그하여 배치했다.(하얀 점)
(시프트 키를 누른 상태로 드래그하면 스냅 기능이 적용되어 그리드에 자동으로 정렬된다.)
가운데 아래 영역에서 컨트롤을 누르고 마우스를 움직이면 초록색 X(프리뷰 포인트)의 위치가 변하는데 현재 상태에서의 어떤 애니메이션이 출력되는지 확인이 가능하다.
5. 애님 그래프로 돌아와서 애셋 브라우저에서 방금 만든 블렌드 스페이스 애셋 드래그하여 적용한다.

6. 속도 값이 있어야 애니메이션이 작동을 하므로 속도 값을 갖도록 이벤트 그래프에서 노드 생성한다.



벡터는 힘의 크기와 방향을 가지고 있고(=속도), 스칼라 값은 힘의 크기만 나타냄. 벡터의 길이가 스칼라다.


Is Valid? 노드를 넣은 이유는 모든 프로그래밍을 할 때는 방어 장치가 필요하다.
이 애니메이션 블루프린트를 예로 들면, 실행은 되지만 예상치 못한 오류가 발생하거나 캐릭터 블루프린트가 존재하지 않거나 크래시로 사라진 상황에 대비해야 합니다. Is Valid? 노드는 이러한 상황에서 해당 객체가 유효한지 확인하는 안전장치 역할을 합니다.
TryGetPawnOwner(현재는 캐릭터)가 유효하지 않은데 실행을 하면 에러가 발생하므로 리턴 값을 Is Valid?의 Input Object핀에 연결 해 주어 캐릭터가 유효한지 확인 해줘야 한다.
스테이트 머신
스테이트 머신은 피격 시 피격 모션, 공격 시 공격 모션 등 상황에 따라 애니메이션(행동)이 변하는 기능이다.
1. 애님 그래프에서 스테이트 머신 노드 생성하기

2. 대기, 뛰는 상태의 스테이트 생성 후 각 애니메이션 애셋을 적용.

만약 뛰는 상태에 Run 애니메이션 시퀀스를 적용하면, 캐릭터가 천천히 뛰다가 빨라지는 자연스러운 전환이 아니라 속도가 1만 되어도 바로 최대 속도로 뛰는 모션을 취하게 됩니다.
3. 각 상태를 연결해주고 트랜지션 룰에서 애니메이션이 변경되는 조건을 생성함.

4. 애님 그래프에서 스테이트 머신을 연결해준다.

점프 애니메이션 넣기
1. 캐릭터가 공중에 있는지 판단하는 노드를 생성한다.

실행 핀을 바로 연결 해줘도 되지만 노드가 복잡해지는 것이 보기 싫다면 Sequence 노드를 이용한다.


Sequence 노드는 실행 핀이 위부터 연결된 순서대로 처리를 해주는 노드이다.

2. 스테이트 머신에 Idle/Run 에일리어스, 점프, 떨어짐, 땅에 착지 모션을 추가한다.

스테이트 에일리어스는 두 가지 이상의 상태를 가질 수 있는 스테이트이다.

3. 각 상태에서 다음 상태로 변경되는 조건을 트랜지션 룰에서 설정해준다.


스테이트 - 디테일의 시퀀스 플레이어에 따른 자동 규칙을 체크하면 전의 애니메이션 재생이 끝나면 다음 애니메이션으로 자동으로 연결이 된다. Jump 애니메이션이 끝나면 Fall 애니메이션으로 자동으로 넘어간다는 뜻.

'Unreal 게임개발종합반 1주차' 카테고리의 다른 글
| 4일차 250717 (1-11강의) (0) | 2025.07.25 |
|---|---|
| 4일차 250717 (1-10강의) (0) | 2025.07.25 |
| 3일차 250716 (1-8강의) (0) | 2025.07.25 |
| 3일차 250716 (1-7강의) (0) | 2025.07.25 |
| 2일차 250715 (1-6강의) (0) | 2025.07.25 |