Let's Enjoy Unreal Engine

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

UE4 BPで使える非同期タスクやマルチスレッドのプラグインを比較してみる

ブループリントでは非同期処理こそ扱えるものの、マルチスレッドな処理を通常扱うことはできません。マルチスレッドな処理は扱いが非常に難しく、バグが発生すると手が付けられないほどに問題が複雑するからだと思います。

しかしブループリントではどうしても処理が重くなってしまい、負荷をバックグラウンドに逃がしたいというケースは少なからずあります。エンジン標準機能にマルチスレッドの呼び出しは用意されておりませんが、マーケットプレイスには多彩なブループリント用マルチスレッドプラグインがありますので、今回は一通りを触ってみて、どのように使えるかを比較検証してみました。

今回検証したプラグインは以下の4つとなります。

Actions Extension:Piperift:Code Plugins - UE4 マーケットプレイス

BPThreads:Mashmashu Studio:Code Plugins - UE4 マーケットプレイス

Call Function Async:Alexandr Vasilyev:Code Plugins - UE4 マーケットプレイス

Multi Task Pro:Yaki Studios:Code Plugins - UE4 マーケットプレイス

Actions Extensionのみ無料で、残りは有料となります。Multi Task Proのみ、無料版があり、こちらは非同期処理のみで、機能はMulti Task Proの機能制限版となるので比較には入れていません。試してみたいという方は以下からどうぞ。

Multi Task:Yaki Studios:Code Plugins - UE4 マーケットプレイス


f:id:alwei:20200725184659p:plain

ちなみに今回検証したプラグインは全て最新版のUE4.25.2まで対応しています。最新バージョンでもしっかりと動作することを確認済みです。

それでは早速比較した結果を見ていきましょう。

続きを読む

UE4 AIがナビメッシュを使わずに移動する際のTips

AIが移動を行う際には、MoveToなどのノードや関数を使って移動することが多いとはずです。

そしてMoveToなどを使う際には必ずといっていいほどにナビゲーションメッシュを使うことになりますが、実はナビゲーションメッシュがなくても移動自体は可能です。以下の記事を読んでいただくと簡単に移動系ノードについてを理解できると思います。

unrealengine.hatenablog.com

続きを読む

UE4 ランタイムバーチャルテクスチャーとランドスケープによるメッシュ境界のブレンド

UE4.23から使えるようになったバーチャルテクスチャー(Virtual Texture)という、非常に大きなテクスチャーでもメモリー消費量を抑えて、更にパフォーマンス効率も上げて使用できる機能があります。

バーチャルテクスチャーには2種類あり、ランタイムバーチャルテクスチャー(Runtime Virtual Texture)と、ストリーミングバーチャルテクスチャー(Streaming Virtual Texture)と呼びます。両者の違いは名前の通り、ランタイム(実行中)で使うか、ストリーミング(逐次)で使うかの違いです。

RVTは主にランドスケープで複雑なマテリアルのブレンドに最適です。SVTはUDIMと呼ばれる複数のUVを持たせたいオブジェクトなど、更に巨大なテクスチャーを効率よく扱う時に最適です。

docs.unrealengine.com

今回はランタイムバーチャルテクスチャー、通称RVTを使ってランドスケープによるメッシュ境界のブレンドというものをやってみます。メッシュ境界のブレンドというのは背景物が地面などに刺さったりしてしまい、違和感のあるような状態を少しでも緩和させる際に最適な手法です。UE4には他にも背景物を地面を馴染ませる方法がいくつかありますが、RVTはより効率よくブレンドが可能な仕組みとなっているのでお勧めです。

続きを読む

UE4.25で追加されるマイナーなプラグインを3つ紹介

ついにPreview 7まで来てしまったUE4.25ですが、そろそろきっとリリースされるだろうと思い、今回は4.25で追加されるメジャーな機能ではなく微妙にマイナーそうなプラグインを3つ紹介したいと思います。

今回紹介するのは、"Blueprint File Utilities"、"Data Charts"、"Volumetrics"という3つのプラグインです。

f:id:alwei:20200425200258p:plain

これらのプラグインを個別のオンにしておきます。※上記画像の3つのプラグインは同じ位置に並んでいるわけではないので注意

では中身を見てみましょう。

続きを読む

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ではセーブもロードも高速でほぼ一瞬で終わりますので、このプラグインの出番はほぼないと思います。

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

続きを読む