★블랜드스페이스 1D
이번에는 걷다가 점차 빨리 뛰는 자연스러움을 넣어보자
1) 애니메이션 파일에 블랜드스페이스 1D를 추가

2) 표시해 둔 것들을 세팅값을 수정하자
- name : 변수이름
- Maximum Axis value : 해당 파라미터의 최댓값
- Number of grid Divisions : 해당 파라미터 (축)에 대한 변화하는 값 개수

3) Idle, Walk, Run 애니메이션 들을 해당 위치로 넣어주자

초록색 축의 위치가 블랜드를 넣은 구간에 가까워지거나 멀어질수록 초록색 축의 위치에 따라 속력에 맞는 애니메이션이 출력될 것이다.

이제 만들어준 블랜드스페이스 1D를 ABP_character에 추가해 애니메이션을 적용해 보자.
1) 만들어준 BS_Unarmed 파일을 넣고 트랜지션 룰을 이어 주자

BS_Unarmed -> JumpStart 트랜지션 룰에는 get Falling을

JumpEnd -> BS_Unarmed 트랜지션 룰에는 Current Time을 넣어준다.

2) BS_Unarmed 노드로 들어가 Speed 변수를 연결해 주자

3) 그리고 저번에 배워본 braking frict도 체크해서 더욱 자연스러운 애니메이션을 만들어보자

이후 실행을 하면 캐릭터는 자연스럽게 걷다가 달리는 모션이 나오는 것을 확인할 수 있다.
생각보다 걷는 모션이 짧게 나오다 바로 달리는 것을 확인될 것이다. 이것은 값을 받는 속도가 생각보다 빨라서 일어나는 현상이며 조절하고 싶을 땐 아래 표시상태의 값을 조절해 보면 된다.
여담이지만 게임에선 완벽한 자연스러움을 추구하다가 오히려 불편함을 느낄 수 있다고 하기에 배운 속도대로 해도 상관없다.

★파일정리
이 파일에는 각종 애니메이션과 무기들이 들어있다. 파일을 받아놓은 뒤 이주를 시켜 내가 사용하고 있는 프로젝트의 conent파일 위치에 넣어주자. 해당 파일은 55개이다.
※해당 파일의 개수를 확인해 보는 방법
1) 받아놓은 파일에 우클릭 -> 탐색기에서 표시

2) 이후 보기 - 유형으로 정렬해 주면 내가 받아온 파일이 몇 개인지 확인할 수 있다.

☆ 잠시 파일을 정리하자
1) 마네킹 파일을 받아온 메쉬파일로 이동

2) 애니메이션 폴더에 있는 BS_Unarmed 파일을 제외한 파일을 들ㅇ Unarmed폴더로 이동

3) Unarmed 폴더로 들어가 ctrl + a 후 마우스 오른쪽 클릭 -> 이후 검은색 화면으로 변환된 파일을들 삭제

4) Sequences폴더 속에 있는 Common, Sword, Unarmed, Wizard 폴더를 Animations 폴더로 이동, 이후 빈폴더인 Sequences파일은 삭제

4) Unarmed 폴더에 이전에 만들어놓았던 애니메이션 파일들을 이동하기

검은 화면인 파일들이 나오는 이유는 이 파일(애니메이션)들은 본래의 본(뼈대)들이 있는데 그게 없는 상태가 되었으므로 검은색 화면으로 바꿔진 것이다.
이 것을 수정해 주자
5) Animation 폴더 상태 -> 필터 -> 애니메이션 -> 애니메이션 시퀀스

6) ctrl + a 이후 검은색 아닌 파일은 제외 - 이후 포함된 파일 우클릭 - 애님 에셋 리타깃 - 기존 애님 에셋의 스켈레톤 타깃을 변경합니다 클릭

7) 이후 사용할 마네킹 스켈레톤 선택 - 리타깃 클릭

이후 검은 화면인 파일들이 본래의 모습으로 돌아온 것을 확인할 수 있을 것이다.
★ 무기
1) 블루프린트 폴더 - 우클릭 - 블루프린트 클래스 - 액터 생성 - BP_Waepon으로 변경

이후 수업에서 나오는 Weapon들은 근접무기로 정의할 것이다
2) 참고로 적용할 무기는 스켈레탈 메시이기에 skeletaMesh를 추가한다.


sword 메시를 들어가 보자.
왼쪽을 보면 Root / start - end - center 가 있다. 각각 시작-끝-중간이라고 알려주는 거고 해당을 크릭 해보면 뷰에 위치가 표시해주고 있을 것이다.
이것들은 임팩트나 애니메이션을 넣어줄 때 사용한다.
하지만 보통 검들은 스켈레톤 메시를 구현하지 않고 애니메이션이 들어가는 총이나 활 같은 무기들이 스켈레톤 메시를 사용을 하긴 하는데. 검에게 애니메이션(변화)을 넣지 않는 이상 검은 형태가 변하지 않기 때문이다. 변화하는 검이라면 넣을 수 있다.

Root는 뼈대이며 start, end, center의 왼쪽을 보면 뭔가 보일겉이다.
이것은 소켓이라고 부르며 무언가를 붙여 넣을 때 이용을 한다.

차후에 스테틱 메시 만들어 소켓을 추가해볼 수도 있다.

3) 이후 범위를 지정해 주기 위해 Capsule을 만들어주고 skeletamesh를 루트 해주자

4) BP_Weapon의 자손 블루프린트를 생성 후 BP_sword로 수정한다.

5) 이후 블루프린트로 들어와 Capsule의 크기를 아래처럼 조정하자
판정이 생각보다 넓게 주는 이유는 너무 딱 맞게 하면 게임상 판정에 관한 불편한 경우가 생기므로 예의(?)상 여유롭게 준다.

6) BP_Weapon과 BP_Character에 변수를 추가해 주자


이제 무기를 부착해 보자
mesh폴더에 마네킹 들어가자
무기는 위치상 오른손에 부착하는 걸로 해보자
1) hand_r에 우클릭 - 소켓 추가 - 추가된 소켓 이름을 hand_r_weapon으로 변경

만약 본인이 무언가를 추가해 만들고 있을 때 해당 위치가 맞는지 아닌지 구분을 못할 경우가 있을 것이다.
다행히도 구분을 할 수 있게 해주는 기능이 있으며 사용해 보자
2) hand_r_weapon 우클릭 - 프리뷰 에셋 추가 - SK_Sword클릭


또 특정 애니메이션 때 지금 적용한 게 자연스러운 건지 아닌지 확인을 하고 싶을 때가 있을 것이다.
이것도 한 제공을 하기에 확인해 보자.
3) 우측 상당 애니메이션 화살표 클릭 - 임시로 idle 적용

확인해 보면 우려했던 이상함을 확인해 볼 수 있다.

이후 위치를 조정할 텐데 주의할 점이 있다

Scale을 건들면 해당 weapon에 붙는 모든 대상이 Scale이 증가되는 것을 영향받을 수 있다. 주의하자.
'[unrealengine4]' 카테고리의 다른 글
2023-05-18 언리얼 수업 내용(AttachActorToComponent, 인터페이스) (1) | 2023.05.21 |
---|---|
2023-05-17 언리얼 수업 내용(소켓, 메타데이터, 스폰엑터) (1) | 2023.05.17 |
2023-05-12 언리얼 수업 내용(점프, 블렌드, 애니메이션 프레임 조절) (0) | 2023.05.16 |
2023-05-11 언리얼 수업 내용(Rotator, Player Controller, Jump) (0) | 2023.05.12 |
2023-05-10 언리얼 수업 내용(z축 회전, PlayerController) (0) | 2023.05.11 |