친절한효자손 취미생활



보통 게임상 캐릭터의 애니메이션 움직임을 보면,

멈출때, 걸을때, 뛰댕길때, 자연스럽게 사람처럼 움직임이 스무스함을 볼 수 있습니다.


이것을 애니메이션 블렌딩 처리라고 하는데, 언리얼엔진에서는 기본적으로 이 기능을 제공합니다.

이것을 언리얼에서는 블렌드스페이스 라고 부르고 있습니다.

이제 어떻게 작업을 하는지를 한번 만들어 보도록 하겠습니다.




[언리얼강좌] 언리얼기초! 블렌드스페이스 및 페르소나를 이용한 애니메이션 블렌딩



우선 준비해야할 것은, 애니메이션이 포함된 FBX 파일이 필요합니다.

움직임이 있는 캐릭터가 있어야 하며, 이 FBX 종류는, 평소 서있는 애니메이션 모습,

걷기와 점프 등등이 준비되면 좋겠습니다. 여기서 저는 그냥 가만히 있을때는 (스탠다드 모습) 숨을 쉬고 있는 애니메이션 으로 준비하고,

오른쪽 걷기, 왼쪽 걷기, 뒤로 걷기 등등의 FBX를 준비했습니다.





언리얼 버전은 이번에 새로 업데이트된 4.9.2로 새로 프로젝트를 만들어서 진행합니다.

프로젝트명은 마음대로 하셔도 되는데, 저는 Character_Project 라고 정했습니다.

모든 컨텐츠 포함으로 진행을 하구요. 혹시 모르니~ ㅎㅎㅎ





우선, 세팅을 해줍니다. 프로젝트 세팅으로 들어갑니다.





맵&모드 에서는 저 부분을 방금 프로젝트명으로 지정을 해 줍니다.





그리고, 입력 부분은 이렇게 지정해 줍니다. +버튼을 눌러서 추가를 계속 하시면 되고요,

스케일 값에 +와 -를 잘 구별해 주세요.


그리고 빨간 박스 부분은 눌렀을 때의 액션을 말하는 것이고,

녹색의 Axis 부분은 누르고 있는동안 발생되는 액션 입니다.





새 프로젝트 콘텐츠에 폴더를 저는 3개를 만들었습니다.

시작콘텐츠를 포함시켰으니, 저기 Starter Content 는 자동 생성이 되었습니다.





보시는 것처럼, 하나의 폴더안에 FBX 파일들과 Tag 파일도 같이 모여 있습니다.

이렇게 해야, 머티리얼도 잘 불러들어옵니다.


우선 기본 동작인 스탠다드부터 드래그로 방금 만든 폴더중 Model 폴더안의 Character 라는 폴더안에 넣도록 하겠습니다.

폴더는 마음대로 만드셔서 정하시면 됩니다.





우선, 기본인 스탠다드를 가지고 올 때, 이렇게 창이 뜨는데,

표시된 부분에 모두 체크를 하고, 모두 임포트를 합니다.





이제, 스탠다드를 제외한 나머지 FBX 파일을 가지고 오는데요,

보시는 것처럼 저렇게 체크부분을 바꿔주시고 모두 임포트를 합니다.


이미 메인으로 머티리얼을 불러왔기 때문에, 머티리얼은 체크를 푼 것이고,

뼈대는 기본 불러온 뼈대를 기준으로 불러오는 것이기 때문에 저렇게 설정하는 것이죠.





여기서, 먼저 불러왔던 스탠다드 관련된 것들을 제외한 나중에 불러온 FBX 중에서 위에 보시는 것처럼

XXX_Anim 이라는 이름을 제외하고 나머지는 불필요하니 지워주세요.

굳이...안지워도 상관은 없습니다.





이제 블루프린트 폴더에 총 4가지의 블루프린트를 만들것입니다.

우선 이렇게 블루프린트 클래스를 클릭하구요,





캐릭터 하나 만들어야겠죠?





같은 방법으로, 이번엔 Game Mode 를 선택해 주세요.





요번에는, 애니메이션에서 블렌드 스페이스를 선택해 줍니다.

바로 이 기술이 언리얼에서 쩌는 기술이라는 것이죠^^





이번에는 애니메이션 블루프린트 입니다.





최종적으로 이렇게 4개가 되었습니다.

이름은 저렇게 각자 만들어 주었습니다.

스펠링이 틀렸어도 너그럽게 양해해 주시기 바랍니다 ㅠㅠ





우선, 커스텀캐릭터를 더블클릭해서 열어주시고,

컴포넌트 추가를 저렇게 두개를 해줍니다.


