Search Unity

本記事で取り上げる見事な映像作品は、小さなチームがごく短期間で制作したものです。CAD データインポート、事前準備、PiXYZ による最適化、アセットストアパッケージ、そして HDRP のリアルタイムレンダリングによって、Unity でこの作品がどのように作られたかをご紹介します。

本作品の制作目的

Unity では先月、新しい自動車産業向けの新しいオファーについての発表を行い、Unity AutoTech Summit @ Unite Berlin を開催しました。このキックオフの一環として、HD レンダーパイプライン(HDRP)のプレビュー版を使用して Lexus LC 500 をフィーチャーしたティザー映像を制作しました。これは、自動車産業向けの新しい機能によって実現可能な忠実度の高いグラフィックスを実際にお見せすることを目的として作られたものです。

ティザー映像(パート I)の公開以来、その見事なビジュアルの実現方法に関して多くの質問やコメントが寄せられました。そこで今回は、Unity Industry Bundle – PiXYZ Studio and Unity Pro の重要な部分に関してと、忠実度の高いビジュアルがどのように実現されたかをご説明したいと思います。また、パート II の動画も先日公開されました。パート II では車が都市や自然の様々な環境の中を走り抜けています。本記事では、この変化していく環境とライティングの設定の詳細と、景観に使用されたアセットストアパッケージの一覧も掲載します。

制作チームのご紹介

これら両編の Lexus LC 500 映像作品の制作責任者は、Unity のシネマティクス部門のリーダーである Adam Myhill、そして Unity のクリエイティブディレクターである Marc Cinq-Marsです。

マテリアル関係、また HDRP 周りの技術的サポートは、テクニカルアーティストの Camille Rail と Dany Ayoub、そしてソリューションエンジニアの Luc Vo Van が行いました。また、シーン環境に関しては Veselin Eframov の協力を得ました。

(左上から時計回りに)Marc Cinq-Mars、Adam Myhill、Dany Ayoub、Luc Vo Van、Camille Rail

メッシュに関して

まず、Unity でメッシュを扱う場合、リアルタイムでの高パフォーマンスを実現するためには、最適化で GPU パフォーマンスを向上し、CPU を浪費するドローコールを最小限に抑えなければなりません。逆に、フォトリアリスティックなビジュアルを実現するには、元々の CAD モデル(この場合は Lexus)の曲率やキャラクターの線、ジオメトリの詳細を厳密に保持するメッシュが必要です。PiXYZ Studio による強力なテッセレーションアルゴリズムは、(たとえメッシュが極端に間引かれている場合でも)CAD からのパッチデータを使用してジオメトリのテッセレーションを最適な形で行い、非常に高画質なサーフェスを実現します。

データ準備のプロセスは、弦からの最大偏差(Maximum Chordal Deviation)や(詳細を保持するための)三角形間の最大角度(Maximum Angle Between Triangles)などのいくつかのパラメーターを使用して制御可能です。メッシュの修復や、法線のコヒーレントな方向付け、UV 展開、テクスチャの投影などの操作を行うための各種アルゴリズムが提供されています。

また、PiXYZ Studio を使用するとプロダクト構造とメタデータも維持することができます。ダウンストリームでの使用にはこれは重要です。PiXYZ の Python スクリプティングと併用すれば、データ準備のプロセスを自動化することができます。Lexus LC 500 モデルの場合、車のソースデータは良く整理された状態でした。これは、Lexus と Light & Shadows の 効率的な CAD データ準備のおかげで、インポートとデータ準備のプロセス全体が簡潔明瞭なものになったからです。

HDRP が大活躍

プロジェクトを開始した当初から、レンダリングの質を一段階レベルアップさせるために HDRP を使用することは決めていました。HDRP は、一元的かつ一貫性のある新しいライティングを使用して、物理ベースレンダリングでリアリスティックなビジュアルを実現するために開発されました。(HDRP についての詳細は、Sebastien Lagarde によるブログ記事『高画質レンダーパイプライン ― ビジュアル品質に重点を置いたパイプライン』をお読みください。)HDRP によって大幅にアップグレードされた要素の一つはライティングのシステムです。色温度調整・物理ユニット・物理ベース減衰を用いたリニアライティングの使用が、結果的な画質の向上に寄与しています。

パート I の制作時は Unity のスクリーンスペースリフレクション(SSR)はまだ開発途上でしたが、パート II の制作開始時にはテスト使用が可能な段階になっていたため、当然これを使用することにしました。この技術はキューブマップリフレクションプローブなどの他の方法よりも精細なリフレクションを作成できるからです。SSR によって、ティザー映像パート II の全体的な見た目を更にリアリスティックなものにすることができました。今回の目的は、今までの限界を押し上げるような本格的な車の宣伝映像を制作することであり、そのためにはライティングと反射に従来を超える表現性能が必要だったので、まさに完璧なタイミングであったと言えます。

