Let's Enjoy Unreal Engine

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

UE5 初心者・入門者向けPPLineDrawing導入手順

数日前にジャンプ+で公開中のこちらのルポ漫画でUnreal Engineを漫画で使う!というツイートがバズりました。

今年の2月に開催した、UE4 Manga Anime Illustration Dive Onlineの影響もあり、Unreal Engineの漫画需要は更に上がりつつありますね。
www.unrealengine.com

そのおかげで線画抽出のポストプロセスマテリアル、PPLineDrawingを使ってみたいという方が再度増えているようです。

unrealengine.hatenablog.com

実際に導入された漫画家さんの例。

ただし、漫画家さんにはやはり導入方法がわからないという方も多く、簡単とは言え導入まで苦労する方もおられるかもしれません。

「さすがに今更ポストプロセスマテリアル導入の解説なんていらんだろ…」と思っておりましたがUE4からUE5になってこの導入についてを解説されている記事も少ないようなので、ここで改めてUE5版での導入手順の解説をしておこうと思います。

今回はUnreal Engine 5.0.3を用いて解説します。それでは早速いきましょう。

続きを読む

UE5 Task Systemでお手軽な非同期処理! ※サンプルプロジェクト配布あり

UE5で新しく実装された非同期処理APIシステムにTask Systemと呼ばれるものが追加されています。これは日本のゲーム業界で呼ばれる一般的なタスクシステムと呼ばれるものとは全く違い、C++で簡単に汎用的な非同期処理を実現するためのジョブマネージャーです。

UE4から汎用的な非同期処理を実現するためにはTaskGraphというシステムが存在していましたが、TaskGraphはプログラミング初心者が利用するには非常にハードルが高い内容となっており、非同期処理の専門家でないと扱いが難しいものでした。Task Systemは複雑化していた非同期処理のコードを簡潔に記載できるようになるだけではなく、依存関係の処理や同期が必要な共有リソースへのアクセス、更にはPipeと呼ばれるタスクを連続して実行するタスクチェーンの仕組みが同時に用意されています。

非同期処理の扱いは難しいものがありますが、UE5で追加されたTaskSystemの導入で大幅にお手軽になっています。最も簡単な非同期処理は以下のコード量で書けてしまいます。あまりに簡単過ぎて拍子抜けするコード量です。

Launch(TEXT("Task"), []{});

公式サイトにもドキュメントにサンプルコードと解説が用意されているので、じっくり知りたい方はそちらを読んでみてください。

docs.unrealengine.com
docs.unrealengine.com

今回のコードはGitHub上にサンプルプロジェクトとして配布しておりますので、コードだけでも眺めてもらうと参考になると思いますので、よろしければどうぞ。

github.com

ではここからは早速UE5で追加されたTask Systemの中身についてを確認していきましょう。

続きを読む

UE5 Property Accessを使ってAnimBPをマルチスレッドに更新しよう

UE4では元々アニメーションブループリント内のAnim Graph内であれば条件付ですが、Game Thread以外で更新が可能でした。そしてUE5となり、Event Graph上でもなんとGame Thread以外での更新が可能となりました。

しかし、マルチスレッドに実行するということは変数やオブジェクトのアクセスはスレッドセーフ(スレッド上に安全に更新が可能なこと)であることを保証する必要があります。そのために用意されたのが"Property Access"と呼ばれる新機能です。名前だけをみるとプロパティ(なんらかの入れ物)にアクセスするゲッター、セッターの機能かな?と勘違いをしますが、このProperty Accessはもっと高度な機能です。

では例と一緒にProperty Accessとマルチスレッドでの更新についてを解説していきましょう。

続きを読む

UE5 Rewind Debbugerを使ってみよう

UE5の新機能のひとつとして『Rewind Debugger』というものがあります。日本語では『デバッガを巻き戻す』という翻訳になっており、文章としてそのまま翻訳しているのかちょっと微妙な呼び方になっているので、この記事では『Rewind Debugger』という呼び方にしておきます。

さて、Rewind Debuggerについてですが、わかりやすく言えば名前の通りRewind(巻き戻し)しながら、アニメーションの情報を確認できるというデバッグ用の機能となっています。これまでもアニメーションのデバッグはPrint StringなどをBPに仕込みながら数値の値を確認するというのが主流でした。

Rewind Debuggerを使えば簡単にアニメーション情報を録画し、その間に発生したアニメーション情報を簡単に参照することができます。それでは実際に使ってみて使い方を覚えてみましょう。

続きを読む

UE5 Lyraサンプルゲームの設計を解説してみる

UE5の正式版がリリースされてから3週間ほど経過しました。既に色んな検証をされている方も多いでしょう。正式版のリリースノートは以下にあります。

docs.unrealengine.com

さて今回はUE5正式版リリースと同時に発表された『Lyra』と呼ばれるサンプルゲームについてです。LyraはサンプルゲームでありながらUE5の機能をフル活用しつつUE5の最新機能や設計などを学べるとても良く出来たサンプルになっています。しかしLyraの設計はその最新機能を使い倒したものとなっており、おそらくUnreal Engine上級者でもすぐに理解するのが難しい内容となっています。

今回はLyraを独自に解析して、私が理解できた部分を解説していくという内容となっています。比較的上級者に向けた内容となっているかもしれませんので、ご了承ください。Lyraサンプルゲームの公式解説は以下にあります。

docs.unrealengine.com

続きを読む

UE5 UE4と重い部分を比較して軽量化してみる

Unreal Engine 5のPreview 2が出てから少したちました。様々な新機能が追加されており、検証にもまだまだ時間がかかりそうです。そしてUE5の正式版はそう遠くないはず。

今回はUE4と比較して、重たいと言われているUE5において、具体的にどこが重たいのかを検証してみました。今回使っているGPUGeforce RTX 3070を使っての計測となります。それでは早速検証結果をみていきましょう。

続きを読む

UE4 イラストでもっとChameleon Post Processを使いこなそう

去ること2022年2月19日(土)にUnreal Engine公式イベントである『UE4 Manga Anime Illustration Dive Online』が開催されました。私も講演側で参加させていただきました。

www.unrealengine.com

主催側も予想しなかったほどに大盛況で約1000人近い方がライブで観られていたようです。私の講演についてもそのうちにスライドなどが公開されると思いますので、そちらも合わせてご覧ください。

動画&スライド追加

www.youtube.com

www.docswell.com


さて、今回のブログ記事では超高性能なポストプロセスアセットである『Chameleon Post Process』について講演の中では語りきれなかったTIPSを更に解説してみたいと思いますので、ぜひイラスト制作などで活用してみたい方は参考にしてください!

続きを読む