그리고 카메라를 스프링암 하위로 드래그해서 넣어줍니다.





오른쪽 캐릭터에서 이렇게 메쉬랑 머티리얼을 지정해 주세요.

이건 각자 불러오는 모델링마다 다르니까 잘 진행해 주세용~





카메라가 캐릭터의 뒤로 가게 해야겠죠?

보통 게임은 캐릭터의 뒷통수를 많이 바라보니까요.





자, 이번엔 게임모드를 더블클릭해서, 월드세팅으로 들어가고,

게임모드를 방금 이름을 지정한 것으로 바꿔주시면 됩니다.





다시 커스텀 캐릭터 블루프린트로 옵니다.

이벤트 그래프 부분인데요, 플레이어 카메라를 이렇게 만들어 줍니다.





그리고 캐릭터 점프 부분 입니다.





그리고, 캐릭터이동 부분인데요, 순서를 잘 보셔야 합니다.





뒷부분은 이렇습니다.





최종적으로 이렇게 짜여 있습니다.





이번엔 Worrior_ABP 입니다.

우선 변수를 네개를 만듭니다.

 

Owner 를 만들때는 변수의 속성 부분에서 검색해서 선택해 주셔야 하는데요,





이렇게 선택하시면 됩니다.




이번엔 Worrior_BS 부분 입니다.

파라미터를 저렇게 설정해 주시구요,





이번엔 파라미터 왼쪽 부분에 보시면 희미하게 사각형들이 있을 것입니다.

저 꼭지점에 맞춰서 오른쪽의 에셋 브라우저를 드래그해서 옮기면 되는데요,

색깔별로 구분해 놨으니, 저렇게 맞춰넣으시면 됩니다.

만약, 애셋브라우저 목록이 저렇지 않다면, FBX 파일에 문제가 있는 것입니다.


바로, 이 부분이 언리얼 엔진의 뛰어난 기술 중 하나인 블렌드 스페이스 입니다^^





다 드래그해서 넣으면, 마우스로 부분 부분 옮길때마다, 위의 캐릭터가 동작이 자연스레 변하는 과정을 보실 수 있습니다.

정말...위대한 엔진 입니다....ㅠ_ㅠ





다시 Worrior_ABP 부분입니다. 이벤트그래프 부분이구요,

Owner는 Get으로 가지고 온 것입니다. 변수를 말이죠.

is Valid 는 맨 밑에 유틸리티 라고 노드가 있는데 그걸 가지고 온것이구요.





점프 부분의 노드 구성입니다. is Falling 은 맥락의존적 체크를 풀어야 보일겁니다.

이걸 먼저 만드시고, Owner 랑 연결하시면, Character Movement 는 자동 생성 됩니다.





다음 속도 부분이구요,





이동방향판단 부분 입니다.

모두 Owner 로부터 스타트 됩니다.





그리고, 점프부분 설정 입니다.





단독 노드 입니다.

처음 애니메이션 이벤트 부분의 노드 구성 입니다.





전체적으로 Owner 와 연결된 부분들 이구요





이게 전체 노드 구성 입니다.





그리고, 애님그래프로 넘어옵니다.

여기서 Direction 과 Speed 그리고 Jumping 부분은 변수를 Get 으로 가지고 온 것이고요~





요런식으로 말이죠~!





저 두개는 아까 저 부분 기억하지요?

그대로 드래그해서 가지고 와도 되고, 기존에 하던 방식으로 노드를 추가해서 등록해도 됩니다.





나머지는 저렇게 연결을 해 주시면 됩니다.

중간중간 컴파일 저장하시는 거 잊지 마시구요!





이제, 다 된것입니다^^

커스텀캐릭터의 등록 정보 부분 중 컴포넌트 중에서 CharacterMovement 부분 있죠?

여기서 걷기 속도와 점프력 등을 설정할 수 있습니다.

나중에 뛰기 FBX와, 죽는 애니메이션도 추가로 넣어서 만들어 줄 수 있습니다.



자~! 그러면 한번 테스트 해 보도록 할까용???



0


아유~! 아주 잘 되는군요^^ 귀엽군요.

오늘은 다소 복잡하긴 했지만, 이렇게 노드연결 만으로 쉽게 작동되니, 역시 언리얼엔진이 대단합니다.



오늘의 언리얼수업은 여기까지 입니다.

간간히 새로운 것들을 배울 때마다 항상 포스팅을 하도록 하겠습니다.

파이팅 하도록 하겠습니다!



공유하기

facebook twitter kakaoTalk kakaostory naver band