[UE4] Unreal Engine 4.26で360°動画を簡単に作ってみよう!!有料アセット編

有料アセットを使用しています。動作は検証時に確認しましたが、購入は自己責任でお願いします!
スマホで見るときもYoutubeアプリから動画を見ると360°確認できます!!




約1年半前、まだUE4.22のころにUnreal Engine 4.22 で360°動画(パノラマ静止画)を簡単に作ってみよう!!という記事をアップしました。
記事はこちら

なぜかずっとアクセスがかなりあって(海外から)違うやり方もあるので紹介しようかと。

今回はもっとお手軽に360°動画を作るためにお金をかけます!!
こちらの有料アセットがあれば、いとも簡単に360°動画が作れてしまいます!!!
https://www.unrealengine.com/marketplace/ja/product/camera

なんとお値段19449円……………………..高い…..

まずは、購入を検討するにあたって参考になりそうな注意点だけお伝えしときます。

  1. かなりマシンスペックが要求される。
    ちなみに検証PCはCorei7-9700K メモリ32GB RTX2080superです。
  2. 軽いシーンでは8000×4000までは計算がかかったが、リアルタイムレイトレーシング環境などの重いシーンではビデオメモリが足らずクラッシュしてしまった。
  3. 360モノラル以外にも複数のstereo書き出しにも対応している。
  4. 動作の確認はできたが、お高い買い物なので自己責任でお願いします。

こちらがこのアセットのフォーラムです。
https://forums.unrealengine.com/unreal-engine/marketplace/1595263-camera-360-system-blueprints
購入検討の参考にしてください。

ではここから作り方説明。

1、今回はこちらのUE4のArchvisテンプレートを使っていきます。
プロジェクトファイルを任意の場所に作ってください。

2、マーケットプレイスで今回使用するアセットを購入します。
https://www.unrealengine.com/marketplace/ja/product/camera

①購入したらEpic Games Launcherのライブラリ→マイダウンロードからCamera360を探す。②プロジェクトに追加ボタンから、先ほど作成したプロジェクトファイルに追加します。

3、追加に成功していれば画像のようにContent BrowserにCamera_360のフォルダが出てきます。

4、Content Browser→Cramera_360→Blueprints→Camera_point_360Camera_Rec_360をシーンにドラッグドロップします。

5、カメラモーションを作る。シーケンサーを使います。
①画面上のタブCinematicsからAdd Level Sequenceを押して任意の名前testというレベルシーケンスを作成します。(名前は何でもいいです)

②作成したLevel Sequenceを開いて画面左上のカメラボタンを押す。
するとcamera CutsとCine Camera Actorが作成されます。
Cine Camera Actorの名前はCine Camera Actor_testにしておきます。(名前はなんでもいい。わかりやすくなるように名前を付ける)

③カメラにモーションをつけるやり方はこんな感じ

詳しくは公式のドキュメントを。

6、Camera_point_360Camera_Rec_360の設定
①Camera_point_360を選択してTarget All Transfromの項目に先ほどシーケンサーで作成したCine Camera Actorを追加する。

②Camera_Rec_360を選択してDefaultの項目の中にあるActivate Camera?Aspect Ratio 2:1のチェックを入れる

7、レベルシーケンスの設定
先ほど作成したtestというレベルシーケンスを編集します。
①左上の緑ボタンTrackというところからActor To Sequencerを選んでCamera_point_360を追加

②追加したCamera_point_360のTrackからAttach→Cine Camera Actor_testと選択

③同じくCamera_point_360のTrackからTransformを追加。

④Camera_point_360を選択してDetails→Transform→Location,Rotationの値をすべて0にする

8、シーケンサーで書き出し
あとはRender Movie Settingから書き出す。
そのとき360°モノラルなのでResolutionはかならず2:1の比率にしておく
今回はwidth2000 Height1000

以上。。これでうまくいくはずなんですが。。。。。。

これでうまくいかない場合は・・・・

シーケンサーの一番上の項目のCameraCutを選択してDELで消してみてください。
うまくいくはずです。

おまけ。高解像度8000×4000で書き出したいとき

ここでUE4.26最新バージョンの利点がでてきます。

UE4.26からMovie Render Queueが強化されました。
Movie Render QueueにはHigh Resolutionという高解像度レンダリングのための機能があります。
詳しくは公式ドキュメントを見てください。

