맵 전용 디버깅 옵션 추가하기

반응형
상위 링크 : http://udn.epicgames.com/Three/DevelopmentKitGemsKR.html
참조 링크 : http://udn.epicgames.com/Three/DevelopmentKitGemsAddingMapSpecificDebuggingOptionsKR.html

완료한 예제 :



맵에서 옵션을 껏다 켰다 하기.

1. MapInfo 방법.
   맵 전용, 알려진 문제가 있는 맵에 디버그 옵션을 만들 수 있다.
   하지만 맵이 시작될 때 맵 정보가 인스턴싱되므로 맵이 로드되고 나서 바꿀 수는 없다.
   즉, 맵을 시작하기 전에 이 값을 셋팅해야 한다. 게임하는 동안 실시간으로 바꿀 수는 없다.

   맵의 정보를 설정하기 위해서는 MapInfo를 사용해야 한다.
   class MgMapInfo extends MapInfo;

    언리얼 에디터에 있는 World Info에서 맵정보를 얻는다.
    worldInfo_ = class'WorldInfo'.static.GetWorldInfo();
    mgMapInfo_ = MgMapInfo(worldInfo_.GetMapInfo()); 

    맵 정보에서 디버그 옵션값이 체크되었는지 검사한다.
    return mgMapInfo_.MyDebugOption;


2. 위에서 설정한 디버그 옵션셋팅을 활용하여 화면에 출력하기
    위의 옵션값 체크를 통해 만약 이 옵션이 체크되었다면
    켄버스에 Draw Text를 한다.
  if (class'MgMapInfo'.static.IsDebuggingOptionOn())
  {
    Canvas.SetPos(0, 0);
    Canvas.SetDrawColor(255, 0, 255);
    Canvas.Font = class'Engine'.static.GetTinyFont();
    Canvas.DrawText("Debugging mode enabled");
  }
이렇게 설정하고 언리얼 에디터를 켠다.



View/WorldInfo에 보면 MyMapInfo라는 항목이 있다.이 항목이 None으로 되어 있다면 파란색 삼각형을 클릭하여

만들어 둔 MgMapInfo로 설정해 준다. 그리고 Game Type For PIE에서 미리 만들어둔 MgGameInfo라는 항목이 있다.
이 항목으로 설정해 준 후 실행해 보자.











왼쪽 위에 보면 HUD의 Canvas를 이용해 DrawText한 모습을 볼 수 있다.

이 기능은 간단한 토글을 사용해서 내가 원하는 HUD를 뿌리거나 할 때 유용하다.
TAGS.

Comments