【UE4】BP&C++でログ表示

開発に欠かせないものといえばデバッグデバッグの基本といえばログ表示!

ということで、UE4におけるログ表示機能を紹介します。

UE4では様々な方法でログを出力可能ですが、
"Blueprint"でも、もちろん"C++"でも出力できます。

出力先は大きく分けて、"OutputLog"に出力するか"スクリーン上"に出力するかです。


Print String

f:id:shuntaendo:20170717035841p:plain

OutputLogとスクリーン上どちらにも表示可能なノードです。

OutputLogタブが表示されていない場合は"Window"タブ → "Developer Tools" → "Output Log"から表示可能です。

f:id:shuntaendo:20170717040910p:plain:w200


ポピュラーなノードなのでパラメータ説明だけ。

パラメータ名 説明
In String ログ文
Print to Screen スクリーン上に表示するか
Print to Log OutputLogに表示するか
Text Color 文字色
Duration スクリーン上に表示する秒数

f:id:shuntaendo:20170717042510p:plain:h100 f:id:shuntaendo:20170717043338j:plain:h100


また、Text型版のPrintTextというノードもあります。こちら↓で紹介しました。
shuntaendo.hatenablog.com



UE_LOG

次は、UE_LOGというマクロです。C++からOutputlogのみにログ出力できます。

UE_LOG(LogTemp, Display, TEXT("ログです。"));
UE_LOG(LogTemp, Warning, TEXT("危ないかも..."));
UE_LOG(LogTemp, Error,	 TEXT("ダメです。"));

f:id:shuntaendo:20171029174359p:plain

Category(LogTempとかLogWorld)のVerbosity(WarningとかError)によって、そのCategoryを使った時にどのVerbosityまでOutputlogに出力されるか決まっています。

PrintStringのScreen to LogもVerbosityを変更しています。


詳細はヒストリアのブログへ!-=≡ヘ(*・ω・)ノ

historia.co.jp



AddOnScreenDebugMessage

最後にAddOnScreenDebugMessage関数です。UEngineから呼び出せる関数でC++からスクリーン上にログ出力することができ、自由度も高いです。

AddOnScreenDebugMessage(int32 Key, float TimeToDisplay, FColor DisplayColor, const FString& DebugMessage, bool bNewerOnTop, const FVector2D& TextScale)
パラメータ名 説明
Key -1以外を指定すると同じKeyが指定されたAddOnScreenDebugMessage関数が呼ばれると、表示古い方のログに上書きされます。
TimeToDisplay スクリーン上に表示する秒数
DisplayColor 文字色
DebugMessage ログ文
bNewerOnTop Trueで且つKeyが-1の時、一番上に表示されます。 f:id:shuntaendo:20171029184137p:plain
TextScale 文字の大きさ

荒くなっちゃいますが、大きいログも(^o^)
f:id:shuntaendo:20171029185033p:plain

docs.unrealengine.com




開発の手助けになれば幸いです~