Widget은 Transform이 없다!
그래서 Transform이 있는 Widget Component를 써준다.
위의 방식은 위젯 컴포넌트에서 이미 생성된 위젯을 가져오는 방식
Cast To 노드를 사용하여 위젯의 타입을 특정 위젯 블루프린트 클래스 (WBP_KISS2024_FinishStepHUD)로 캐스팅
캐스팅이 성공하면, 해당 위젯을 변수에 저장하여 이후에 사용할 수 있도록 합니다.
사용 시점:
- 위젯 컴포넌트가 이미 UI에 추가된 경우.
- 기존 위젯을 참조하여 동작을 변경하거나 값을 업데이트하고 싶을 때.
* Casting을 왜 해?
캐스팅(Casting)은 객체의 타입을 변환하여 특정 타입에서만 접근 가능한 속성이나 메서드를 사용할 수 있게 하는 작업입니다. Unreal Engine에서는 특히 블루프린트에서 타입 안전성을 유지하고, 특정 타입의 객체에서만 제공하는 기능을 사용하기 위해 캐스팅을 자주 사용합니다.
캐스팅의 목적
- 타입 확인 및 변환:
- 객체가 특정 클래스나 인터페이스를 상속받았는지 확인하고, 해당 타입으로 변환합니다.
- 예를 들어, 일반적인 Widget 타입의 객체를 특정 위젯 블루프린트 클래스로 변환하여 해당 클래스에서만 사용할 수 있는 기능을 사용할 수 있게 합니다.
- 안전한 함수 호출:
- 캐스팅을 통해 타입이 확인된 후, 해당 타입의 객체에서만 사용할 수 있는 함수나 속성을 안전하게 호출할 수 있습니다.
- 예를 들어, WBP_KISS2024_FinishStepHUD 클래스에서만 존재하는 함수를 호출하고자 할 때 사용합니다.
위의 방법은 새 위젯 블루프린트를 생성하여 이를 화면에 추가하는 방식
사용 시점:
- 새로운 UI 요소를 동적으로 생성하여 화면에 추가하고 싶을 때.
- 특정 조건이나 이벤트에 따라 새로운 위젯을 생성할 때.
구체적인 차이점
- 이미 생성된 위젯 사용 (1번)
- 장점:
- 메모리 효율적 사용: 이미 생성된 위젯을 재사용하여 메모리 사용을 줄일 수 있습니다.
- 설정된 초기 상태 유지: 위젯의 초기 상태나 설정을 그대로 유지할 수 있습니다.
- 단점:
- 초기 설정된 상태로 인해 변경이 제한될 수 있습니다.
- 모든 상태가 초기화되지 않을 수 있습니다.
- 장점:
- 새 위젯 생성 (2번)
- 장점:
- 완전히 새로운 상태로 위젯을 생성할 수 있습니다.
- 조건에 따라 동적으로 생성할 수 있어 유연성이 높습니다.
- 단점:
- 메모리 사용이 증가할 수 있습니다.
- 초기 설정을 매번 새로 설정해야 할 수 있습니다.
- 장점:
결론
- 1번은 이미 존재하는 위젯을 재사용할 때 유용하며, 2번은 새로운 위젯을 생성하여 동적으로 추가할 때 유용합니다.
- 선택은 주어진 상황과 요구 사항에 따라 다릅니다. 성능, 메모리 사용, 초기 설정 등 다양한 요소를 고려하여 적절한 방법을 선택해야 합니다.
'회사 TIL' 카테고리의 다른 글
Client -> Server로 통신하려면 무조건 Player Controller 통해 가야 함 (0) | 2024.07.31 |
---|---|
[Unreal] Delay vs Retriggerable Delay (0) | 2024.06.21 |
[Unreal] CPR- HeadPosition 구할 때 계산 방법에 대한 고찰(UpVector vs ForwardVector) (0) | 2024.06.12 |
게임 리서치 (0) | 2023.03.27 |
[TIL] 23.03.14 / 석궁 1차 완료, 권총 블루프린트 연구 시작 (0) | 2023.03.15 |
댓글