상태머신을 통해 점프 애니메이션을 적용해보자.
ABP에 들어가서 AnimGraph를 수정하자.
상태머신 내부로 들어가면 위와같은 창에서 에니메이션을 수정할 수 있게 되는데,
애니메이션을 드래그해서 블럭을 만들고,블럭의 외부에 드래그해서 위와같이 연결한다.
위의 좌우 교차된 화살표는 IF문이다.
어떠한 조건에 해당되면 화살표 방향으로 애니메이션을 전환해준다.
점프에 사용될 데이터는 InAir인지 아닌지 확인하는 bool타입 변수를 사용한다.
Bool타입 변수 제작
위와같이 현재 담당된 Player에 대해 InAir를 가져올 수 있다.
만약, 떨어지고 있다면, 현재 객채가 공중에 있다는 의미 임으로, InAir를 True로 전환하고, 아니라면 False로 변환해준다.
해당 Valid는 블루프린트가 업데이트 될 때 마다 실행된다.
현재 점프 애니메이션은 점프시작 -> 점프중 -> 점프 종료 로 이루어지는데
점프시작 이후 0.3초 이후에 점프중 으로 애니메이션을 전환하면 부드럽게 될 것 이다.
위와같이 설정해준다.
Time Remaining(ratio)를 통해, 이전에 실행중인 애니메이션이 얼마나 진행되었는지 확인할 수 있다.
해당 객체의 float변수가 0.3보다 작거나 같아지면 다음 애니메이션으로 전환한다.
이제 애니메이션에서 InAir가 Not이라면, 착지 애니메이션을 실행한다.
점프 애니메이션
충돌처리
충돌처리를 진행해보자.
BluePrint를 새로 생성하고 충돌체를 정의한다.
엑터를 생성하고, 해당 엑터에서 BoxCollision을 생성한다.
그리고 다음과 같이 배치한다. 텍스트는 좀더 원활하게 파악하기 위해 넣어주었다.
콜리전 세팅
콜리전 세팅은 위와 같다.
언리얼에서는 충돌처리를 Hit과 Overlap의 두가지로 나누어 진행하는데,
말 그대로 Hit이라면, 충돌시에 반환하는것 이고,
Overlap은 겹쳤을 때, 반환하는것 이다.
두가지 방법이 있음으로 한가지로 통일하여 작업해도 되고, 두개다 사용해도 무방하다.
콜리전 프리셋은 이러한 충돌처리에 대해 겹침을 허용하는지, 무시하는지, 막아서는지를 프리셋으로 설정하고.
충돌시에 어떻게 바뀔지 말해준다.
Simulation Generates Hit Events는 해당 오브젝트가 Hit 을 처리할지 말지를 체크해준다.
위에서 이벤트를 통해, 충돌, 겹침 때 어떻게 동작하는지를 정의해줄 수 있다.
히트는 객체 한개만 켜져있을 때, 다른 오브젝트에 맞았을 때 정의하는것 이고,
오버렙은 오버렙 될 객체 두개가 오버렙이 체크되어있어야 처리가 가능하다.
Character는 기본적으로 오버렙이 처리되어있다.
'서울게임아카데미 교육과정 6개월 국비과정' 카테고리의 다른 글
20240119 79일차 언리얼 RaytoCollision 머티리얼변환 & 폭발처리 (0) | 2024.01.19 |
---|---|
20240118 78일차 언리얼 충돌처리&RaytoCollision머티리얼 변환 (0) | 2024.01.18 |
20240116 76일차 언리얼 애니메이션, 기본이동 (0) | 2024.01.16 |
20240112 75일차 언리얼 객체 생성하기& 에니메이션 적용 (0) | 2024.01.12 |
20240111 74일차 언리얼 블렌드스페이스& 에니메이션 적용하기 (0) | 2024.01.11 |