LoginSignup
8
0

More than 1 year has passed since last update.

mainブランチのUE5を覗いてみる

Last updated at Posted at 2021-12-19

この記事はUnreal Engine (UE) Advent Calendar 2021その119日目の記事です。
おはようございます!!!!!!遅れました!!!すみません!!!!!

初参加&&初投稿です。お手柔らかにお願いします。。

はじめに

UE5が世に出て半年ほど経ちました。最近はMatrixのデモもあり、Nanite/Lumenすげ~といった空気が再び流れていますが、実はそれ以外にもドキュメントに無い様々な機能がUE5に存在していることをご存知でしょうか?UnrealEngineはGithub上にソースコードが上がっているので、最新のビルドを手元で試すことができます。

(2021年12月時点での)最新のエンジンを手に入れる

まずはソースコードのダウンロードからです。現状(2021/12/19)ではue5に関するブランチは4つ存在します。
image.png
上から順に解説すると、

  • ue5-early-access
    • ランチャーから落とせるUE5のソース。
  • ue5-main
    • 開発チームが行った各種変更がそのままミラーされるブランチ。最新機能はここに入っているがビルドが通る保証は無い。
  • ue5-release-engine-staging
    • 来年春にリリースされるであろうUE5正式版(UE5.0.0)のソースコード。10月中頃に現れた。このブランチのものが一番安定したUE5。
  • ue5-release-engine-test
    • リリース前に向けたテストブランチっぽいけどstagingブランチとの明確な差異はちょっとよくわからない。安定したUE5が欲しければstagingブランチを使うのがよさげ?

となっています。release-engine-stagingブランチのものでもEA版と比べてかなりの変更が入っており、また体感ですがEAよりも全然安定して動いてくれます。EA版はcontrol rigで遊ぶとすぐクラッシュしましたがrelease-engine-stagingではそんなことはありません。

今回は最新機能を覗いてみたいのでue5-mainブランチのものをビルドします。自分はVisual Studio 2022を使いました。UE5がサポートするVSは2019 or 2022なので注意してください。
詳細なやり方は公式サイトに従ってください。

image.png
ビルドをかけたところ、運よくエンジン本体は無傷でした。Version5.1.0!!!これで色々遊べるぜ!!
image.png
HeadlessChaosのエラーは9月くらいからずっと出ているので無視します。
(この時のコミットハッシュが何だったかメモするの忘れてしましました..すみません。たぶんf41764a98b778e3371bf2ce2068529327e675a6cだった気がします。コミュニティによると、5f829399f57eb106e15a5002161d6f747e4630fbでもビルドが通るみたいです。)

image.png
UIもEA版とは異なるものになっています。

歩いてあそぶ

さて最新のエンジンが手に入りました。色々弄って遊んでみましょう。

どうやって遊ぶのよ?

僕はいつもプラグインを見るか、コミットメッセージを見るかして新機能のアタリを付けています。

gitのコミットメッセージを見る

コミットメッセージを見るといっても、エンジン全体ではたった一日で何ページにもわたる変更が入るので、とても全部は見ていられません。
image.png
気になるモジュール・プラグインに絞って見ていったほうが良いと思います。

例えばNiagaraを例に取ります。
夏ごろにエフェクト周りをちょっと触る機会があったのですが、Engine/Plugins/FX/Niagaraのコミットを見ていると見慣れない単語がありました。
image.png
niagaraにGPU raytraced collisions?そんなのそもそもあったっけ???と思いgpu particleのcollisionモジュールを見てみると、、、
image.png
なんかいるじゃん!!!!
experimentalということで発見当時はまだ使えませんでしたが、今ならもう使えるかも?時間のある時に検証したいですね。

プラグインを見てみる

UE5-mainには新しいプラグインがどんどん追加/変更されていくので、pluginsを見てみると様々な発見があることが多いです。
image.png
左側がビルドしたUE5、右側がEA版UE5です。50個近いプラグインが追加されていることがわかります。
そもそもEA版にもドキュメントに乗っていないプラグインsがそこそこ存在するので、それを含めると結構な数の未知の機能があります。
例えばUE5ではnanite/lumen以外にもアニメーション絡みの機能としてFullbody Ikやmotion warpingが紹介されていますが、それ以外にも様々な新機能が追加されています。  
image.png
image.png  
image.png

