UE5.1からの新機能にSnapと呼ばれるノードが実験的に追加されたそうです。ちょっと面白いノードだったので取り上げてみようと思います。
プラグイン形式になっているので、まずはプラグインをオンにする必要があります。
続きを読む
UE5.0から新規実装されているプラグインに『ControlFlows』と呼ばれるものがあります。
このプラグインの使い方について、どこにも全く情報がなく使い方もわかりませんでしたが、実はLyra Gameサンプル内で使われていることがわかり、個人的に使い方を調べてみました。Lyraについては公式にも解説がありますので、そちらを御参考ください。
このプラグインはC++で使うことが前提となっており、わかりやすく説明すると
『同期または非同期に実装された関数をキューに入れて管理、実行するシステム』とのことです。
このシステムは今のところ非純粋(non-const)な関数しかサポートしていません。
ControlFlowsを使うことで、複雑なステップやステートを持つようなロジックを作る際に、コードを読み易くシンプルな作りを可能にし、同期処理や非同期処理に関係なく、ステップを明確にすることができるようになるため後からでも構造の変更に対応しやすいというのが最大のメリットかもしれません。今回はシンプルな使い方をしていますが、Lyraの中に実際に使われているサンプルコードがありますので、そちらも参考にしてみるといいと思います。
続きを読むLyraで実際にControlFlowsが使われているところですが、LyraFrontendStateComponent.cpp内をみると確認ができます。#UE5 #UE5Study pic.twitter.com/7uF56bLetC
— alwei (@aizen76) 2023年1月29日
この記事はUnreal Engine (UE) Advent Calendar 2022 その2の記事1日目となります。
今回はUE5.1でアップデートされた新マテリアルシステム、Strataについてです。
公式サイトより。
Strataは日本語に訳すと『地層』という意味を持ちますが、名前の通りマテリアルの中に複数の層を持つような表現が可能となります。Strataを使うことで、これまで不可能だった表現をマテリアルシステム上で制作が可能となります。Strataを使うと例えば「金属上の液体」、「クリアコート上のダスト」または「サブサーフェス下のクリアコート」など非常に特殊な表現が実装可能になります。
オフラインレンダラーで実装されている双方向散乱分布関数 (BSDF) やuber-shaderのグラフベースミキシングとレイヤー化でレンダリングする仕組みで実装することで、Strataはこれまでゲームエンジン上で制限されたパラメータでしか作れなかった限界を越えた表現が可能となります。Unreal Engine 5ではオフラインレンダラーと同じように視覚的に複雑なものをリアルタイムでレンダリングすることを目指しているそうです。
Strataについての現時点の情報は以下のリンクに集約されており、英語ですが興味ある方は読んでみてください。
Strataを使う際の最大の注意点は、この機能を使うと既存のシェーディングモデルシステムのマテリアルは併用できなくなり、Strataで作られたマテリアルを元に戻すことができなくなります。互換性がないことを前提に提供されるシステムということを理解した上で利用するようにしてください。また実験的機能ということで、クラッシュもしやすいので注意してください。
それでは実際にStrataを使っていきましょう。
続きを読むUE5.1が正式リリースされました。
docs.unrealengine.com
かなり新機能が多くて、把握するだけでも一苦労します。Lumen & Naniteも大幅にアップデートされており、検証したい項目が沢山ある状態です。その中でも特に気になっている部分でMaskedマテリアルをNaniteがサポートしてくれました!
Maskedマテリアルはフォリッジで配置する草木や樹木ではほぼ使われており、昔からゲームでは草木や樹木はMaskedのマテリアルで作られたものが非常に多かったので、これをサポートしてくれるということは非常に大きな意味があります。ただ実際にNaniteでMaskedメッシュを配置した場合どこまで効果があるのかがわかりませんので、実際に検証してみました。
今回の環境はUE5.1.0でRTX 3070を使って検証しています。それでは早速検証していきましょう。
続きを読むUE4にはRigid Body Animation Node(RBAN)と呼ばれる物理アセットを使った軽量物理機能が存在しており、今もよく使われている物理機能です。UE5では物理エンジンがChoasへと標準搭載となり、Rigid Bodyノードは通称Chaos RBANと呼ばれるようになりました。
Chaos Rigid Body Animation Nodes (Beta)
Chaos RBANはPhysXで処理されていた部分がそのままChaosと差し替えられているので一見すると変化がないように見えますが、実際に触ってみると挙動も大きく違っていることがわかります。特にそれまでと比較して安定性が抜群に上がっており、変な挙動をするといったこともほとんどありません。うまく理解して使うと表現の幅が大きく広がります。
Chaos RBANではPhysX RBANにはなかったワールドオブジェクトのサポートや、ワールド空間の動きをあらゆるシミュレーション空間に渡せるようになったため、急激な回転や極端な加速でも安定した動きで動作できるようになりました。
これまでUE4ではキャラクターの物理はKawaii Physicsが使われることがよくありましたが、形状を維持して制御するような物理に対しても非常に有効に働きますので、思いっきり揺らしたい時と、安定して揺らしたいときなどの使い分けも可能です。
github.com
Kawaii Physicsそのものは設定も非常に簡単なので、初心者向けには非常に良い選択肢だと思います。
Chaos RBANはより表現の幅を広げたい中級者以上にお勧めしたい物理です。
今回使用したモデルはバーバラという原神のキャラクターで、公式から配布されているPMX形式のMMDモデルです。様々なバージョンがあり、どれが正しく動くかなどの保証はありません。今回は最新の2.3verのものを使用しています。
www.hoyolab.com
更にこのモデルをVRM4UのPMX読み込み機能を使って読み込んでいます。PMXの読み込みについては解説しませんので、気になる方は調べてみてください。
ruyo.github.io
この記事の解説はUE5.0.3を利用しています。5.1以降ではまた結果が変わってくるかもしれませんので、ご了承ください。
続きを読むUE5からのマイナーな新機能として、ブループリント 名前空間(Blueprint Namespace)というものが実装されています。
ブループリント名前空間は既存のプログラミング言語のように名前空間というグループを作り、別空間にあるものとは違うものとして扱えるようにしようという考え方です。ブループリントの場合は同じ名前空間に存在するBPアセットに対してのみしか読み込まないようにします。
ブループリント 名前空間で区切った場合、本来必要になるタイミングぎりぎりまでアセット読み込みを行なわないので、名前空間が違うもの同士の場合には余計なものを読み込まなくなるためにノード検索などで余計な表示を行わなくなります。これはグローバルな関数ライブラリーやマクロライブラリーを使う時に重宝します。
関数ライブラリーやマクロライブラリーはエディターが起動時にメモリーへと読み込まれます。これは起動時点からライブラリーがグローバルに存在しているものと認識するからです。更にあらゆるBP上で検索候補に出現するので余計な情報が沢山表示されがちです。これをフィルターし、同じ名前空間に存在するものしか認識しないようにしてくれるのがブループリント 名前空間ということです。
ブループリント名前空間はUE5.0でも実装されていますが、本格的に導入されるのがUE5.1以降となっています。今回はUE5.0で検証しているので、UE5.1と今後差異がでてくるかもしれません。
続きを読む数日前にジャンプ+で公開中のこちらのルポ漫画でUnreal Engineを漫画で使う!というツイートがバズりました。
「長谷川智広の帰ってきたデジタル作画奮闘記〜アンリアルエンジン編〜」が、ジャンプ+で短期連載開始!
— 少年ジャンプ漫画賞 (@jump_mangasho) 2022年8月22日
3D?アンリアル?何それ?美味しいの?清々しいほどの丸腰で挑む、伝説の体当たりルポ漫画、ふたたび!こちらから読めます→ https://t.co/BzWenzYoIG pic.twitter.com/BgoUQYZkDd
今年の2月に開催した、UE4 Manga Anime Illustration Dive Onlineの影響もあり、Unreal Engineの漫画需要は更に上がりつつありますね。
www.unrealengine.com
そのおかげで線画抽出のポストプロセスマテリアル、PPLineDrawingを使ってみたいという方が再度増えているようです。
実際に導入された漫画家さんの例。
・Unreal Engine 5の教室をPPLineDrawingで線画化
— 窓 口 基👽3巻発売中/窓 口 まい (@MADOguchimoto) 2022年8月26日
・CLIPSTUDIOPAINTをGlass2kでうっすら透過させて下書きしながらUE5の椅子とか机を動かしてキャラと合う感じに
・UE5のスクショをクリスタに持ってきてモノクロ化(白は透過)してそのまま背景線画として使う
って感じで1枚できた! pic.twitter.com/vqUFFloKq6
ただし、漫画家さんにはやはり導入方法がわからないという方も多く、簡単とは言え導入まで苦労する方もおられるかもしれません。
アンリアルエンジンを漫画背景につかう方法、まだ窓のようなアンリアルエンジンなんもわからん赤ちゃん向けの解説が少なくてなんもわからん アンリアルエンジン界のzenさん居てくれ
— 窓 口 基👽3巻発売中/窓 口 まい (@MADOguchimoto) 2022年8月26日
「さすがに今更ポストプロセスマテリアル導入の解説なんていらんだろ…」と思っておりましたがUE4からUE5になってこの導入についてを解説されている記事も少ないようなので、ここで改めてUE5版での導入手順の解説をしておこうと思います。
今回はUnreal Engine 5.0.3を用いて解説します。それでは早速いきましょう。
続きを読む