Movie Render Queueの項目に関してはこちらの動画、EGJオンラインラーニング・UE4.25 レンダリング新機能紹介の47分あたりからわかりやすく説明してくれてます。ありがたい!!!

もしシーケンサーの書き出しでビデオメモリなどの問題で高解像度のレンダリングに失敗したときは是非試してみてください!!!!!!

今回はこれで終わりです。
有料アセットを使用しての360°動画の書き出し方法でした。

まだまだUE4に関しては未熟なワタクシですので間違っていたりもっといいやり方がある場合は是非Twitterのほうからご教授ください!
https://twitter.com/wanimation2910

よろしくお願いします。

ありがとうございました。

【UE4】いつも忘れがちなWireframe Renderingの方法。

時々訪れるワイヤーフレームでレンダリングしなければならない時。
シーケンサーで設定したカメラカットをワイヤーフレームでレンダリングしたいだけなのに….
ホントたまにしかないので、すぐ忘れてしまう。。
毎回ネットで調べて設定することに。。。。

なので今回こそは忘れてもすぐ見れるように書いておくことにしました。

毎回いろいろなやり方でやっているのですが、ホント単純にWireframeで出したいとき、自分的に一番簡単なやり方を今回は載せときます。

Lit
Wireframe

まずUE4のViewModeにはいつものLitの他にBrush Wire frameなど、いろいろなViewModeがあります。(他のものは自分で試してみてください)

まあこれをシーケンサーなどでMovieレンダリングすればいいのですが、やり方説明します。

1、レベルブループリントを開く。

2、Event BeginePlayにExecute Console CommandをつないでCommandに
{Viewmode Wireframe}と入力する。

3、シーケンサーでMovieRenderingする。

以上!!!!

ワイヤーフレームでレンダリングしないときは外しておけばいいだけ。

こんな簡単なことをいつも忘れてしまうなんて。。。。。。。。。。。

もう忘れません。

他にもいろいろやり方はあると思うけど、今回は自分的に一番わかりやすく簡単だと思ったやり方の紹介でした。



[UE4] カメラのあおり補正を実装してみよう!!

今回はUE4で建築CGには必須といっていいカメラのあおり補正を実装してみたいと思います。
検証した結果、3dsmaxなどのフィジカルカメラのような完璧なあおり補正ではありませんが、使い方次第で需要はあるかと思います。(試した結果、完璧な機能・やり方ではありません。。。)
見上げた状態でカメラを配置すると左のような絵になるかと思います。
ただこれだとArchiVizには都合が悪い時があるため補正をかけて、右の絵のようにしたいところです。

 

いろいろ調べた結果、pluginをひとつ使うやり方が一番手間が少なかったので、今回はそのやり方を書きます。

まず今回、使用したpluginはこちら。
https://www.unrealengine.com/marketplace/ja/slug/fantastic-perspective

今回の目標はあくまでシーケンサーを使って補正のかかった絵を書き出すということです。

今回もまた、詳しい内容は省きます。。(詳しい人に聞いてください。。)

1. 購入した「ArchViz Camera (Fantastic Perspective)」pluginを有効にする。

2. プロジェクト設定→基本設定の[Local Player Class]をFantasticPerspectiveLocalPlayerに変更する。

3. CineCameraを作成してブループリントクラス作る。
① CineCameraを作って右上の赤枠の部分からブループリントクラス作成。今回は名前を「CineCamera_ArchViz」にしました。

② イベントグラフからブループリント組んでいきます!! それでは時飛ばし!!!!!

こんな感じです!!!詳しい手順はpluginを制作された方が、とてもわかりやすい動画をUPしてるのでそちらを見てください!!!

3. あとはシーケンサーに作成した「CineCamera_ArchViz」を読み込んで書き出し!!

① CineCamera_ArchiVizのトラックから Tilt Auto を出す。

チェックをいれるとあおり補正がかかります!

② ここでひとつ問題点としてはシーケンサーのビューではあおり補正がかかりません。。。
シーケンサーのAuto Play にチェックをいれて再生ボタンで確認すると無事にあおり補正がかかってるはずです!!
シーケンサーのムービーレンダリングでも問題なく、あおり補正かかって書き出されます。

こんな感じでとりあえず補正出来るはずです。

4. 問題点。
① シーケンサーの再生であおり補正をリアルタイムに確認したい。 知ってる方教えてください!!!
② 
今回のやり方はあくまでも、カメラのあおり角度と反対の値を取得するというやり方なので完ぺきではない。
③ もっとよいやり方知りたい! 知ってる方教えてください!!!

ただ、UE4で建築CGの静止画を制作したいという方には刺さるやり方だとは思います!!
使いみち次第で!!!

ココ違う!とか、もっといいやり方を知ってる方がいましたら是非、TwitterからDMください。

よろしくお願いします!!!!!!

[UE4] Unreal Engine 4.22 で360°動画(パノラマ静止画)を簡単に作ってみよう!!

UE4 があればこんな360°動画がお手軽に出来ちゃいます!!ってことで自分のメモ用にまとめます。
間違いやこれ違うくない!?ってことがあれば教えてください!!!
まずは、サンプル。

今回は、マーケットプレイスで購入したこちらのシーンでやってみたいと思います。

 

 

1,  360°キャプチャーカメラの準備
① 新規ブループリントクラスを作成。名前をとりあえず[360_camera]とかにする。

 

 

 

 

 

 

 

 

② [360_camera]を開いてコンポーネント追加から SceneCaptureComponentCube を追加。

 

 

 

 

 

 

 

③ TextureRenderTargetCube(キューブの描画ターゲット)を作成。

 

 

 

 

 

 

 

 

今回はレンダリング解像度を4096 x 2048pxにしたいので、SIZE X の数値を2048に設定。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

④ 先ほど作成した360_cameraのブループリントに入って、SceneCaptureComponentCubeのtextureにTextureRenderTargetCubeを入れる。

 

 

 

 

 

 

 

360_cameraをシーン内に配置するとTextureRenderTargetCubeがこうなる。

 

 

 

 

 

 

 

 

ただ、ポストプロセスが無効なのとこのままでは書き出せないので、これを任意のPlaneオブジェクトにプロジェクションして書き出しになる。

2,  360°キャプチャーのための準備
① 新規ブループリントクラスを作成。名前はとりあえず[capture_camera]とかで。

② コンポーネントを追加からcameraとアスペクト比2:1でUVがフィットされているStaticMeshを追加。
・アスペクト比2:1でUVがフィットされているStaticMeshの作成はどんな方法でも自由です
・今回は3damaxで4000×2000の板オブジェクトを用意しました。

 

 

 

 

 

 

 

 

③ 新規マテリアルを作成。名前は適当にcapturematあたりに。
こんな感じでマテリアルを作ってください。(詳しいことは調べてください。。。)

 

 

 

 

 

 

 

 

 

 

④ 先程作ったブループリント[capture_camera]の2:1アスペクト比のStaticMeshのマテリアルを、今作ったcapturematマテリアルに変更。
⑤ [capture_camera]をシーンの適当な部分に配置するとこうなるはず!
(ポスプロが適応されている場所においてください)

 

 

 

 

 

 

 

 

⑥ [capture_camera]を開いてcameraの設定を変更
・Projection Mode をOrthographic に変更。(直交投影にします。)
・Ortho Width を2:1アスペクト比のStaticMeshのWidthに変更。(今回は4000×2000なので200に設定)
・Aspect Raito を2.0に変更。(アスペクト比のことです。)

2,  シーケンサーで360°書き出し
① シネマティクス→レベルシーケンスを追加から新しくレベルシーケンスを作成。
詳しいことは公式のこちらを!http://api.unrealengine.com/JPN/Engine/Sequencer/QuickStart/1/index.html
② ムービーレンダリング設定でResolutionを4096×2048に設定して書き出し。

 

 

 

 

 

 

 

成功すれば、こんな感じで書き出せます!!!!!

 

 

 

 

 

 

 

 

 

カメラを動かした360°動画を作りたければ、一番初めに作った[360_camera]をシーケンサーに読み込んでトランスフォームで動きをつければOK!!

とりあえず、これでうまくいくはずなので試してみてください。
また、間違ってる部分やこっちのほうがイイなどあれば是非教えてください!!!!!!!!!

今回はヒストリアさんのホームページと@pafuhana1213さんのご教授をもとにチャレンジしたものです。
[UE4] 360°動画の作り方 http://historia.co.jp/archives/4653/
ありがとうございました。