[UE5] 언리얼5 Blueprint - MetaHuman

AnJH·2024년 6월 14일
0

MetaHuman

MetaHuman을 적용하는 방법이 다양하겠지만 MetaHuman의 Skeletal이 아닌 기존에 만들어둔 Player에 MetaHuman을 덧입히는 방법을 소개하고자 한다.

  • QuixelBridge

먼저 MetaHuman Creator를 통해 메타휴먼을 만들면 다음과 같이 QuixelBridge에 직접 만든 메타휴먼이 생긴다.

이는 시네마틱을 위한 용도가 아닌 이상 상당히 큰 메모리를 잡아먹기에 Low Quality로 다운로드를 받아서 Add 해준다.

  • UE Editor

Add를 하게되면 다음과 같이 MetaHuman 폴더에 BlueprintClass로 메타휴먼이 생긴다.

이에 대한 원본을 보존하기 위해 복제를 한 뒤, 복제한 파일을 열어 수정을 해줄 것이다.

  • Class Settings

처음 메타휴먼을 열게되면 부모클래스가 Actor로 되어있을 것이다. 이를 Class Settings에서 기존에 사용하던 Player로 바꿔준다. 블루프린트로 작업을 해왔다면 BP파일을 넣어주면 되고, C++로 했다면 CPP파일을 넣어주면 된다.

  • Components

부모클래스를 바꿔주면 부모클래스의 Component와 메타휴먼의 Component가 합쳐지게 된다. 여기서 메타휴먼의 Root Component를 기존 Character 클래스의 Mesh Component에 상속시켜준다.

  • MetaHuman Root Component

메타휴먼의 Root Component의 Location값을 모두 0으로 바꿔준다. 이렇게 되면 기존에 있던 Character의 Location에 동일하게 자리를 잡게 될 것이다.

  • PlayerCharacter Mesh Component

그 후, 기존의 Character에 존재하던 Mesh Component의 Visible을 false로 바꿔준다.

Visibility Based Anim Tick Option 옵션 또한 Always Tick Pose and Referesh Bones로 바꿔준다.

  • Use Live Retarget Mode

Live Retarget 카테고리에 있는 UseLiveRetargetMode변수의 Use Live Retarget Mode를 True로 바꿔준다.

이후, 블루프린트로 작업을 했다면 이전에 있던 블루프린트 코드를 옮겨주고, C++로 작업을 했다면 따로 블루프린트로 작성한 코드가 있지 않는 이상 정상적으로 동작을 할 것이다.

이렇게 메타휴먼을 적용시켰다면 이전과 달리 상당히 프레임이 떨어지는 모습을 볼 수 있다. 완전히 이전과 같이 복구시킬 순 없겠으나 아래와 같이 방법을 통해 어느정도 최적화가 가능하다.

  • Project Settings_Motion Blur

프로젝트 세팅에서 Motion Blur를 false로 바꿔준다. 이는 메타휴먼 캐릭터가 움직이는 과정에서 머리카락에 Motion Blur가 적용되기에 이를 없애주는 것이다.

  • MetaHuman Face

메타휴먼의 메모리를 차지하는 부분 중 가장 큰 것이 수염과 머리카락이다. 이를 최소화하기 위해 머리카락, 눈썹 등 캐릭터의 외형에 있어서 매우 중요한 부분들을 제외하고는 없애주는 것이 좋다.

  • LODSync

캐릭터의 렌더링 부분이다. NumLODs를 1로 바꿔주고, MinLOD의 값을 바꿔가며 적당한 합의를 보아야 한다. MinLOD값이 0일 때, 가장 고퀄리티의 캐릭터 외형을 볼 수 있고, 값이 높아질수록 퀄리티가 낮아진다.

  • Texture Size

생성된 메타휴먼 폴더에 Texture 필터를 적용하면 위와 같이 MetaHuman에 사용된 모든 Texture를 볼 수 있다.

이를 Ctrl+A 를 통해 모두 선택하고 우클릭한 뒤, Edit Selection in Property Matrix를 선택해준다.

그렇게되면 위와 같이 모든 Texture에 대해 수정이 가능한데 여기서 다시 한 번 Ctrl+A로 모든 파일을 선택하고, 우측에 Compression 메뉴에 Maximum Texture Size를 조정해줄 수 있다. 이는 최고 사이즈만 조절함으로써 설정한 값보다 높은 Texture의 크기만 수정됨으로 메타휴먼에 사용된 Texture의 메모리를 줄일 수 있다.

0개의 댓글