UI

UI

GearsOfWar2 에 나오는 UI 를 소개하고 어떤 식으로 구현되어 있는지 살펴본다.

Tac/Com

Tac/Com 은 Tactical Communication 의 약자로 일반적으로 전략적으로 필요한 통신 수단을 일컫는 말이다. GoW2 에서도 Taccom 이 있으며 이것에 대해 살펴본다.

기능

Tac/Com 에는 다음과 같은 기능이 있다.

  • 아군의 위치/이름 표시
  • 아군의 상태 표시

코드 플로우

5216691591_e8332bbbfa.jpg

XBox360 의 LB 버튼을 누르면 화면이 까맣게 변하면서 아군의 위치를 표시해준다. 이 때 아군이 어떠한 상황에 놓여 있는지, 예를 들어 DBNO 상태인지, 방금 막 죽었는지 등의 정보도 표현해준다.

  1. 발동
    // GearPlayerInput.uc
    function HandleButtonInput_LeftBumper( bool bPressed, optional bool bDblClickMove )
    {
        ...
        EnableAssesMode();   // Assess 모드 활성화. Assess 모드가 아군위치를 표시해주는 UI 를 말한다.
        ...
    }
  2. PlayerController 에서 활성화
    // GearPC.uc
    function EnableAssessMode()
    {
        ...
        if ( MyGearHud != None )
        {
            MyGearHud.EnableAssessMode();    // HUD 에 Assess 모드 활성화 알림
        }
        ...
    }
  3. HUD 에서 스위치 온/오프
    // GearHUD_Base.uc
    function EnableAssessMode()
    {
        ...
        bIsFadingTaccomIn = TRUE:        // 스위치를 켜고
        TaccomFadeStartTime = WorldInfo.TimeSeconds - ( TotalTaccomFadeTime * TaccomFadeOpacity );    // Fade 시작 시간을 알린다. 이때 Taccom Opacity 에 따라 시작시간을 다르게 주는 것에 주목
        ...
    }
     
    function DisableAssessMode()
    {
        ...
        bIsFadingTaccomIn = FALSE;        // 스위치 끄고
        TaccomFadeStartTime = WorldInfo.TimeSeconds - ( TotalTaccomFadeTmie * ( 1.f - TaccomFadeOpacity ) );    // 다른점은 1 - Opacity 라는 것
        ...
    }
  4. 로프돌며 Fading 수행
    // GearHUD_Base.uc
    final function DrawAssessMode( GearPC PC, GearPawn GP )
    {
        ...
        if ( bIsFadingTaccomIn || PC.bAssessMode )
        {
            ...
            TacComEffect.bShowInGame = TRUE;    // 실제 Post Effect 인 녀석을 온
        }
        else if ( !bIsFadingTaccomIn && ... )
        {
            ...
            TacComEffect.bShowInGame = TRUE;    // 실제 Post Effect 인 녀석을 온. 다만 이때는 Fade Out 되는 연출
        }
        else
        {
            TacComEffect.bShowInGame = FALSE;    // 완전히 기능 오프
            TaccomFadeOpacity = 0.f
        }
        ...
     
        // TacComEffect 에 대한 업데이트
        ...
     
        // 아군 아이콘 그리기
        ...
    }

Tac/Com Effect

GoW2 의 Tac/Com 화면은 PostProcess 을 이용하여 구현되어 있다.

상기 이미지와 같이 MaterialEffect 로 구현되어 있으며, 이것이 사용하는 Material 경로는 다음과 같다.

Warfare_HUD.HUD_TaccomOverlay_MIC

아군 아이콘

아군 아이콘은 다음과 같은 순서로 그려진다.

  1. 둥그런 원 형태의 BG
  2. 아군을 향한 방향 아이콘
  3. 아군의 얼굴 아이콘
  4. 아군의 이름
  5. 아군의 상태 (현재 소지하고 있는 무기 / DBNO 여부 / 성향 등 )

참조