언리얼 프로젝트를 진행하던 중에 신기한 것을 봤다.
ThirdPerson 템플릿을 사용하면 스태틱 메쉬에 콜리전이 없는데도 알아서 발을 올린다.
처음에는 언리얼의 모션 워핑이나, 절차적 애니메이션과 관련된 기능이 구현되어 있는건가 생각했다.
ThirdPerson 템플릿에서 사용되는 애니메이션 블루프린트를 열어보면
ABP_Manny를 상속받고 있는 것을 알 수 있다.
부모인 ABP_Manny까지 열어보면, 다른 기본적인 애니메이션들이 있고
컨트롤 릭(Control Rig) 이라는 것을 통해 동작이 제어되고 있음을 알 수 있다.
컨트롤 릭을 열어보면 많고 많은 로직들이 있는데,
그 중 FootTrace라는 것을 통해 발의 움직임을 제어하고 있다.
FootTrace를 열어보면 각각 x,y 와 z축을 받아 벡터 연산을 하고 Trace Channel로 연결되는데,
Trace Channel이 Visibaility로 되어있다.
ViewPort로 가서 View Mode를 Visibility Collision로 설정하면,
충돌처리를 위한 Collision이 없어도, 시각적인 계산을 위한 Visibility Collision을 가지고 있는 것을 알 수 있다.
Visibility Collision
언리얼 엔진의 Collision Channel(충돌 채널) 중 하나로, Line Trace 또는 Sphere Trace 등으로 광선을 쏘면 이 채널의 충돌 설정에 따라 충돌 여부가 결정된다.
- 게임 내 캐릭터가 특정 객체를 "볼 수 있는지"(컬링과도 연관) 또는 "라인 트레이스가 해당 객체와 충돌하는지"를 결정.
- 물리적 상호작용을 위해 사용되는 것이 아니라 시각적인 계산(예: 시야, 가시성 판단)을 목적으로 함.
Line Trace와 Sphere Trece는 유니티의 Raycast와 거의 동일.
언리얼에서는 '충돌 채널'로, 유니티에서는 '레이어'로 충돌 필터링.
언리얼 ThirdPerson 템플릿의 애니메이션에서는 Visibility Collision을 사용해 물체의 위치와 캐릭터의 위치를 계산하고 Control Rig을 활용해 IK 애니메이션을 제어한다!
'게임 개발 > 언리얼 5' 카테고리의 다른 글
언리얼5 - 캐릭터 콤보 액션 (0) | 2024.11.27 |
---|---|
언리얼5 - 캐릭터 애니메이션 설정 (0) | 2024.11.26 |
언리얼 머티리얼 제작 함수 (1) | 2024.11.25 |
언리얼5 - 캐릭터 컨트롤 설정 (0) | 2024.11.25 |
언리얼5 - 캐릭터와 입력 시스템 (1) | 2024.11.24 |