ゲームプログラム備忘録

個人的な勉強の備忘録です

【UE5】Unreal C++ プロジェクトの作成に失敗する。

私が自身が「あ、こんなところで無駄な時間を浪費してしまった…」とおもったのと同じ体験をする人がすこしでも減るように今回の記事を書こうと思う。

さあUnreal Engine5をインストールして、C++でコードを書いてみようと思いプロジェクトを作成すると

プロジェクトがコンパイルできませんでした。Visual Studio 2019 で開きますか?

というメッセージが出てきてプロジェクトがうまく作成できない時にこのことをよく覚えていてほしい。
(前提条件としてVisual Studio 2019をインストールしている場合)

ファイルパス(ファイルのアドレス)に日本語が入っている場合はうまく動作しないことがある。

上記に書いたことでこの記事で言いたいことは伝わったと思う。

とても短い記事だが参考になればと思う。

ちなみにファイルパスにドキュメントが入っている場合もエラーになったりならなかったりするので避けたほうがいいのでは?と思っている。

【UE5】 C++ PrintStringを例にした変換

私は特に学生の頃BluePrintのみでゲーム開発をしていた時は変換などほとんど気にもとめず使用していた。

なぜならピンをノードにつなげるだけで変換のノードがUnreal側で勝手に用意してくれていたからだ。

だがUnreal C++での開発の勉強を始めてから気にするようになった。

変換の一例として以下のPrintStringでの変換があげられる。

BluePrint Integer->String変換

↑の変換をC++で行うと以下のようになる。

	int Num = 10;

	UKismetSystemLibrary::PrintString(
		this,
		// Int型からFStringに変換
		UKismetStringLibrary::Conv_IntToString(Num),
		true,
		true,
		FColor::Blue,
		5.0f);

こう見るとBluePrintの偉大さがすごく身に染みてわかる…

以下にUKismetStringLibrary::Conv_IntToStringのリンクを貼っておきます。

docs.unrealengine.com

【UE5】 C++ OutputLogに出力

UE5のOutputLogにエラーや、警告のメッセージを表示する方法

C++

    UE_LOG(LogTemp, Display, TEXT("Display Message"));
    UE_LOG(LogTemp, Warning, TEXT("Warning Message"));
    UE_LOG(LogTemp, Error, TEXT("Error Message"));

と記述する。

内容としてはUE_LOGマクロを使用し、Output Logに出力するだけ。

ErrorやWarningなどは特によく使うと思うので覚えていて損は無い。

PrintStringでLogもどきを出力する方法もあるが、時間が経てば消えてしまうので大きなプロジェクトほどUE_LOGマクロを使用する方がいいのでは?と個人的に思う。

以下は実際の出力結果

実行結果