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

前回は「4.19ではV-rayレンダーできない」という話でしたが、なんと先週末8/31に以下のメールが届きました。

V-ray for UE4がBeta2になった、とのことです。全く予想していなかったので驚きました。
さっそくダウンロードして、インストールします。まず、前のベータ版はアンインストールしますが。

ちゃんと4.20対応しているようです。これは嬉しいですね。

インストーラーを起動したところです。

特に説明には不要ですが、インストール中の画像が素晴らしいので載せます。

UnrealStudio4.20を起動して、プラグインを確認すると・・・

確かにV-rayが来てます。

新機能でしょうか、「V-ray Teleport Blueprint」というのが入ってます。「… VR Experience」とあります。
こちらのマニュアルから調べてみましたが、Mayaや3dsmaxで設定された複数カメラの設定がある「vrscene」をUE4に読み込んで、そのカメラでVRできる、という機能ということらしいです。
これは、このブログでもいずれテストしてみようと思います。

本来、V-ray for UE4はDatasmithプラグインで3dsmaxのV-rayシーンをインポートするか、Mayaなどで作った「vrscene」ファイルをインポートする際に使うものです。

単にSkecthUPのV-rayレンダーなら、そももそ正規プラグインがありますし、良いチュートリアルもあります。

ここではSkecthUPだけで建築・インテリアをVRコンテンツ・プラス、V-ray での高品位プリレンダーを両方作るのが目的です。

プラグインをUE4でONにするとこのようになります。これをクリックすると、V-rayのレンダリングスタートになります。
注意していただきたいのが、この後の基本設定をしないで、レンダーすると、UE4がクラッシュすることがあります。

今回は基礎編なので、その基本設定を理解します。まず、新規の空のレベルを出します。

コンテンツブラウザにIBL用にHDR画像をインポートします。なんでもOKです。

モードに図のように「V-ray Assets」が追加されています。
VrayLightDomeをレベルの原点に出します。

インポートしたHDR画像をDomeTexに設定しIBLにします。

モードからVrayPysicalCameraとVraySettingEnviromentをレベルに出します。

Settingはどこに置いても構いません。ツールバーのV-rayからSettingをします。

レベルに置いたVraySetting、VrayPysicalCameraを設定し、レンダー解像度やレンダーエレメントの設定を行います。

Vray Material Intanceをコンテンツブラウザから右クリックで作成します。
このマテリアルでないと、レンダリングされません。
V-rayのシーンをインポートすると、自動で3dsmaxで設定されていたV-rayマテリアルはこれに変換されます。

これをダブルクリックすると・・・

Material Intanceなのですが、Parent(親)がありません。これは3dsmaxなどインポートしてきた場合は自動で設定されていますが、ここでは、手動で新マテリアル作成する場合の方法です。

コンテンツブラウザの右下の目玉アイコンの「表示オプション」をクリックし、「エンジンのコンテンツ」、「プラグインのコンテンツ」のチェックをONにします。

非表示になっていたアセットが表示され、その中に、VRayMtlがあります。

これをVray Material IntanceのParentにドラッグします。

これでV-rayマテリアルをUE4で使えるようになりました。


ColorやRefrection、Nomalマップなど設定できます。

実験用にこんなシーンを作ってみます。

VrayPysicalCameraに切り替えます。
なぜかとても暗い画像になります。
これはビューポートの「表示」からポストプロセスをOFFにすると正しい明るさになります。


最後に「ライティングのみビルド」をしておきます。V-rayでライトマップは関係ないはずですが、やっておかないと正しく動作しません。

これでUE4でのV-rayレンダリングの基本操作ができました。次回、SkecthUPのシーンを入れて試してみましょう。

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

前回に引き続き、SkecthUpとUnrealStudioの連携をやっていきます。

実はこういうツールも出ています。


ベータテストですが、UnrealEngine4でリアルタイムでシーンを作り、それをMayaや3dsmaxなど使わず、そのままV-rayでレンダリングできる、というものです。昨年のSiggraph2017で発表されました。

では、SkecthUpの建築・インテリアの3DデータをUnrealStudioのV-rayでレンダリングできるのか?というのが今回のお話しです。

まず、「V-ray for Unreal」をダウンロードします。Chaos Groupのアカウントを作成すれば、すぐにインストーラーを入手できます。
もちろん、無料ではないのですが、お試しは可能です。


現時点でのUnrealEngineの対応は4.18と19のみです。

インストーラーを起動します。

やはり4.19しかできないようですが、インストールを続けます。

EpicGameLuncherが常駐しているとインストールできないようです。

ランチャーを終了して、インストールを続けます。

UnrealEngine4.19のプラグインは上のディレクトリに入ります。このフォルダごとコピーします。

強引にUE4.20のプラグインフォルダにペーストして、起動してみましょう。

プラグインマネージャーには認識されます。チェックONにしてUE4を再起動します。


プラグインのバージョンが違うので再ビルドの必要性の警告が出ます。


ビルドエラーが出てしまいます。やはりV-ray for UE4.19は4.20の互換性はないようです。

メーカーの対応を待たないとUE4.20では使えないようです。では、UE4.20のアセットを4.19にmigrate(移行)すればV-rayレンダリングできないか?を考えてみます。