他にも流行りのUSDに関するものや、
image.png
ちょっとびっくりするようなのもありました。OpenCVだと....?
image.png

githubから落としたUE5は4.27との互換性もあるので、27関連のものももちろん入っています。
image.png

それと見ていて一番気になったのは機械学習絡みの機能が結構追加されていることです。
image.png
image.png
image.png
image.png
image.png
有効化すればNeural Networkなんていうそのまんまな名前のアセットタイプが出てきます。
image.png

こんな感じでざっと見てから、気になるものをちょっと試してみるといったことを自分はやっています。

どうやって動かすのさ??

面白そうな機能を見つけたはいいものの、文字通りエンジンの最新機能なのでドキュメントなんてものは存在しません。
エディタ上で適当にこねくり回すだけでそれとなく使い方がわかるものもありますが、大半のプラグインはそうではありません。
動かそうと思った場合、ソースコードを読むか、コミュニティの力を借りて色々試していく必要があります。

ソースコードを見る

読み方は人それぞれ違うと思うのであくまで僕の一例ですが、とりあえず定義(ヘッダファイル)を見に行きます。
僕がUEのソースコードを眺めるようになったのはUE5が公開されてからで、圧倒的に経験不足なのでもっと賢い読み方があったらぜひ教えてください。

例えばPoseSearchプラグインを例にとってみます。
image.png

ソースを見ると、AnimGraph用ノードのヘッダファイルがいます。
image.png
AnimGraphで使える関数の定義も見つかりました。
image.png
とりあえずエディタで見てみましょう。
image.png
これだけじゃまだ何もわからないですね。とりあえず何かしらのデータベースが必要だとわかったのでそこの定義に飛びます。

image.png

image.png
UPoseSearchDatabaseを見ると何かしらのDataAssetだとわかるのでエディタに戻って検索してみます。

image.png
image.png
image.png
何か出てきましたね。

こんな感じでひたすら定義を見てエディタに戻って...みたいなことを繰り返していきます。
そうするとだんだん全体像が見えてくるのでちょっと試しに動かしてみよう....
image.png
image.png
image.png
わからん!!!!!!!
熟練のUE使いなら自力で全てを解決出来たりしますが僕はそうではないので途中で詰まることがあります。
そのようなときはコミュニティの力を頼りましょう。

偉大なコミュニティの力

Twitter

つよつよエンジニアが集う場所筆頭です。Twitter上には新機能をいろいろ試していらっしゃる方が大勢いるので、誰か同じことやってないかな~と検索をかけてみます。


いました!!!

image.png
助けて!!と絡みに行きました。お世話になった場合はお礼を忘れずに伝えましょう。
Pose Searchの場合はアニメーション周りで強そうな方にDMでこっそり聞いたりもしました。ちゃんと丁寧に聞けばきっと答えてくれるはず...!

*注意点:例に挙げたこのプラグインですが、実は6月ころに色々試していたもので、最新のエンジンとは仕様がちょっと違います。今回はPose Searchの使い方というよりドキュメントに無い機能の紐解き方を紹介したかったので時系列がちぐはぐな感じになってしましまいました、、ごめんなさい!

Discord

Unreal Slackersという非常に巨大なコミュニティがDiscordに存在します。
その中にue5-engine-sourceという正にmainブランチの内容について議論するチャンネルがあり、日夜議論が行われています。
直近のトピックはmainブランチのビルドに関することなので、この記事を見てUEの最新ソースに興味を持った方がいらっしゃったらちょうどいま色々質問ができるかなと思います。
image.png

おわりに

せっかくなら気になった機能を実際に動かした結果を載せたかったのですが、記事の量がとんでもないことになりそうなのとまだ検証中なものがほとんどなので断念しました。卒論が落ち着いたらぼちぼち記事にできたらいいなと思っています。その頃にはUE5.0.0が正式リリースされていそうな予感もしますが。

8
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0