UnrealEngine4.20の新機能とUnrealStudio その9

UE4 for Vray (beta2)の続きです。早速9/5に「3D人」さんのニュースになっています。
そこでも今回のバージョンアップでの新機能が紹介されていますが、Beta2ではUE4のマテリアルのままレンダリングできるようになりました。
前回の連載でUE4でV-ray専用マテリアルを使いましたが、それはV-rayの細かいマテリアルのパラメータを使うときだけで良いということです。
今までだと、3dmaxで既にV-rayのマテリアルの設定がしてあるシーンをDataSimith変換して、UnrealStudioに変換すれば、そのまま全てV-rayマテリアルになっていて、新規追加したパーツだけ手動で設定の必要がありました。

前の連載で前のバージョンで出来なかったSketchUPのシーンを使います。

プラグインでDataSimith形式で書き出します。

UnrealStudio4.20を新規プロジェクト作成して、「空のレベル」から、書き出したDataSimith形式をインポートします。

こんな感じでインポートされます。カメラはあえて普通のを使ってみます。
それ以外にVrayLightDomeとVraySettingをレベルに出します。

アウトライナはこんなシンプルな構成です。

ツールバーのV-rayレンダーボタンをクリックします。

レンダリングの進捗はツールバーアイコンが緑のバーとなってかくにんできます。

とりあえず、最初のテストレンダリングはできました。
が、床や天井が表示されません。UE4のマテリアル全てがそのまま使える訳ではないようです。

UnrealEngine4.20の新機能とUnrealStudio その5

今週もCAD(Inventor)をUnrealStudioで変換する研究をしていきます。
 

小型のヘアドライヤーです。今までの例と違って曲面が多い製品デザインです。
一部にテクスチャーが設定されています。

データを例によってUnrealStudioへドラッグします。

フィレットを多く使った家電のCADデータも正しく変換されるようです。
色は正しいRGBでは変換されないようで、CADの材質も反映されないようです。
上の図はUE4で新規のマテリアルを仮に当てはめてみました。約1万7千ポリゴンのポリゴンですが、見栄えはとしては悪くないと思われます。

また、CADデータですからUV展開情報が無いのでテクスチャーは反映されません。テクスチャーがある箇所だけ別マテリアルにもなりません。

今回は、UnrealStudioでインポートした場合、標準で設定されるDataSmith_colorについて調べてみます。
下にあるペアレントが親になっていて、全てのDataSmith_colorはそのインスタンスマテリアルになっています。

SwitchParamという機能でテクスチャーをインスタンス側からON/OFFできる仕組みにしています。


「パラメータ」という上のツールをクリックで仮設定のテクスチャーが表示されます。カラーと、ノーマルと透明度の3つです。

UV座標がないのに均等にテクスチャーを割り当てる仕組みになっているようです。

メタリックとラフネスを加えてみます。カラーのパラメータも変えます。

金属らしい質感になりました。パラメータにしたので、個々に調整は可能です。

コンテンツブラウザにもEngineMaterialというフォルダがあり、基本的にこの素材を活用するようになっています。
これは普段はコンテンツブラウザには非表示になっています。

ここから床のマテリアルを使ってみます。

ドライヤーのマテリアルもアレンジしてみました。


マテリアルとオブジェクトを複製して、並べてカラーバリエーションを作成してみました。非常に操作はシンプルです。

さらに詳しくはマニュアルの「About the Datasmith Import Process」を見てみるのもいいでしょう。

UnrealEngine4.20の新機能とUnrealStudio その2

前回の続きです。その際はまだ4.20が正式リリースしてませんでした。
UnrealStudioも正式バージョンアップして、前回の新しいテンプレートのマニュアルができてました。

残念ながら本日時点では、日本語版はありません。
前回発見できなかった機能がありました。
スペースキーを押しっぱなしにしすると、メニューが出ます。

「X-ray Mode」といい、「Apply X-ray」でレントゲン写真みたいな表示になります。
「Isolate X-ray」で、選んだ部品以外がレントゲン写真になり、そのパーツだけを良く確認できます。

「Remove X-ray」で元の戻ります。

もうひとつ、アウトライナで「ProductViewer_Collector」という Actorを選んで、詳細の「Navigation Mode」をFlyingModeにできます。
これにより、いつものUE4のマウス操作やWASDキー、カーソルキーでの操作が可能です。
しかし、先ほどのレントゲンやパーツの移動などの機能がありません。


上の図の一番下に「VR-Previwe」のスイッチがあります。これでViveやOculusなどのコントローラーでパーツの移動や視点テレポート移動が使えます。
※「Unreal Studio Product Viewer Template」サイトより画像リンク引用

では、サンプルではなくオリジナルのパーツを使いたい場合はどうすればいいでしょうか?

テストとして、Coneのポリゴンメッシュをコンテンツブラウザにインポートします。もちろんDataSmithでCADデータや3dsmaxデータでもOKです。
注意点は、「ProductViewer」フォルダ内に入れないとダメです。この中のサブフォルダなどを作って階層化も問題ありません。

レベルに出したら、UE4を普段からお使いの方はお分かりかと思いますが「ムーバブル」設定します。

ProductViewerCollectorを再度選択します。先ほどモード切り替えの上の項目に、「IntactiveRoot」「TeleportSurfaceRoot」があり、「+」で追加できます。
「IntactiveRoot」は、分解したりレントゲンなどの機能を付ける親のActorです。
「TeleportSurfaceRoot」は、VRの際にテレポートする床の設定です。

「IntactiveRoot」をアウトライナから探し、Coneをドラッグして親子付けします。

これだけの設定で、このテンプレートの機能を使うことができるようになります。

では、実際にCADデータを使ってみましょう。

これはAutodesk Inventorのチュートリアルのデータです。
新しいプロジェクトを起動します。

コンテンツブラウザから「新追加」から、「…コンテンツパック」を選択

プロジェクトのテンプレートを追加します。

ImportCADを実行

CADデータのここではアセンブリファイルを読み込みます。関連するパーツは全て読み込まれます。

ここでポリゴンリダクションの設定などを行いますが、今回はそのまま。

こんな感に変換しています。以前もお話しましたが、軸はY=90を入れないとだめです。
当たり前ですが、車輪など複数あるパーツはインスタンスで、コンテンツブラウザには1つしかありません。また、CADの軸の拘束を配慮して、回転するもののピボットは回転軸に正確に合っています。

これをMayaにFBXで書き出してみました。

1万ポリゴンと余裕でVRで安心して使えるポリゴンになっています。ピボットが正しくなっているのが解ります。

ProductViewerCollectorをレベルに出します。

このテンプレートでは、PlayerStartを使いません。削除してOKです。
ProductViewerCollectorの位置がカメラになり、X+がカメラの前になるようです。

各パーツをムーバブルにします。

「IntactiveRoot」をインポートしたCADデータの最上階層にして、
「TeleportSurfaceRoot」を初めからある床にします。

なんと、これで完成です!以下、完成動画をぜひご覧ください。