[Unreal Engine] Common Widget Functionality

Imeamangryang·2025년 6월 30일

Unreal UMG & Slate UI

목록 보기
7/13
post-thumbnail

Common Widget Functionality

각 위젯은 고유한 기능과 용도를 가지지만, 모든 위젯에 공통적으로 적용되는 기능도 있습니다. 대표적으로 다음과 같은 항목들이 있습니다:

  • 접근성(Accessibility): 각 위젯은 프로젝트의 기본 접근성 설정을 따르며, 위젯별로 개별 설정을 오버라이드할 수 있습니다. 이 설정은 자식 위젯에도 영향을 줄 수 있습니다.
    접근성에 대한 자세한 내용은 본 문서의 범위를 벗어나지만, Epic에서 승인한 공식 강좌를 참고하세요:
    Epic Approved Course for Introduction to Accessible Design
    • Override Accessible Defaults: 활성화 시, 이 위젯의 기본 접근성 동작과 텍스트를 오버라이드합니다.

      • Can Children be Accessible: 자식 위젯도 별도의 접근성 위젯으로 인식할지 여부.
      • Accessible Behavior: 이 위젯의 접근성 여부 및 설명 방식을 설정합니다. "Custom" 선택 시 직접 접근성 텍스트를 입력할 수 있습니다.
      • Accessible Summary Behavior: 부모 위젯의 요약 설명에 이 위젯이 어떻게 설명될지 설정합니다. "Custom" 선택 시 직접 접근성 텍스트를 입력할 수 있습니다.
  • 툴팁 텍스트(Tool Tip Text): 마우스 오버 시 표시되는 기본 또는 커스텀 툴팁 위젯을 지정할 수 있습니다.
  • Is Enabled: 위젯이 활성/비활성 상태인지, 사용자 상호작용이 가능한지 여부를 설정합니다.
  • Visibility: 위젯의 렌더링 및 상호작용 가능 여부를 결정합니다.
    • Visible: 렌더링 및 상호작용 가능
    • Collapsed: 렌더링/상호작용 불가, 레이아웃 공간도 차지하지 않음
    • Hidden: 렌더링/상호작용 불가, 레이아웃 공간은 차지함
    • Not Hit-Testable/Hit Test Invisible(Self & All Children): 렌더링은 되지만 상호작용 불가, 자식도 상호작용 불가
    • Not Hit-Testable/Hit Test Invisible(Self Only): 렌더링은 되지만 본인만 상호작용 불가, 자식은 상호작용 가능
  • Render Opacity: 위젯의 렌더 투명도(0=투명, 1=완전 불투명)로, 자식 위젯에도 영향을 미칩니다.
  • Render Transform: 위젯의 렌더 트랜스폼(변환)으로, 충돌 영역에는 영향을 주지만 레이아웃/페인트 정보는 변경하지 않습니다.
    • Translation: X/Y 위치 오프셋
    • Scale: X/Y 스케일
    • Shear: X/Y 쉬어(기울기)
    • Angle: 회전(2D 공간이므로 1축만 필요, -180~180도)
    • Pivot: 변환 적용 기준점(0.5=중앙, 0=좌/상, 1=우/하)
  • Is Volatile: true로 설정 시, 위젯이 항상 레이아웃/지오메트리 갱신 대상이 되어 캐싱되지 않습니다(기본값: false).
  • Clipping: 위젯의 레이아웃/지오메트리 클리핑 방식을 지정합니다. 클리핑이 많을수록 성능에 영향이 있을 수 있습니다.

    • Inherit: 부모의 클리핑 영역을 상속, 자식은 클리핑하지 않음
    • Clip to Bounds: 자신의 경계로 클리핑, 상위 클리핑 영역과 교차
    • Clip to Bounds - Without Intersecting(Advanced): 자신의 경계로만 클리핑, 상위 클리핑 영역과 교차하지 않음
    • Clip to Bounds - Always(Advanced): 항상 자신의 경계로 클리핑, 상위 클리핑 영역과 반드시 교차(무시 불가)
    • On Demand(Advanced): Desired Size가 할당된 영역보다 클 때만 클리핑, 필요 시 "Always"와 동일하게 동작
  • Navigation: Unreal의 포커싱 프레임워크에서 방향키 등으로 이동할 때의 내비게이션 동작을 지정합니다. 블루프린트/C++ 모두에서 설정 가능하며, 자세한 흐름은 Unreal's Focusing System 참고

    • Escape: 해당 방향으로 벗어나면 다른 위젯으로 이동하거나 경계를 탈출

    • Stop: 해당 방향으로 이동 시 내비게이션 중단

    • Wrap: 반대편 경계로 이동(예: 아래→맨 위)

    • Explicit: 특정 위젯으로만 이동

    • Custom: 함수로 내비게이션 대상 위젯을 동적으로 지정(해당 방향으로 "FROM" 이동 시)

    • Custom Boundary: 함수로 내비게이션 대상 위젯을 동적으로 지정(해당 방향으로 "TO" 이동 시)

  • Flow Direction: 현지화(로컬라이제이션) 지원을 위한 레이아웃 방향 설정(좌→우/우→좌 등). 일부 위젯만 사용하지만, 모든 위젯에 노출되어 있습니다.
    • Inherit: 부모 위젯의 방향을 상속
    • Culture: 현재 문화권(언어)의 레이아웃 방향을 사용
    • Left to Right: 좌→우 레이아웃 강제
    • Right to Left: 우→좌 레이아웃 강제
profile
언리얼 엔진 주니어 개발자 입니다.

0개의 댓글