UnrealEngine4.22&UnrelStudioでレイトレーシング

3月に入りましたので新連載です。いよいよ4.22のバージョンが出そうですね。
本日の時点でPreview4です。あの「レイトレーシング」ができるバージョンです。

インストールします。

いつもは正式版リリース後にStudioが出るのですが、今回は並行して開発しているようで、Preview版でもStudioを試せます。

 
いつものDatasmithインポートのツールバーに新規にKhronos Groupの「GLTF」が追加されました。glbもインポートできるようです。

GLTFについてはこちらをご覧ください。WebGLでは標準的なフォーマットにしていく方向だそうで、実はこのブログでは昨年6月に記事にしています。
Vtuberを作成するVRMフォーマットもGLTFを元にしています。

脱線しますがプラグインといえば、Substanceですが、4.21からちょっと設定の仕方が変わりました。


コンテンツブラウザで右クリックから、「Substance」というメニューが出ます。

すると、インストールのダイアログが出てリンクをクリック。

EpicGamesLuncerへ飛んでインストールする、という操作です。
最初からLuncerを使う従来の方法から何故こうなったか?謎ですが・・・

残念ながらStudioと違い、こちらは4.22にはまだ未対応でした。

さて、4.22Previewを起動してもそのままでは例トレーシングは使えません。
まず、nvidia RTXのグラフィックボードを搭載して、Windows10にする必要があります。
「RTXって?」という方は弊社のCGworldの記事をご覧ください。
グラフィックボードのドライバーも細心版にするのをお勧めします。
この連載ではRTX2080Tiを使ってます。


次に必要なのが、プロジェクト設定です。

「skin」で検索して、エンジンから「Support Counpute SkinCashe」をONにします。

次に「Rayt」で検索して、「Ray tracing」をONします。

一旦、UE4を再起動し、また終了します。
面倒なのですが、起動用のBatファイルを作成する必要があります。

メモ帳などのテキストエディタで「~.bat」ファイルを作成します。

UE4.22の起動アイコンのプロパティから、リンク先をコピーします。


メモ帳のbatファイルにペーストし、後ろに「 -dx12 -raytracing」を入れて保存します。
このBatファイルをダブルクリックで起動すると、レイトレーシングが使える状態になります。


この連載では何回か出てきましたマクラーレンのフリー素材モデルを配置します。
車体の赤のメタリックとラフネスを鏡に設定してみます。

いつもの椅子と床のテクスチャーがガッチリ映り込んでます。シャドウもレイトレーシングだと思われます。

SSRの反射ではできない、画面の外にあるものもちゃんと映り込みます。レイトレーシング、成功です。

透明テクスチャーもちゃんと反射します。


パーティクルは駄目のようです・・・残念

設定のダイアログは?というと残念ながら何もないようです。

Play中に「@」キーを押してコマンドライン「r.raytraceing.?? 値」と入れます。

Preview4では上の数だけあるようです。詳しくは次回以降に検証したいと思います。

 

UnrealEngine4-PiXYZプラグイン④

UnrealEngine4-PiXYZプラグインの連載も今回で最終回です。
前回インポートまで試しましたが、そのデータの状態を見てみましょう。

まずは、UV展開です。

こちらがPixyzでインポートした場合のチャンネル1です。綺麗に展開されていますが、オーバーラップしまくってます。ちょっとこれは残念です。


これがライトマップ用のチャンネル2です。ちゃんとオーバーラップ回避できているようですが、細かいUVが大量にできてしまっています。これも残念・・・

次はリダクションのチェックです。LODを自動生成してくれているので、0番は約3万ポリゴン弱です。綺麗な仕上がりになっています。


LOD1は一番減らす設定で書き出したので、2575ポリゴンになってます。

インポート時に4段階に設定できるので、約30,000~2,500で可変可能になると思われます。カメラの距離で自動切換えしますので、リアルタイムレンダリングでパフォーマンス向上します。またリアルタイム用と映像制作用で使い分けしてもいいでしょう。

次は、UnrealStudioの変換を見てみましょう。

この連載で何回も解説していますが、CADデータはUVがないので、O版は真っ更です。 ライトマップ用のチャンネル1は整然となっていますが、細かすぎる感もあります。
これはPixyzの方が良い仕上がりになるような感じがします。

という訳で2月のPixyz-UE4の連載はこれで終了です。

UnrealEngine4-PiXYZプラグイン③

前回はPiXYZプラグインでインポートまでおこないました。
今回は、その後の設定や状態を確認してみます。

 
プラグインがONだと上のようにメインのビューポートやスタティックメッシュエディタ、ブループリントエディタのツールバーなどあちこちにPixyzのアイコンが追加されます。
インポート後に再設定が可能です。


リダクションの再設定、


LODの再設定、


UVサイズの再設定が可能です。

今回は、UnrealStudioとインポートの差をチェックしてみます。

アウトライナでそれぞれ読み込んだ状態です。Pixyzはブループリント内で各パーツを内包しています。UnrealStudioではActorの下の階層に自動で配置してくれます。


コンテンツブラウザではブループリントとメッシュ、マテリアル、マップがフォルダ構成を含め自動で生成で生成されます。


UnrealStudioのインポートです。こちらはMeshのフォルダ1つです。右のアイコンはいつものUnrealStudioの管理用です。マテリアルは付きません。

Pixyzで変換したメッシュのリストです。32パーツです。

UnrealStudioの場合37パーツです。CADデータの分析の仕組みが異なるようで、分割している箇所が違います。特にUnrealStudioではフロントバンパーがボディパーツと一体化してます。(どちらが優れている、という話ではないです)

両モデルをレベルで並べてみました。左がPixyzで右がUnrealStudioです。

別アングルからです。マテリアルは同じものを設定しています。
UnrealStudioの方でパーツの堺に滲むような表示があります。これはこの連載でも何度も出てきましたが、CADデータはUV座標がないので、UE4のライトマップ生成をすると、こういう表示になります。
これも解説済みですが、そのためのUnrealStudio専用マテリアルを設定すれば問題ありません。

次回は、そのUVがそれぞれどうなっているのか?ポリゴンリダクション、LODがどうなっているのか?をチェックします。