スクリーンスペースリフレクション(SSR)による表現

マテリアルとライティング

HDRP は複雑性の高いマテリアルに対応しており、サブサーフェススキャッタリングなどの光の散乱をより良く制御できます。本プロジェクトでは、HDRP デフォルトの Lit シェーダーに、塗装のクリアコートを追加して使用しました。塗装の色は実際の LC 500 の色と入念に一致させており、様々な色温度のライティングを存分に見せるのに理想的なシルバーを選んでいます。車両内部には、新開発のフォトメトリ処理でキャプチャー・測定したマテリアルをいくつか使用しました。ベルリンで発表した通り、すべてのユーザーの皆様にお使いいただける多彩なマテリアルを今年中にアセットストアにて公開予定です。

両作品のクリエイティブコンセプト

説得力のある動画には高画質データが必要ですが、適切なクリエイティブコンセプトも欠かせません。カメラのパスと角度に関して制作に携わった Marc Cinq-Mars と Adam Myhill のおかげで、LC 500 の美しい曲線とドラマティックな反射が際立ち、この車の魅力が堪能できるヴィジュアルになっていると同時に、Unity の新しい HDRP の性能もはっきりと見せつける結果となっています。全てのアニメーションは Timeline を使って作成され、フレーミングと動きに関しては、ショット毎にカスタムプロファイルを用いてポストプロセッシングを実行しているのに加え、Cinemachine カメラが使用されています。

Timeline と Cinemachine により、カメラ間のブレンドが簡単に行えました。

パート I は、ただ単純に色々な角度から車を見せるというだけでなく、あたかも車に息吹が吹き込まれて旅に連れて行ってくれるような、緊張感と謎めいた雰囲気のある、心を掴む作品を目指しました。尺の短い親密感のある動画を作りたかったので、クローズアップを使用して、多くを見せ過ぎないようにして謎めかしながら、音楽のテンポをゆっくりと上げていく手法を採りました。車そのものが豪華で「輝かしい」のですが、そこに様々な高ダイナミックレンジ画像(HDR)の環境が映し出されることで、更に(文字通り)「輝き」を増しています。音楽も(特に Timeline を使ってビートに合わせてカット・同期することで)全体をまとめる重要な働きをしています。

パート II では実際に走る車を見せていますが、単純に「通過する」だけにはしたくありませんでした。単純に「様々な視点から Lexus を見せる」というだけでなく、それを都会・自然の様々な環境の中で、さらに様々な時間帯の異なるライティングの中で行うことで、本格的な車の宣伝映像を制作することは、チームが自らに課したチャレンジでした。例えば現代的な都市の夜明け、暗い高速トンネル、山や森林地帯などの環境を車が走り抜けます。この景観に富んだ旅に視聴者を連れて行くために、アセットストアから数多くのパッケージを使用しました(全一覧は本記事の最後に掲載しています)。

スポットライトとヘッドライト

適切なライティングは、ビジュアル品質向上の鍵を握っています。ライティングのプロセスは、ショーの主役(つまり光に照らされるオブジェクト)を理解することから始まります。Lexus の場合、主要な反射をしっかり作り出して車の特徴的な形状・曲線を際立たせることが重要でした。パート I では主に車庫の環境で複数の長方形エリアライトを使用して車体の曲線を強調していました。異なる色温度の光で変化を持たせており、終盤ではいくつかの異なる環境の反射を用いて、それが車の見た目をどのように変化させるか確認できるようにしました。

パート I をよく見てみると、例えば、LC 500 の再度ウィンドウから森林が見えます。視聴者の注意が車から逸れないようにするため、環境はライティング用のみに使用し、シーン内にはレンダーしていません。ライティングは主に高解像度 HDRI で作成されています。車内のライティングには 2 つの全方向性ポイントライト(うち 1 つはアニメーションする)を使用し、映像の最後近くでスペキュラー反射が Lexus ロゴに当たるようにしました。パート II でも、車体パネルやテールライト、運転席側のミラーの裏側、そしてヘッドライト、走行灯にもリアリスティックなリフレクションが見られます。

洗練されたレンダリング

最適な画質に調整するために、フレームは Unity から 4K でレンダーしてから Davinci Resolve で 1080p にダウンスケールしました。当然のことながら可能な限り多くの方に快適にご視聴していただける動画をお届けしたかったので、ダウンスケールされたバージョンでの公開となりました。

ポストプロセッシングにはスクリーンスペースアンビエントオクルージョン、ブルーム、カラーグレーディング(ACES トーンマッピング使用)、被写界深度、Temporal アンチエイリアシング、および少々の色収差を使用しました。実は、このポストプロセッシングのカラーグレーディングは割と軽度でした。新しい HDRP レンダラーは高性能なので色や露出に関する作業は少なくて済みました。

