본문 바로가기

비현실 연구소/[1층]물리학 실험실

Lusiogenic: 여닫이 문

 


 

본 시리즈는 유튜브 Lusiogenic 채널의 콘텐츠를 원작자의 동의하에 재가공 한 것입니다.

본 포스팅은 아래 영상을 참고하였습니다.

 

 

 


# 오늘의 주제

이번 시간의 주제는 여닫이 문(Hinged Door)입니다.

 

 

 


# 준비물

언리얼 엔진에서 제공하는 Starter Content의 SM_Door와 SM_DoorFrame을 사용했습니다.

 

 

SM_Door는 콜리젼이 없기 때문에 Simple Collision 설정을 해주어야 합니다. 그래야 Simulate Physics 옵션을 활성화 할 수 있습니다.

 

박스형태의 콜리젼을 설정해 준 모습

 

 


# 구현

1. 액터 컴포넌트 구조

 

 

Door, Frame(Static Mesh Component) 및 Hinge(Physics Constraint Component)로 구성했습니다.

 

 

Door 컴포넌트는 Simulate Physics 활성화를 해주었습니다.

2. 피직스 컨스트레인트 설정

 

 

먼저 컨스트레인트의 위치를 잘 봅니다. 보이는 것과 실제 움직이는 것이 다르기 때문에 실제 움직임에 맞춰 회전을 먼저 해주어야 합니다.

 

Z축 -90도 회전

 

 

피직스 컨스트레인트 컴포넌트 자체가 경첩(Hinge) 역할을 하기 때문에 Door만 연결했습니다.

 

 

Angular Limits를 원하는 대로 + 적절히 설정해주면 됩니다.

 

 

Angular Rotation Offset을 이용해 한쪽으로만 열리게끔 회전각을 설정했습니다. 이러면 Orientation도 돌아간 상태가 됩니다. 따라서 아래와 같이 Target Orientation을 반대방향으로 잡아주어야 합니다.

 

 

 

Angular Limits에 Locked 상태가 있기 때문에 Twist and Swing을 선택할 수 밖에 없습니다. Target Orientation 에서 Rotation Offset으로 인한 회전을 상쇄시킨 후 Target Velocity도 원하는 물리적 성질을 가질 수 있게 설정해줍니다.

3. 프레임 컴포넌트의 콜리젼 설정

 

프레임으로 쓰인 스태틱 메시 컴포넌트의 콜리젼 설정을 문과 간섭받지 않으면서 Pawn은 Block시킬 수 있게 만들어줍니다.

4. 테스트

 

여닫이문 테스트

 

serviceapi.nmv.naver.com

 

 


# 코멘트

어떤 환경을 디자인 하더라도 문은 필요합니다. 트리거를 이용해 특정 조건일 때 문을 임의로 회전시키는 방법 대신 '물리적으로 동작하는' 문이 필요하다면 이 제작 방법이 도움이 될 것입니다.

 

 


 

댓글, 피드백, 공감은 블로그 운영에 큰 힘이 됩니다.

 

 

 

 

'비현실 연구소 > [1층]물리학 실험실' 카테고리의 다른 글

Lusiogenic: 투석기  (0) 2020.10.29
Lusiogenic: 스프링 박스  (0) 2020.10.29
Lusiogenic: 레버 스위치  (0) 2020.10.29
Lusiogenic: 프로펠러  (0) 2020.10.29
Lusiogenic: 지렛대  (0) 2020.10.28