본문 바로가기
Unreal Engine

Unreal Engine 재질(Material)을 베리언트 매니저(Variant Manager)를 활용하여 손쉽게 변경하기

by hfgraphic 2025. 10. 6.
반응형

 

이번 글에서는 **베리언트 매니저(Variant Manager)**와 이 기능을 사용하여 위젯 블루프린트(Widget Blueprint) 내에서 **머티리얼(Material)**을 변경하는 방법에 대해 알아보겠습니다. **언리얼 엔진(Unreal Engine)**에서 머티리얼을 가장 쉽게 변경할 수 있는 방법입니다.


베리언트 매니저 플러그인 확인 및 설정

 

  1. 플러그인 확인: 플러그인(Plugins)
  1. 메뉴로 가서 Variant Manager가 활성화되어 있는지 확인합니다.
  2. 레벨 베리언트 세트 생성:
  • **블루프린트(Blueprints)**의 **Miscellaneous(기타)**에서 **레벨 베리언트 세트(Level Variant Sets)**를 생성합니다.
  • 이름을 LivingFloorMat (Living Floor Material Changer의 약자)와 같이 전략적으로 지정합니다.
  1. 베리언트 추가:
  • 더블 클릭하여 베리언트 세트를 열고 **베리언트(Variant)**를 추가합니다. 이름을 Variant 1 또는 변경할 머티리얼 이름으로 지정할 수 있습니다.

머티리얼 변경을 위한 베리언트 설정

베리언트 매니저를 사용하여 **스태틱 메시(Static Mesh)**의 속성, 즉 머티리얼을 변경하도록 설정합니다.

  1. 액터 추가: SM_Floor05 (바닥 스태틱 메시)를 선택하고 베리언트 매니저에 추가합니다.
  2. 속성 추가: 스태틱 메시를 클릭한 후, 변경하려는 **속성(Property)**인 **머티리얼(Material)**을 선택합니다. Element 0을 선택하여 원하는 머티리얼 슬롯을 지정합니다.
  3. 머티리얼 지정:
  • Variant 1에 적용할 첫 번째 머티리얼을 Megascans Surface와 같은 **콘텐츠 브라우저(Content Browser)**에서 찾아 지정합니다 (예: 대리석 같은 머티리얼).
  • Variant 2를 복제하거나 새로 추가하고, 여기에 적용할 두 번째 머티리얼을 지정합니다 (예: 회색빛 콘크리트).
  • 중요: 베리언트 매니저가 제대로 작동하려면 레벨 베리언트 세트 액터를 반드시 **씬(Scene)**에 드래그 앤 드롭해야 합니다.

위젯 블루프린트에서 베리언트 적용

이제 위젯 버튼을 클릭했을 때 설정한 머티리얼이 변경되도록 블루프린트를 구성합니다.

  1. 버튼 클릭 이벤트: 위젯의 디자이너(Designer) 탭에서 Living Floor M1 버튼을 선택하고 On Clicked 이벤트를 생성합니다.
  1. 액터 참조 가져오기:
  • Get All Actors of Class 노드를 가져와서 **클래스(Class)**를 씬에 배치한 Level Variant Sets Actor로 설정합니다.
  • 반환된 배열의 Get a Copy 노드를 사용하여 첫 번째 요소를 가져옵니다.
  • 이 노드를 **변수로 승격(Promote to Variable)**하여 My Variant Reference라고 이름 짓습니다. Event Construct에서 이 작업을 수행하여 참조를 저장하고, 이후 On Clicked 이벤트에서 이 변수를 사용할 수 있습니다.
  1. 베리언트 전환:
  • My Variant Reference에서 Switch on Variant by Name 노드를 가져옵니다.
  • Target My Variant Reference에 연결합니다.
  • Variant Name 입력에 변경하고자 하는 베리언트의 정확한 이름을 입력합니다 (예: "Variant 1").
  • On Clicked 이벤트를 Switch on Variant by Name 노드에 연결합니다.
  1. 테스트: Play를 눌러 위젯을 표시하고, Tab 키를 눌러 메뉴를 열고, 버튼을 클릭하여 머티리얼이 변경되는지 확인합니다.

다른 버튼에 기능 복제

다른 머티리얼 변경 버튼에도 동일한 기능을 복사하여 적용합니다.

  1. 버튼 클릭 이벤트 생성: Living Floor M2 등 다른 머티리얼 버튼에도 On Clicked 이벤트를 생성합니다.
  2. 블루프린트 복사 및 변수 변경:
  • 이전에 만든 블루프린트 로직을 복사하여 붙여넣습니다.
  • Switch on Variant by Name 노드의 Variant Name을 해당 버튼이 적용해야 하는 베리언트의 정확한 이름 (예: "Variant 2")으로 수정합니다.

 

이와 같은 방식으로 다른 가구(예: 소파)의 머티리얼 변경 기능도 베리언트 세트를 생성하고 위젯 버튼에 연결하여 설정할 수 있습니다.

 

반응형