[Unreal]10.배틀 그라운드 따라 만들기 #10 애니메이션 블루프린트
- 게임 개발 - Unreal
- 2019. 8. 17. 14:34
안녕하세요 유랑입니다.
실력향상을 위해서 이번 시간부터는 유료 강의를 따라하면서 공부하겠습니다.
블루프린트와 엔진 버전은 4.18.3을 사용합니다^^
1. 배틀 그라운드 만들기
이번 강의는 얼론데브와 인프런에 있는 배틀 그라운드(로얄)을 만드는 강좌이며,
유료로 돈을 지불해야만 강의를 들을 수 있습니다.
저는 돈을 지불하였고, 스킬업을 위해서 복습겸 글을 올리겠습니다.
얼론데브 => https://alonedev.com/
인프런 => https://www.inflearn.com/
2. 애니메이션 블루프린트
오늘은 애니메이션 블루프린트를 생성하여 이동시 캐릭터 애니메이션을 적용하도록 하겠습니다
빠른 적용을 위해서 테스트맵에서 진행하겠습니다.
2-1) 애니메이션 추가
애니메이션 폴더에 있는 애니메이션 파일을 삭제하고,
새로운 애니메이션을 추가해 주겠습니다.
반드시 해당 스켈레톤을 선택해 주세요.
그리고 모두 임포트 시켜주겠습니다.
추가한 애니메이션은 이렇게 보실 수 있어요^^
2-2) 애니메이션 블루프린트 - ㉠생성 및 적용
캐릭터 움직임에 따라 애니메이션을 적용하기 위해서 애니메이션 블루프린트를 생성해 주겠습니다.
이 부분도 해당 스켈레톤을 선택해 주세요!!!
애니메이션 블루프린트를 실행시켜준다음,
에셋 브라우저에 있는 애니메이션을 추가 후 연결시켜주시면 해당 애니메이션이 실행됩니다.
만들어진 애니메이션 블루프린트는 캐릭터 액터 메쉬에 적용시켜주어야
해당 캐릭터가 움직이게 됩니다.
2-3) 애니메이션 블루프린트 - ㉡변수 연결
캐릭터가 움직일 때 해당 애니메이션을 실행시켜 줄텐데요.
연결시켜 주기위해서 변수를 사용해 주겠습니다.
하지만 캐릭터와 애니메이션 블루프린트는 서로 다른 쓰레드로 이루어져 있어서 같은 변수를 공유할 수 없습니다.
그렇기에 변수를 각각 만들어 연결시켜주는 작업을 해주겠습니다ㅎㅎ
애니메이션 블루프린트에서 해당 코드를 추가해 주세요.
이 블루프린트를 쓰고있는 폰을 가지고와 BP_PlayerBase이면 해당 변수를 연결시켜주는 작업입니다.
여기도 물론 MoveForward라는 변수를 만들어 주어야 합니다.
2-4) 애니메이션 블루프린트 - ㉢블렌드
블렌드는 서로 다른 애니메이션을 실행시키기 위해서 사용됩니다.
MoveForward 값에 따라 Idle과 Forward 애니메이션을 실행시켜줄 수 있겠네요^^
2-5) 애니메이션 블루프린트 - ㉣블렌드 스페이스
위의 방법은 여러 개의 애니메이션을 적용시키기에는 부적절합니다.
이번 에는 블렌드 스페이스를 이용해 적용해 보겠습니다.
마찬가지로 해당 스켈레톤을 적용해 주세요^^
블렌드 스페이스를 실행 후 Axis Settings으로 가주세요.
이렇게 이름과 값을 지정해 주고
핀에다가 애니메이션을 각각 넣어주면
애니메이션 블루프린트에 적용해 사용하실 수 있습니다.
2-6) 상태머신 - ㉠생성
하지만 위의 방법은 애니메이션이 변경될 때 부자연스러운 부분이 있습니다.
이번에는 상태머신을 이용해 애니메이션을 적용해 주겠습니다.
스테이스 추가를 통해 Idle과 Forward, Backword라는 상태를 만들어 주었습니다.
애니메이션 상태마다 트랜지션도 연결해 주겠습니다.
Idle, Forward, Backward 스테이트를 각각 클릭하신 후 해당 애니메이션을 적용해 주시고
2-7) 상태머신 - ㉡트랜지션
트랜지션을 이용해 해당 애니메이션이 변경될 조건을 만들어 주겠습니다.
Idle에서 Forward로 가기 위한 조건은 MoveForward 값이 0보다 커야겠지요?
2-8) 상태머신 - ㉢트랜지션 룰 공유
이런 트랜지션 조건들은 중복될 수 있습니다.
공유로 승격을 하신 후
해당 트랜지션 룰을 적용하시면 불필요한 작업을 줄일 수 있겠죠?ㅎㅎ
3. 마무리
오늘 강의는 여기까지입니다.
배틀그라운드를 따라하면서 애니메이션 블루프린트와 상태머신까지 적용해 보았습니다
오늘도 고생하셨습니다.
감사합니다.
수업자료: https://github.com/YouRang12/-Tistory-Unreal---Extra-3D-