본문 바로가기
언리얼엔진

[에티버스러닝] 3D 스위치 버튼 만들기

by 송파감자 2023. 6. 22.

이번주는 팀프로젝트 마무리(낼 드디어 발표다🔥)와 함께 VR컨텐츠를 만들어보았고,  에티버스러닝 K-Digital트레이닝 VR과정 70%를 넘긴 시점이다. 내가 제일 인상 깊었던 컨텐츠는 스위치 버튼 만들기!  피직스 컨스트레인트 컴포넌트를 배웠는데 너무 재밌어서 복습 겸 정리하고자 한다. 

 

 최종 모습

오큘러스 퀘스트2를 끼고 눌러도 동일한 동작으로 보인다

스위치 버튼을 눌렀을 때의 동작 GIF


만들어 보기!

필요한 메쉬는 2개 : 박스메쉬, 버튼 메쉬

 

바닥, 4면 각각 박스 단순 콜리전으로 조절하여 셋팅

 

=> 1. 박스 메쉬 만드는 방법

  •  지오메트리 박스 2개 필요
  •  기본 박스 1개, 조금 작게 스케일 조절한 박스 1개 겹치기
  •  안에 겹칠 박스 브러시 타입은 Subtractive로 변경하여 상자모양으로 만들어 스태틱메쉬 생성
  •  매테리얼 입혀주고, 콜리전 각각 면 셋팅

 

바닥은 있고 뚜껑은 없는 상자 모양을 만들어주자
섭트랙티브로 안을 파준다
박스 브러쉬 2개를 잡고 스태틱 메시 생성해준다

 

=> 2. 버튼 메쉬 만드는 방법

  • 지오메트리 박스에 매테리얼 입히고, 콜리전 씌우기
  •  단 박스 메쉬보다 작은 스케일로 조절해야 함

 

=> 3. 버튼 동작할 블루프린트 만들기!

 

PhysX 컨스트레인트 사용 안내서

피직스 컨스트레인트는, 리짓 바디 시뮬레이션이 적용되는 오브젝트끼리 연결시키는 데 사용되는 물리적 관절입니다.

docs.unrealengine.com

파란 버튼 메쉬랑, 박스 메쉬를 피직스컨스트레인트가 연결해주는 것!

  • 컨스트레인트 컴포넌트 1과 2에 연결할 static mesh 이름을 각각 적어준다

디테일 패널을 보면 컴포넌트1과 컴포넌트2의 이름을 적을 수 있는데 얘네 둘을 연결해주는 것이다

 

잘 생각하면 버튼이 위, 아래 Z축으로만 움직이쥬?

  • 때문에 Linear Limits의 Z모션만 Limited로 켜주고, Angular Limits는 모두 Locked 해준다

  • 박스 콜리전을 적당히 스케일 줄여서 박스 안에 넣어준다

버튼이 중력의 힘을 받아서 꾹 눌려야 하니 버튼만 피직스를 켜준당

 


복습하면서 생긴 문제와 해결

여기까지 했을 때 버튼을 눌러도 작동을 안 한다.

무엇을 더 해야할까?

 

알고보니 사실 위로만 해도 작동 아주 잘 한다. 30분간 계속 고민한 나의 문제는 허무하게도 버튼용 메쉬를 콜리전 없는 다른 메쉬로 잘 못 넣어 생긴 것이었다.😂🤗 역시... 디테일이 중요해