본문 바로가기
언리얼 엔진/Game

VR 인터렉션 : 케이블 핀 교체

by z03y 2025. 10. 3.

🔌 정비 수리 VR 게임을 위한 인터렉션 샘플

파란색 플러그 안쪽에 있는 고장난 부품(흰색)을 제거하고 새로운 부품(노란색)으로 교체하는 내용이다.

 

수리 절차의 첫 과정은 한손으로 플러그를 잡고 반대 손으로 고장 부분을 잡아서 둘을 분리시키는 것이다. 그를 위해 이 두 객체에 Grab 인터렉션을 위한 Grab Component를 추가하고 Grab type을 설정한다.

여기서 두 개의 Grab이 Free로 붙어 있는 경우 의도치 않은 그랩 인식 오류를 발생하게 했다. 그래서 고장 부품은 Snap으로 변경했다.

 

메인 케이블 BP에 Fake yello cylinder는 교체될 새 부품. 숨김 처리를 해두고 실제 부품은 분리된 BP로 작업했다.

분리된 BP의 새 부품에 Collision을 추가하여 메인 케이블 BP의 교체 부분 Collision과 오버랩인 상태에서 Drop될 때 실제 부품이 숨김 되고 메인 BP의 Fake Yello cylinder가 보여지는 방식이다.

멀티플레이와 추가적으로 다른 인터렉션과 연계해서 구현할 때 실제로 분리된 객체가 어태치되는 방식보다 오류가 적을 것 같아서 이렇게 했다.

🔌 Main BP (메인 케이블) :

Main BP 컴포넌트 구성
새 부품 Snap 부분
분리된 고장 부품은 한번 잡고 놓으면 Physics 작동
벽에 고정된 플러그도 한번 잡고 놓으면 Physics 작동

 

 

🔌 Sub BP (새 부품) :

Sub 컴포넌트 구성

Main BP의 Connector Collision과 만났을 경우에만 오버랩을 인정하는 변수 Overlap? 를 만든다.

Drop 시 오버랩 상태라면 Sub BP의 새 부품을 안보이게 하고 Main BP의 새 부품을 보이게 함으로 어태치되는 것처럼 연출한다.

 

🔌 결과 영상

 

 

반응형