エディター内でのポストプロセッシングスタック v2 によるカラーグレーディング

HDRP のロードマップ

結果の仕上がりは満足のいくものとなりましたが、私達にはまだ取り組むべきことがあります。リアルタイムにおけるビジュアルの忠実性を最大限に引き上げるために、Unity では引き続き尽力していきます。HDRP はまだプレビュー版ですが、このプロジェクトから学んだ多くのことを今後の HDRP 開発に活かしていきます。例えば、強いスペキュラー反射を起こすマイクロファセットサーフェスの、強度の高い光源に対する反応の仕方を改善しています。これ以外にも様々な改良を行っています。新しい機能や更なる高度なマテリアルの追加によって、近い将来、更に高い画質が実現される予定ですので、どうぞお楽しみに。

ありがとうございます

この映像の制作は、Unity 内部だけでなく、外部の協力を得てチームワークによって実現されました。美しい車をデザインされ、本プロジェクトへご協力くださったトヨタ自動車株式会社様および Lexus に感謝申し上げます。また PiXYZ Studio を開発された PiXYZ Software の方々、そしてデータ準備のプロセスに協力くださった Light & Shadows チームにもお礼申し上げます。最後に、貴重なお時間を割いてコメントやご質問をお寄せ下さったコミュニティの全ての皆様に、深く感謝申し上げます。ありがとうございました。
自動車・輸送機器産業での Unity の使用
Unity のリアルタイムレンダリングプラットフォームと PiXYZ によるクラス最高の CAD データソリューションの使用は、開発の進化を加速し、チームの大きな力となるでしょう。あなたの素敵なアイデアとプロダクトに息吹を吹きこみましょう!詳しくはこちらをご覧ください。

技術的な概要

  • PiXYZ Studio
  • 単一のポイントライトによる車内のライティング
  • Unity 2018.2b1(スクリーンショットには 2018.2b8 を使用)
  • 4K でレンダーし、1080p にダウンサンプリング
  • HDRP レンダラー
  • Asus ノートPC で 1080p でリアルタイムレンダリング(GeForce GTX 1080 使用)
  • ポストプロセッシングスタック v2 ― スクリーンスペースアンビエントオクルージョン、ブルーム、色収差、カラーグレーディング、被写界深度、ビネット、モーションブラー、Temporal アンチエイリアシング
  • HD 1080p で 80~140+ FPS(ショットによる)
  • Cinemachine でカメラアニメーションと被写界深度を制御
  • クリアコートシェーダー
  • エクステリアは HDRI ライティング
  • スクリーンスペースリフレクション(パート II のみ)

Part II で使用された Unity アセットストアパッケージ

13 コメント

コメントの配信登録

コメント受付を終了しました。

  1. Jeff Sargeant

    7月 18, 2018 1:45 am

    What plugin was used to actually record the video?

  2. So Cool Content.

  3. TRIYA GHOSH

    7月 7, 2018 2:07 pm

    I’ve heard that Unity is good for paper 2d games, and the unreal game engine is good for real 3d games. I asked to the Windows Support they told me that. What should I choose for 3D games?

    1. Edward Martin

      7月 9, 2018 6:01 pm

      Hi Triya, plenty of great 3D games are made with Unity. If you want to try out 3D in Unity and explore the capabilities of HDRP, download the Book of The Dead environment, which is now available for free on the Asset Store.

  4. Amazing. But how are those reflections done? In the image that says “Screen Space Reflection (SSR) in action” there’s a lamp post reflected but that lamp post is not visible in camera view. As far as I know, SSR can’t reflect what’s outside of view. Is that right?

  5. Philip Walker

    7月 4, 2018 1:21 pm

    Amazing.

  6. It’s not realtime if it’s rendered.

    1. you can render something in realtime,
      any realtime game engine has a rendering component.
      rendering does not perse mean its rendered offline on a farm at multiple hours per frame.

    2. it renders in HD resolution at 80+ fps on an Asus laptop with a Geforce 1080. That’s what we built it with. For the final video, we ‘rendered’ a 4K video and downsampled it to HD for a bit more detail and smoothness. So yes, it’s real-time and it is rendered.

  7. I believe in an earlier comment you said that you were going to release your material shaders, and light setup. Is this no longer the case?

    Also, this is what many people want for VR. Can the same be achieved with LWRP?

    1. Looks like they used standard HDRP features (Clearcoat shader included) for this demo. I don’t think LWRP has built in clearcoat shader support though, you might have to do that yourself.

    2. Looks like they used standard HDRP features (Clearcoat shader included) for this demo. I don’t think LWRP has built in clearcoat shader support though, you might have to do that yourself.

  8. Vladislav Ivanchuk

    7月 4, 2018 6:27 am

    when you shake cam in video, it feels like Lexus not stable on road – like bad car :)