UDN
Search public documentation:

DevelopmentKitGemsAddingMapSpecificDebuggingOptionsJP
English Translation
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 ホーム > Unreal Development Kit Gems > マップ別デバッグオプションを追加する

マップ別デバッグオプションを追加する


2011年5月に UDK で最終テスト実施済み

PC および iOS 対応

概要


「Unreal」のコンソールにアクセスして開発中にプロジェクトを簡単にデバッグするということが、いつも可能であるとは限りません。 このことは、特に iOS のようなモバイルプラットフォームについて当てはまります。本ドキュメントでは、オプションの on / off を切り替えるためのマップ別の方法について説明します。

MapInfo による方法


MapInfo を使用してデバッグデータを保存することによって、あらゆるコンテンツ作成者がデバッグオプションを簡単に変更することができます。ここでは、デバッグオプションが、on / off のどちらかに切り替えることができるブール型として示されています。ただし、好みに合わせて、どのような変数型を使用することも可能です。この方法を用いる場合の利点は、マップ別であるため、問題があると分かっているマップのためのデバッグオプションのフラグを立てることができるということです。欠点は、マップが起動したときに MapInfo がインスタンス化されて即座にフラグを変更することができなくなるということです。

ここでは静的関数を使用することによって、デバッグオプションのデータを簡単に取得できるようにします。この関数は、WorldInfo インスタンスを見つけることによって機能します。これは、WorldInfo にあるネイティブの静的関数を使用することによって行われます。WorldInfo インスタンスが見つかると、GetMapInfo() から戻された MapInfo インスタンスを型キャストすることによって、MyMapInfo インスタンスが見つかります。MyMapInfo インスタンスが見つかると、 MyDebugOption が返されます。

MyMapInfo.uc
class MyMapInfo extends MapInfo;

var(Debug) bool MyDebugOption;

static function bool IsDebuggingOptionOn()
{
  local WorldInfo WorldInfo;
  local MyMapInfo MyMapInfo;

  // Get the WorldInfo instance statically
  WorldInfo = class'WorldInfo'.static.GetWorldInfo();
  if (WorldInfo != None)
  {
    // Get the MyMapInfo instance
    MyMapInfo = MyMapInfo(WorldInfo.GetMapInfo());
    if (MyMapInfo != None)
    {
      // Return the value of MyDebugOption
      return MyMapInfo.MyDebugOption;
    }
  }

  // Can't get an instance to WorldInfo or MyMapInfo, so return a default value
  return false;
}

defaultproperties
{
}

UnrealScript で実装する方法


デバッグオプションを使用するのは、静的関数を呼び出すのと同じくらい簡単です。

YourClass.uc
if (class'MyMapInfo'.static.IsDebuggingOptionOn())
{
  Canvas.SetPos(0, 0);
  Canvas.SetDrawColor(255, 0, 255);
  Canvas.Font = class'Engine'.static.GetTinyFont();
  Canvas.DrawText("Debugging mode enabled");
}

「Unreal」エディタで使用する方法


メインのウインドウで View (ビュー) -> World Properties (ワールドプロパティ) を選択して、[World Properties] ウインドウを開きます。

Debug_OpenWorldProperties.jpg

[World Properties] のアクタ プロパティ ウインドウが開きました。ここで、 My Map Info セクションにある青い矢印をクリックします。これによってコンテキストメニューが開きます。

Debug_WorldProperties.jpg

MyMapInfo (または、ご自分で付けた MapInfo クラスの名前) をクリックして、新たな MapInfo アクタを作成します。

Debug_AddMyMapInfo.jpg

デバッグオプションをセットします。レベルを PIE で起動した場合で、プログラマーがデバッグのサポートをすでに実装している場合は、レベルまたはゲームの調整やデバッグを簡単に行うことができます。

Debug_ToggleOption.jpg