
위젯 컴포넌트를 추가하면 머터리얼이 기본적으로 다음과 같이 설정되어있는 것을 볼 수 있다.


렌더링할 월드 위젯 클래스를 선택해 주고 게임을 플레이하면 다른 월드 오브젝트에 의해 막히는 것을 확인할 수 있다.

스페이스 - Screen 으로 설정하면 항상 앞에 나오긴하는데 이것은 위젯을 월드에 렌더링 하는것이아닌 화면에 렌더링 하는것이기 때문에 사용 X
Widget3DPassThrough_Masked_OneSided 이라는 머터리얼의 부모를 타고타고 가다보면 다음과 같은 머터리얼 그래프가 나오고

이 그래프를 복사한 머터리얼 사본을 만들고 다음과 같이 설정

머터리얼에 대해선 잘 모르지만 머터리얼 도메인이 User Interface 일 때 Disable Depth Test가 뜨지않아 이 옵션을 먼저 활성화 하고 머터리얼 도메인을 바꾸었다.
Disable Depth Test 를 비활성화 하면 Depth Buffer (렌더링에 있어서 3D 공간을 2D로 렌더링 할 때 어느것이 앞에있는지에 대한 정보) 와 상관없이 항상 렌더링 되는 옵션이다. (렌더링 비용을 줄이는 것)

그리고 블렌드 모드는 Translucent

해당 머터리얼을 적용하면 월드 위젯이 다른 오브젝트들에 가려지지 않는것을 확인할 수 있다.
하지만 밑에 Floor Visibility가 Block 되어서 버튼 클릭이 안된다.
Floor 콜리전 반응을 Ignore 혹은 Overlap으로 하는게 가장 간단
아마 WidgetInteractionComponent 내부에서 Visibility 로 검사하는게 있나 싶은데 아무리봐도 지피티한테도 물어봐도 잘 모르겠다.
'언리얼' 카테고리의 다른 글
| DerivedDataBackendGraph (0) | 2025.12.24 |
|---|---|
| Deproject 위젯 -> 월드 (1) | 2025.11.18 |
| Custom Depth Stencil Pass (0) | 2025.09.19 |
| 언리얼 오브젝트 참조 관계 (4) | 2025.07.30 |
| FAB 플러그인 등록 과정 (1) | 2025.04.24 |