Unreal

Unreal5 애니메이션 없는 드론의 프로펠러 돌리기(언리얼 에디터로 스태틱 메시 분리)

yoosorang 2025. 2. 6. 15:04

📌 개요

비행체를 언리얼에서 구현할 때 날개가 있는 비행체라면 이 날개를 돌려야 현실적인 구현이 가능하다.

하지만 에셋을 사용할 경우 하나의 fbx로 들어오기 때문에 애니메이션이 따로 포함되어 있지 않다면

프로펠러를 돌릴 수가 없다.

 

그렇기 때문에 메시를 분리해주어야 한다.

 

원래라면 블렌더와 같은 3D툴을 이용하여 이를 분리하고 합친 후 다시 가져와야 했지만

언리얼5가 많은 방면에서 발전했기 때문에 언리얼5 모델링 툴을 사용해서 메시를 분리하는 것이 가능하다.

 

📌 드론 본체 병합하기

일단 가져올 드론을 준비한다.

필자는 fab에서 아래 드론을 사용하였다.

https://fab.com/s/336c5da79c73

 

다운을 받고 압축을 풀면 fbx 파일과 텍스처 파일이 있을 것이다.

fbx파일을 언리얼 에디터로 임포트하면 다음과 같은 창이 뜬다.

(언리얼 버전에 따라 이름이 다를 수도 있는데 필자는 언리얼5.5버전을 사용하고 있다.)

 

스태틱 메시 결합(메시 병합일 수도 있다.)을 활성화하면 하나의 스태틱 메시로 임포트를 하고

비활성화하면 다음과 같이 메시들이 분리해서 들어온다.

 

전체 선택 후 뷰포트에 끌어놔보면 다음과 같이 온전한 모양을 볼 수 있기에 어떤 부품인지 확인할 수 있다.

이렇게 분리된 메시 각각 사용하는 건 굉장히 불편하기 때문에 본체와 날개 각각으로 합쳐주어야 한다.

오른쪽 아웃라이너에서 Properller를 뺀 나머지는 다 본체 부분이다.

 

본체 부분을 전부 선택하고 모델링 모드의 메시에서 Union을 선택

 

출력 타입을 Static Mesh로 선택하고 수락을 눌러주면

다음과 같이 하나의 static mesh로 병합되고 콘텐츠 어딘가에 _GENERATED 폴더가 생성되어

그 안에 병합된 메시가 생긴다.

 

📌 드론 프로펠러 분리하기

다음으로 프로펠러를 보니 2개의 프로펠러가 하나로 묶여 있어 코드로 돌릴 수가 없다.

이를 모델링 툴을 통해 분리할 수 있다.

 

모델링 툴에서 이번에는 XForm을 들어가준다.

아웃라이너에서 프로펠러를 선택하고 XForm의 Split을 누른 후

출력 타입은 Static Mesh로 하고 수락을 눌러준다.

그럼 Union 했을 때와 마찬가지로 분리된 메시들이 _GENERATED 폴더에 생성된다.

 

마지막으로 하나의 프로펠러를 선택한 뒤 본체처럼 Union 적용해주면 단일 프로펠러를 얻을 수 있다.

 

이제 블루프린트에서 메시를 지정해주고 아래 코드를 Tick에서 호출해주면 프로펠러가 돌아가는 드론 완성이다.

(코드는 뭐든 프로펠러 스태틱 메시를 돌려주는 코드면 된다.)

void ADronePawn::RotateWings(float DeltaTime)
{
	WingLeftComp->AddLocalRotation(FRotator(0, WingRotation * DeltaTime, 0));
	WingRightComp->AddLocalRotation(FRotator(0, WingRotation * DeltaTime, 0));
}