Skip to content

[Feature] UIFade 컴포넌트 추가 #4

Description

@nelu572

배경

UI 표시/숨김 전환에서 CanvasGroup alpha와 raycast/interactable 상태를 반복적으로 직접 제어하는 코드가 자주 생깁니다. 범용 Tween 시스템을 만들지 않고도 단순 Fade In/Out을 재사용할 수 있는 컴포넌트가 필요합니다.

목표

CanvasGroup 기반의 간단한 UIFade 컴포넌트를 추가하여 반복적인 Fade In/Out 코드를 줄입니다.

구현 범위

  • Fade In / Fade Out
  • Duration
  • 시작 Alpha / 종료 Alpha
  • CanvasGroup 자동 참조 또는 자동 추가 정책 검토
  • Unscaled Time 지원 여부
  • Fade 완료 후 interactable, blocksRaycasts 처리 옵션

제외 범위

  • 범용 Tween 시스템
  • 복잡한 sequence/timeline 기능
  • DOTween 등 외부 Tween 라이브러리 대체
  • Shader 기반 dissolve/fade effect

기술 검토 사항

  • Coroutine 기반 구현과 수동 Tick 방식 중 어떤 접근이 단순하고 안전한지 검토
  • 비활성 GameObject에서 Fade Out 완료 후 deactivate 처리를 포함할지 검토
  • 중복 Fade 요청 시 cancel/overwrite/ignore 정책 결정
  • unscaled time 기본값과 Inspector UX 검토
  • UITransition과 책임이 겹치는 범위 정리

완료 조건

  • UIFade 컴포넌트가 Runtime assembly에 추가됨
  • Fade In/Out API와 Inspector 조작이 제공됨
  • Duration, 시작/종료 Alpha가 조절 가능함
  • CanvasGroup 처리 방식이 명확함
  • Unscaled Time 지원 여부가 결정되어 구현/문서화됨
  • interactable/blocksRaycasts 처리 옵션이 검토 및 구현됨
  • 범용 Tween 시스템으로 확장되지 않음

선행/관련 Issue

없음. UITransition과 책임 분리 검토가 필요합니다.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions