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は今回はダメでしたが、次回再挑戦しますのでお楽しみに

Redshift & Mayaで始めるGPUレンダー その4

今回はRedShiftレンダーのProxyを使ってみます。
まずは、簡単なシーンで仕組みを解説します。

お馴染みティーポットにRedShiftMaterialのJade(ヒスイ)を設定したシーンです。
同じモデルを大量に配置したシーンを作る場合、当然処理が重くなります。そこでProxyを利用します。

Proxyにしたいオブジェクトを選択して、RedhShift→Proxy→Export□します。

Optionで埋め込むデータの細かい設定ができますが、今回は省略します。
一番下のSequenceは連番モデルでアニメーションを書き出せます。

拡張子は「~.rs」になります。


Mayaは新規作成し、RedhShift→Proxy→Create□します。

先ほどの「~.rs」を選択します。

アトリビュートにredshiftProxyという項目があるCubeが出れば成功です。

RedShiftでレンダリングすると、CubeはちゃんとTeapotになってます。

アトリビュートで、DiesplauyModeをPreviewMeshにすると、Teapotの表示になります。また、Filenameで参照するrsファイルをここで決めていますので、変更することもできます。

これをインスタンスで50×50=2500個にします。

Cubeですから3万1千ポリゴンでしかありません。

レンダリングすると全部ティーポットになります。計算時間は、HD1080でわずか11秒です。
同じことをProxyを使わずにインスタンスだけでやると、16,386,300ポリゴンになります。

これを応用して、大規模な森林を作るチュートリアルです。
Mashも使って、山のポリゴンの起伏に合わせてProxyに登録した5タイプの木をランダムに配置して、軽くしています。

MayaのMashは、ボーンデジタル様の「MASH チュートリアルムービー」がおススメです。ぜひ一緒にご覧ください。