Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- https://eo-oe.tistory.com/
- https://vetenir.tistory.com/
- https://hjmag1120.tistory.com/
- 스파르타코딩클럽
- https://mynameiskgws.tistory.com/
- https://ji-han.tistory.com/
- 태어난김에 보스까지
- 이리5조
Archives
- Today
- Total
info8995 님의 블로그
AI에 애니메이션 시스템 적용하기 본문
오늘 배운 핵심
오늘은 언리얼 엔진의 애니메이션 시스템을 AI 캐릭터에 적용하는 방법을 배웠다. 단순히 애니메이션을 임포트하는 데서 끝나지 않고, AI용 애니메이션 블루프린트와 상태머신을 구성하는 기본 틀을 만들었다.
특히 플레이어 캐릭터와 AI 캐릭터의 애니메이션 작동 메커니즘 차이를 이해하는 데 집중했다.
1. 외부 애니메이션 데이터 준비 및 임포트
- .fbx 파일 포맷의 애니메이션과 스켈레톤 모델을 다운로드 후 임포트.
- 임포트 시 주의사항:
- Import Animation Only 체크.
- Skeleton 설정 시 제공된 SKM 파일 선택.
🎯 여기서 중요한 포인트는, 새 스켈레톤을 만드는 것이 아니라 제공된 스켈레톤에 맞춰 임포트하는 것.
2. AI용 캐릭터 클래스 및 애니메이션 블루프린트 생성
- MyFriendCharacter (C++ 클래스)
- 기존 플레이어 캐릭터를 기반으로 한 AI용 캐릭터 생성.
- BP_Friend (MyFriendCharacter 기반 블루프린트)
- ABP_FriendCharacter (Animation Blueprint)
- AI 전용 애니메이션 블루프린트.
- 이후 상태머신(State Machine) 구성 예정.
- BP_FriendAI (AI 블루프린트)
- Anim Class에 ABP_FriendCharacter 지정하여 애니메이션 적용.
3. 플레이어 캐릭터 vs AI 캐릭터 작동 방식 비교
구분플레이어 캐릭터AI 캐릭터 (NPC)
| 제어 방식 | 플레이어 입력 (키보드, 마우스, 패드 등) | AIController가 자율적으로 결정 |
| 이동 처리 | AddMovementInput() 사용 | MoveToActor(), MoveToLocation() 사용 |
| 애니메이션 트리거 | 입력 값(Speed, Direction 등)로 직접 제어 | 상태(Idle, Chase, Attack) 변화로 제어 |
| 상태 전환 방식 | Axis 값 기반 애니메이션 블렌딩 | AI의 행동 감지 및 속도 변화 감지로 상태 전환 |
🎯 요약:
플레이어는 입력값, AI는 상태변화를 통해 애니메이션이 전환된다.
4. 애니메이션 블루프린트 생성 및 적용 방법
4-1. 애니메이션 블루프린트 생성 방법
방법 1: 콘텐츠 브라우저에서 생성
- 콘텐츠 브라우저 → + 추가(Add) → 애니메이션(Animation) → 애니메이션 블루프린트(Animation Blueprint) 선택
- 타깃 스켈레톤 선택 → 생성(Create)
방법 2: 스켈레탈 메시에서 생성
- 스켈레탈 메시 에셋을 우클릭 → 생성(Create) → 애님 블루프린트(Anim Blueprint) 선택
✅ 필요시 부모 클래스(Parent Class)나 템플릿을 지정할 수 있음.
4-2. 생성한 애니메이션 블루프린트 열기
- 생성한 애니메이션 블루프린트를 더블클릭하면 애니메이션 블루프린트 에디터가 열림.
- 여기서 AnimGraph, State Machine 등을 작성하고 설정할 수 있음.
4-3. 캐릭터에 애니메이션 블루프린트 할당하기
- 스켈레탈 메시 선택
- 애니메이션 모드(Animation Mode) 를 Use Animation Blueprint 로 설정
- 애님 클래스(Anim Class) 를 원하는 애니메이션 블루프린트로 지정
🎯 애니메이션 블루프린트는 캐릭터에 직접 연결해야 동작한다는 점 주의.
4-4. 애니메이션 블루프린트로 작업하기
- AnimGraph 로 애니메이션 블렌딩 로직 생성
- State Machine 으로 다양한 상태(Idle, Run, Attack 등) 구성
- Linked Anim Instances 등을 활용해 더 복잡한 제어 가능
✨ 오늘 느낀 점
- 기존에 다루던 플레이어 캐릭터의 애니메이션 시스템을 이해하고 있었기 때문에, AI용으로 바뀐다고 해도 개념은 크게 다르지 않다는 것을 깨달았다.
- 중요한 것은 "누가 캐릭터를 움직이냐" (플레이어 vs AIController)에 따라 트리거 방식이 다르다는 점이다.
- 외부 애니메이션 리소스를 가져와 언리얼에 맞춰 적용하는 과정도 좋은 경험이었다.
- 애니메이션 블루프린트를 연결하는 정확한 방법(Anim Class 설정 등)을 명확히 이해할 수 있었다.
🛠️ 다음 목표
- 상태머신(State Machine)을 활용해 AI가 상황에 맞춰 애니메이션을 전환하도록 세팅할 예정.
- 예: Idle → Chase → Attack → Death 상태 전환 흐름 구현하기
'TIL(Today I Learned) > Unreal Engine' 카테고리의 다른 글
| AI NPC 사운드 디자인과 어테뉴에이션 (0) | 2025.05.01 |
|---|---|
| 언리얼 엔진 AI 애니메이션 블루프린트 및 스테이트 머신 구현 (1) | 2025.04.30 |
| 플레이어를 추적하는 AIController 구현 (0) | 2025.04.24 |
| Unreal Engine AI 구현 정리 (0) | 2025.04.22 |
| 언리얼 밤하늘 (0) | 2025.04.16 |