UE5.5 Grab Refactoring

박기덕·2025년 7월 8일
0

Meta 샘플
Unreal-HandPoseShowcase-5.5.1-v74
을 사용하기 쉽게 리펙토링

  1. 원본에서는 tick 에서 손 모양 가지고 손 모양이 맞았을 때 처리
  2. 원본에서는 오른쪽 손만 이용

수정한 부분
1. 물리 부분

  • 원본에서는 addimpuse 사용했는데 그 부분은 컨트롤러 일때 원활하지 않아 배제
  1. 오브젝트 체크 하는 부분은 구지 tick 에서 처리할 필요 없어 timer 0.3초당 한번씩 체크
  2. 물체를 던졌을 때 5초 후에 다시 원래 위치로 돌아가게 처리
  3. 핸드 트래킹일 때 좀 먼 곳을 가리킨 후에 그랩으로 주먹을 쥐는 동안 초점이 날라가는 상황방지 위해 3초 같은 물체 가리키면 내 앞으로 이동. 그랩 안 하면 다시 원위치로
    ( 가까우면 주먹을 쥐어도 초점이 안 날라감 )
  4. 잡았을 때 다른 손이 포커스 안되게 처리
  5. 원본 보스 물건 trace 할때 스피어 충돌 하는 부분은 가까운 물체는 찾지 못해서 주석 처리
  6. Selector 부분은 활성화, 비활성화 하는 함수는 있는데 상황을 알수 있는 변수가 protected 라서 public 으로 이동

크게 3부분으로 줄여서 처리
1. Grab 할 오브젝트 있는지 체크
2. Grab 할 오브젝트 계속 포커스 했을 때 처리
3. 잡았을 때
4. 놓았을 때

사용하는 방법

사용하기 편하게 child actor 있는 클래스를 변수화.
계속 포커스 했을 때 처리 위한 이벤트 바인드

timer 에서 호출한 함수 . Check Interactable Object

( 왼쪽 , 오른쪽 )
Grab 했을 때 , 놓았을 때 함수 처리

여기 부분에 코드 추가 작성

profile
언리얼 개발자

0개의 댓글