Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4.25で追加されるアニメーションプロファイラー

UE4.25が絶賛Preview 4の状態で公開中です。色んな機能が追加されているので、ぜひフォーラムから情報を追ってみてください。

forums.unrealengine.com

今回はこの中で追加された"Animation Insights"についてと、ひっそり追加された"Hierarchilcal Profiler"についても解説します。

続きを読む

UE4 ライン描画に特化したPPLineDrawingを公開しました

最近UE4を使って漫画の背景を描く、浅野いにお先生が話題となりました。Epic Games公式でも取り上げられ、今後益々漫画やイラストなどでもUE4が使われていくと思います。

また、UE4を使う背景アーティストの中村 基典さんが、UE4からデータをFBXエクスポートしてCLIP STUDIO PAINT EXに読み込ませ、輪郭抽出(アウトライン)したものを漫画の背景に使えるか?という試みを行っておりました。

この試み自体は非常に良いと思います。個人的にはこれがUE4の中だけでも完結が出来るんじゃないか?と思って今回はこんなものを作ってみました。

github.com

続きを読む

UE4 非同期セーブロードプラグインを公開します

とある事情で作ったゲームのセーブデータのセーブとロードをブループリントで非同期に扱うことが可能なプラグインをIndie-us GamesのGitHub上で公開しました。

github.com

非同期なので、セーブデータのセーブとロードの完了を持たずにゲームのバックグラウンドで処理が行われます。このプラグインを利用することで、とあるプラットフォーム上でセーブとロードがブロックされてしまい、ゲームが数秒以上停止してしまい、プレイに支障がでてしまうというケースに有効です。

ちなみにPCではセーブもロードも高速でほぼ一瞬で終わりますので、このプラグインの出番はほぼないと思います。

簡単な使い方を以下で解説します。

続きを読む

UE4 誰でもわかるアウトライン入門

この記事はUnreal Engine 4(UE4) #2 Advent Calendar 2019の5日目の投稿記事です。

qiita.com

前回の記事でセルシェーダー入門を書きました。

unrealengine.hatenablog.com

こちらはセルシェーダーのみで、いわゆるアニメ絵で必須と言われているアウトライン表示は行っていません。今回はアウトライン作成に焦点を当てていきます。

今回もあくまでもシェーダー初心者に対しての軽いネタなので高度なネタを期待されている方は改めて読む必要はないかもしれませんので、あしからず。

続きを読む

UE4 誰でもわかるセルシェーダー入門

この記事はUnreal Engine 4(UE4) Advent Calendar 2019の1日目の投稿記事です。

qiita.com

さて、今年のAdvent Calendar 1発目のネタはみんな大好きなセルシェーダーについてです。と、言っても今更なネタでもありますので、普段仕事でも散々NPR系のシェーダーを作っており、本当は高度なネタも沢山知っていますが、今回はシェーダー初心者に向けたセルシェーダーの原理についての解説です。タイトルにもある通り誰でもわかる程度の内容を想定しています。

もう散々解説されているネタではありますが、意外なくらい原理を解説しているくらい記事は見かけないので、今回はあくまでもその原理を解説するという趣旨です。

続きを読む

UE4 UMG等で日本語フォントが4.23以降で文字化けするのを何とかする

UE4.23以降で、日本語フォントをUMGのText Widgetなどで表示しようとすると文字化けが発生してしまいます。これは最初バグなのかと思っていましたが、4.23のリリースノートには以下のような文章があります。

docs.unrealengine.com

Deprecated: Legacy localized fonts are now disabled by default.
These have been "soft" deprecated since 2014, were formally deprecated (emitting a warning if used) in 4.22, and will be removed in 4.24.
They can be temporarily enabled again by setting Slate.EnableLegacyLocalizedFallbackFont to 1.
You should instead ensure that your font assets are set-up correctly by using this overview.

従来のLegacy localized fontsと呼ばれるものが、非推奨になり、デフォルトでオフになりました。4.23の時点ではまだ、"Slate.EnableLegacyLocalizedFallbackFont"を1に設定することで旧来のフォントも利用できますが、どの道4.24で完全に削除されることになります。代わりにフォントアセットを自前で用意、設定してくださいとのことですが、日本語を表示するために態々フォントを用意するのも手間です。

非推奨になったものは仕方がないので、別のやり方でなんとかしてみましょう。

続きを読む

UE4 BPとC++のパフォーマンス比較検証

今年のUnreal Fest East 2019では様々なセッションがありましたが、その中でもよく話題になっていた以下のセッション。

www.famitsu.com

途中でブループリントとC++のパフォーマンスについての話があります。ブループリントの速度がC++に比べても遅いのは当然ですが、さすがにいくらなんでも差がありすぎるだろうと思って、実際に比較検証をしてみました。

『ForLoopがマクロなのでハンデになっている』という説明があるので、BPが極力不利にならないようにその部分は意地でもマクロを使わずに実装を行います。

なるべく計算量が多くなるようなアルゴリズムを採用し、わかりやすい結果がでるように最も有名なソートアルゴリズムのひとつ、"バブルソート"をC++とBP両方でやります。実際のコードとノードは以下に載せていますので、参考に。

バブルソート参考

qiita.com

続きを読む