본문 바로가기
공부/Unreal Engine 5

[언리얼5] 체인만들기(동적 물리 적용)

by MY블로그 2024. 6. 2.

런타임중 물리가 적용된 체인 만들기

위처럼 런타임중 중력과 충돌 작용이 적용된 체인을 만들어보고 내용을 정리 합니다.
C++을 사용하지않고 단순히 언리얼엔진 에디터만으로 작업이 가능합니다.
 

1. 체인에 사용할 모델(Static Mesh) 구하기

체인의 부품이될 모델은 손쉽게 퀵셀브리지에서 다운로드 하도록 합니다.
퀵셀 브리지는 빠르게추가하기 아이콘을 통하여 접속이 가능합니다. 이때 에픽게임즈 아이디로 로그인이 필요합니다.
이후 Chain을 검색하여 CHAIN LINK 모델을 사용하였습니다.
퀵셀브리지에는 모델과 다양한 머티리얼도 무료로 사용이 가능하니 머티리얼도 다운받아 사용해 보도록 합니다.

 

2. 콜리전 추가

다운로드한 모델에 물리적용을 하기위한 콜리전을 컨벡스 콜리전을 통하여 생성해 주도록합니다.

 

3. 액터 만들기

체인링크를 여러개 연결하고 체인과 체인 사이의 물리제약조건(PhysicsConstraint)를 생성해야 합니다.
우선 Actor클래스를 상속받는 블루프린트를 만들어 주도록 합니다.

 
블루프린트 클래스를 생성하고난뒤 기본루트 컴포넌트의 하위 컴포넌트로 StaticMesh 컴포넌트를 생성합니다.
이때 이름은 차후 체인의 순서를 알아보기 쉽게 숫자로 지정해 주도록 합니다
일정한 간격, 각도로 순서대로 배치하고 스태틱메시는 퀵셀브리지에서 다운로드한 체인링크로, 머티리얼은 추가적으로 다운로드한 골드머티리얼을 적용하였습니다.

 
체인의 배치가 완료된 후 PhysicsConstraint 컴포넌트를 배치해주도록 합니다.
해당 컴포넌트는 2개의 컴포넌트 사이에 물리 적용의 규칙을 정할 수 있는 컴포넌트 입니다.

해당 컴포넌트는 체인과 체인 사잉 배치하고 컴포넌트를 설정해야 합니다.

체인과 체인 사이에 배치

컨스트레인트 컴포넌트의 디테일에서 상세한 설정을 해야 합니다.
컴포넌트 이름1, 이름2에 StaticMesh 컴포넌트의 이름을 넣어주어야합니다.
(이때문에 StaticMesh의 이름을 숫자로 하였습니다)
또한 해당 컴포넌트의 콜리전은 비활성화하여 컴포넌트 자체가 체인과 충돌하지 않도록 설정합니다.
상세한 디테일로는 물리적용될 제한 값을 지정할 수 있습니다.

 
추가적으로 모든 StaticMesh(체인링크)는 디테일에서 피직스 시뮬레이트(True), 콜리전을 활성화(Query and Physics) 설정을 해주어야 물리 적용을 실행할 수 있습니다.
 
만일 피직스 시뮬레이트가 체크가 불가능한(회색상태)라면 콜리전이 없기 때문입니다.
이때는 2. 콜리전 추가 단계를 진행해야 합니다.

 
시뮬레이션 테스트때 본문의 영상처럼 직접 런타임중 수동으로 움직일 수 있도록 하려면 직접 움직이고 싶은 부분의 스태틱메쉬의 피직스 시뮬레이트의 체크를 해제하도록 합니다. 제영상은 가장 앞쪽 체인(1번)의 피직스 시뮬레이트 옵션을 해제한 상태 입니다.

 

4. 시뮬레이트 실행

시뮬레이트 실행 방법은 플레이모드 및 플레이세팅 변에서 선택이 가능합니다.

 

댓글