본문 바로가기
Unreal Engine

Unreal Engine 모델 변경(Changing Models)하는 방법

by hfgraphic 2025. 10. 8.
반응형

 

이번 글은 **모델 변경(Changing Models)**에 대해 이야기해 보겠습니다. 위젯 버튼을 클릭하여 씬에 있는 가구 모델을 서로 교체하는 방법을 배워보겠습니다.


1. 모델 준비 및 베리언트 세트 생성

 

A. 모델 준비 및 머티리얼 설정

  1. 모델 복제 및 배치: 교체할 첫 번째 모델을 선택하고, Alt를 눌러 복사본을 만듭니다. 두 번째 모델을 첫 번째 모델과 같은 위치에 겹쳐 놓습니다.
  2. 머티리얼 적용: 두 모델 모두에 기본 머티리얼을 적용하고 **타일링(Tiling)**과 같은 세부 사항을 조정합니다. (이번 강의의 주 목적은 상호작용 블루프린트 예제를 설명하는 것입니다.)

 

B. 베리언트 세트 생성 및 가시성 설정

베리언트 매니저를 사용하여 두 모델의 **가시성(Visibility)**을 상호 교차하도록 설정합니다.

  1. 새 베리언트 세트 생성: 새로운 레벨 베리언트 세트를 만들고 이름을 MetaChange로 지정합니다.
  1. Variant 1 설정 (첫 번째 모델 보이기):
    • 첫 번째 베리언트를 Variant1으로 명명합니다.
    • 교체할 두 모델을 베리언트 매니저로 드래그 앤 드롭합니다.
    • 첫 번째 모델의 Component Visible 속성을 **선택(Visible)**합니다.
    • 두 번째 모델의 Component Visible 속성을 **선택 해제(Invisible)**합니다.
  2. Variant 2 설정 (두 번째 모델 보이기):
    • Variant1 복제하고 이름을 Variant2로 변경합니다.
    • 첫 번째 모델의 Component Visible 속성을 **선택 해제(Invisible)**합니다.
    • 두 번째 모델의 Component Visible 속성을 **선택(Visible)**합니다.
  3. 저장: 베리언트 설정이 저장되었는지 확인하고, 레벨 저장 시 충돌 문제가 발생할 경우 다른 레벨 이름으로 저장하거나 충돌을 해결합니다.

2. 위젯 블루프린트에서 모델 변경 연결

버튼 클릭 시 Variant1 Variant2를 번갈아 가며 실행하도록 설정합니다.

  1. 버튼 클릭 이벤트: 위젯의 모델 변경 아이콘 버튼을 선택하고 On Clicked 이벤트를 생성합니다.
  2. Flip Flop 노드 사용: 하나의 버튼으로 두 가지 명령을 실행하기 위해 Flip Flop 노드를 연결합니다.
  3. 베리언트 전환 로직 복사: 이전에 사용했던 My Variant Reference Switch on Variant by Name 로직을 복사하여 붙여넣습니다. (이때, 기존에 사용하던 변수(My Variant Ref)를 재사용할 수 있는지 확인하고, 필요시 새로운 참조를 설정합니다.)
  4. A 핀 연결 (Variant 1):
    • Flip Flop A 핀 Switch on Variant by Name 노드를 연결합니다.
    • Variant Set Name에는 MetaChange를 입력합니다.
    • Variant Name에는 Variant1을 입력합니다.
  5. B 핀 연결 (Variant 2):
    • Flip Flop B 핀 Switch on Variant by Name 노드를 연결합니다.
    • Variant Set Name에는 MetaChange를 입력합니다.
    • Variant Name에는 Variant2를 입력합니다.
  6. 참조 연결: My Variant Reference 변수를 두 Switch on Variant by Name 노드의 Target에 모두 연결합니다.

3. 초기 상태 및 테스트 (MultiGate 디버깅)

 

A. 초기 상태 확인

게임을 Play하여 시작했을 때, 두 모델 중 하나 보이는지 확인합니다.

 

B. 첫 클릭 문제 해결 (MultiGate)

Flip Flop을 사용하더라도 첫 클릭 시 초기화 동작이 누락되거나 예상과 다르게 동작할 수 있습니다.

  1. MultiGate 노드 추가: Event Construct와 같이 위젯이 생성될 때 실행되는 노드 뒤에 MultiGate 노드를 추가합니다.
  2. 초기 상태 강제 설정: MultiGate의 첫 번째 실행(Out 0)에 Switch on Variant by Name 노드를 연결하고 Variant Name Variant1으로 설정합니다.
  3. 목적: 이렇게 하면 레벨이 시작되자마자 Variant1 강제로 실행되어 첫 번째 모델이 보이도록 설정됩니다. (이것이 블루프린트 챕터의 마지막에서 배운 중요한 개념입니다.)

 

이로써 위젯 버튼을 클릭할 때마다 Variant1 Variant2가 번갈아 실행되어 두 모델이 서로 교체되는 기능이 완성되었습니다.

 

반응형