今回のSkecthUPの実験のフリーデータはこちらのインテリアです。
上の画像のレンダリングはSkecthUPではないようです。

これをSkecthUPで開いた状態です。

前回ブログの手順に従って、UE4.20にDatasmithで変換します。
今回は裏ポリゴンの問題は無いようです。


UE4.19で空の新規プロジェクトを作成しておきます。
UnrealStudio4.20に戻って、インテリアのアセットを移行してみます。

関連するジオメトリなどのアセットが表示されます。いつも通りです。

ちゃんと4.19へ移行できたようです。

ところが行先のUE4.19を起動すると、空っぽです・・・


移行先のフォルダを見ると、ちゃんとデータとしては来ているのですが、UE4.19側で認識できないようです。

一つ上のフォルダ、ジオメトリだけのフォルダ、ジオメトリ1つだけ、と色々試しましたが、最初の状態と同じで変換されません。

どうやら、Studio4.20から付いた新機能でSkecthUPの変換をしているので、そのアセット自体は過去のUE4では読めない、ということが解りました。


では、強引にUE4.20のプロジェクトを4.19で開く、というのも試しました。

今度はちゃんと認識しました。

なんと、アセットをレベルに出すことができません。

ジオメトリ単位でもNGでした。
万策尽きた、という結論で、SketchUPは4.20以前では使えないようです。

しかし、失敗で終了なのではつまりません。

古典のサンプルですがLightRoomにSketchUPを組わせてインテリアのリアルタイムCGにしてみます。

LightRoomをUnrealStudio4.20のSketchUPプロジェクトに移行します。
このように過去に作ったシーンにSketchUPを組み合わせる、という例です。


LightRoomの壁など全部削除します。

SkecthUPのアセットをレベルに配置します。

ライトの位置、大きさなどをこの下手に合わせます。

Cineカメラを出します。

SkecthUPのマテリアルだと物足らない箇所にLightRoomにあるマテリアルを適応します。

いかがでしょう。あとはVRにするなり、シーケンサーで動画を作成するなど自由自在です。

結局、V-ray for UE4は今回はダメでしたが、次回再挑戦しますのでお楽しみに

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

しばらく機械CADばかりの連載だったので、ちょっと4.20からの新機能の「SkecthUpプラグイン」を使ってみようと思います。


SkecthUpはとてもシンプルで使いやすい3Dツールです。Mayaや3dsmaxはちょっと難しそう・・・という方、おすすめです。
建築・インテリア用ですが、これで家具や家電、車、アニメのロボットとかツワモノが多いのも特徴です。

まずはダウンロードしてインストールしましょう。
でもSkecthUp起動は、ちょっと待ってください。
UnrealEngineで使うためにはDatasmithプラグインをSkecthUpに入れないといけません。

EpicGameLuncherを起動します。上図の「Get」をクリックします。

プラグインのダウンロードサイトがここからできます。

このインストーラでプラグインを入れます。

では、SkecthUpを起動します。

1か月間のトライアルができます。

起動するとこんな画面です。ここでは操作法は省略しますが、ここの情報がおススメです。

右上の「3D Warehouse」をクリックします。

SkecthUpのアセットライブラリが表示されます。基本無料でダウンロードできます。

このアウトドアキッチンをダウンロードします。

「~.skp」ファイルをSkecthUpでOpenします。
そこでFile→Export→3Dmodelを実行します。

プラグインを入れたので、UrealDatasmithのフォーマットが選べます。

このように書き出しできました。

UE4studioを起動して、importDatasmithをクリックして、SkecthUpファイルを選択します。

インポートできる項目のチェックが入るのはいつも通りです。

インポート成功しました。画面奥のCubeが新規レベルの床ですから、そこが原点です。

上の図はオリジナルの画面で、左上のRGBのラインの交点がSkecthUpの原点なので、インポートされた3Dデータのグループの座標は正しく変更されています。


左側の箱は元データにもあり、正確に変換されています。
・・・と言いたいところですが、何かおかしいです。

各パーツのポリゴンが裏側になっているようです。
 
椅子など一塊でパーツになっていないようで、移動や再レイアウトは厄介な状態です。
白いボールがいっぱいありますが、これは各パーツごとにActorがあるので「Play」すれは見えなくなります。気になる場合は「g」キーを押せば消えます。

マテリアルは全て「SkecthUpMaster」という親のインスタンスで作成されています。

SkecthUpMasterを開くとこんな感じです。前回のドライヤーのようにパラメータのSwicthで切り替えできるようになっているだけで、複雑ではありません。

そこで両面レンダリングを設定します。一番右のノードを選択して「TwoSided」をOnにするだけです。この変更で全てのマテリアルインスタンスが両面レンダリングになります。

PlayerStartやライトを移動して完成です。


いかがでしょうか?お手軽に建築・インテリアのリアルタイムCGが作成できます。
さらに詳しくはオフィシャルサイトをご覧ください。

それ以外にもSkecthUpの3Dデータは非常に豊富です。


車も・・・


ニューヨークの街全部・・・


東京スカイツリーもあります。

さらにガンダムもあります。「3D Warehouse」検索してみてください。
いろいろUnrealEngine4のコンテンツとして活用ができるでしょう。