UNREAL FEST 2023 TOKYOにて、Unreal Engineを活用した走行デザインレビューシステムをSUBARU様と共に紹介
2023年6月2日~3日、Unreal Engineの公式大型勉強会「UNREAL FEST 2023 TOKYO」がベルサール秋葉原にて開催されました。当社は株式会社SUBARU様(以下、SUBARU)と共に、共同開発した走行デザインレビューシステムに関して講演させていただいたので、その内容をレポートします。
SUBARUが抱えていた自動車デザインの長年の課題
本セッションのスピーカーとして、SUBARUからテクニカル3Dアーティスト 宇木 孝太郎氏、同社デジタルモデラー/CGデザイナー 天野 幹久氏、加えて当社シリコンスタジオの新規事業開発部 担当部長 向井亨光が登壇しました。
▼セッション紹介ページ
https://unrealengine.jp/unrealfest/2023/program/day1-b-03/
今回のテーマとなる走行デザインレビューシステムの目的について、宇木氏は「ずばり、自動車本来の姿でのデザイン開発です」と断言しました。
従来の自動車デザイン開発では、粘土で制作した実物大のクレイモデルに塗装や艤装を施し、「止まった」状態で評価や意思決定を行っていました。しかしこの手法では、街中を走行する姿や走行中の運転席から見る姿など、自動車本来の状態を見ながらの評価・検討が行えません。これが長年の課題でした。
それを受け現在は、多くの自動車メーカーがCGやVRなどを活用し、自動車本来の姿のビジュアライズに挑戦しています。
SUBARUでも、マッチムーブを応用した実写合成から海外の街並みをフル3Dで再現するなど、さまざまな試みを行い、ビジュアライズによる走行状態でのデザイン評価を標準的なプロセスとして定着させてきました。
しかし、一方でアニメーション(動画)に関してはあまり明るいスタッフが少ないという課題があり、自動車モデルを実車のように3DCG空間で走行させる術をSUBARUは模索する必要があったのです。
走行アニメーション作成のCG環境構築にUnreal Engineを採用
そこで着目したのがUnreal Engineです。この背景には、デザイン評価のための走行アニメーションを作成する時には2つの課題があると天野氏は語られました。
1つ目は車両の動きを再現する難しさ。走行車両の動きを再現するには加速や減速、曲がる時の動きを再現する必要があり、加えて走行環境(路面など)の影響も考慮すると、その処理は非常に複雑になります。
2つ目は走行用に適した広いCG環境が少ないことです。静止状態で評価するためのHDRI環境は数多くあります。一方で、走行用の広大な環境、特にダイナミックな動きに欠かせない起伏や高低差のある環境の作成は、難易度が高く時間もかかるため、準備するのが難しいという実情があります。
そんな中Unreal Engineには、車両が走行可能な広大かつ高品質なグラフィック・素材が豊富にあり、さらにゲームエンジンならではの物理演算で自動車走行時の再現が期待できます。また機能やテンプレートが充実しており、プログラマーでなくても触りやすいブループリントなどの機能がそろっています。天野氏も「とても魅力的に感じました」と当時の感想を述べていました。
早速天野氏らはUnreal Engineを活用し、開発中の車両の世界観を評価するための絵作りを始めました。具体的には、Unreal Engineのレンダラーとしての利用、VRテンプレートを活用してのインテリアデザイン確認や座席からの視界確認、そしてVehicle Templateを差し替えてゲームパットコントローラー操作での車両走行デザイン検証などです。
しかし、デザインデータを走行させる動画は作れたものの、天野氏らは「何か物足りない」と感じたそうです。本当にリアルな走行状態を再現するには、走行で巻き上がる粉じんや軌跡に残る轍(わだち)など、まだ足りない要素が残っていました。これらの要素を動画に取り込むにはUnreal Engineをさらに使いこなす必要があります。そこでSUBARUは、Unreal Engineの知見を有するシリコンスタジオと組み、走行デザインレビューシステムを共同開発していくことを決められたのです。
複数ビューで複数車両の走行デザインを手軽に確認
シリコンスタジオでのプロジェクトは向井亨光がリードしました。現在すでに2つのフェーズでプロジェクトが進んでおり、まずはフェーズ1を解説します。
フェーズ1でSUBARUから出た要望は以下の3つです。
1)ダイナミックな車両の動き
2)2台併走させて比較検討
3)既存のデザインデータ活用
まず「ダイナミックな車両の動き」では、走行環境となるダイナミックなワインディングロードを作成しました。SUBARUの想定に合わせたカーブや高低差となるようにリテイクを繰り返し、完成に至りました。加えてスタティックメッシュに対しては、コリジョンを使用せず、自動車の挙動アニメーションを手入力で設定しました。これはUnreal Editorでスタティックメッシュをスケルタルメッシュに変換する方法がなかったためです。
2つめの「2台併走させて比較検討」では、走行経路の中央(センターライン)にスプラインを設定し、その左右を走行パスとしました。走行パスを地形に沿わせる必要があるため、車両が道路にめり込むことがないようにスプラインをラインスケープに紐付けて、ランドスケープの形状に上下方向を沿わせるようにしたのです。また7台のカメラを切り替え可能にしました。カメラポジションはUnreal Editorで変更可能です。
最後の「既存のデザインデータ活用」では、Unreal Engineに付属しているDatasmithを活用して既存データをUnreal Engineに読み込ませました。なお、SUBARUのデザインデータを読み込んだ際にマテリアルの再現性が低いところがあったため、Datasmithを拡張して再現性を高めています。
フェーズ1の成果として天野氏はこう語ります。
「テンプレート化されたプロジェクトデータに車両データを取り込むだけで、すぐに走行アニメーションで車両のデザインを確認できるようになりました。エディタ上で走行させることができるため、動画として書き出す作業や時間を必要とせず、あらかじめ車両周辺に設定された追従式のカメラで、即座に複数のビューからの確認が可能になりました」
またUnreal Engineについて天野氏は「評価したい車両を事前にサブレベルに登録しておけば、容易に車両を切り替えできて、異なる車両の評価を即座に実施できます」と評価します。
アニメーションのリアリティーや汎用性を追求
しかしフェーズ1では課題も生まれました。利便性や効率性のためにテンプレート化したため走行環境やアニメーションが固定し、汎用性に欠けてしまったのです。また、アニメーションを手付けにしているためリアリティーの追求が難しく、さらに車両データが大きく全体的に質感やパフォーマンスを高めにくい、といった新たな課題も生まれました。
そこでフェーズ2では、汎用性を高め、よりリアリティーが高い挙動や表現を設定できるようにすることを目標にしました。また、両社の作業分担を見直し、SUBARU側で商品性に即した走行環境(荒野)の制作と車両データの最適化を行い、当社はプログラム部分に注力することにしました。
フェーズ2の主な作業内容は次の通りです。
1)車挙動のクオリティー向上
2)空気感の演出
3)データ取り込みの効率化
これらに加えてUnreal Engineのバージョンアップ(UE4.27からUE5.0.3へ)も行いました。
まず1つめの「車挙動のクオリティー向上」に関しては、Chaos Vehicleを活用しました。フェーズ1で作成したようにスプラインを走行パスとして、挙動再現にChaos Vehicleを使用しています。また、必要なパラメーター(スプライン情報、アクセル量、ブレーキ量、ステアリングを曲げる量、ブレーキランプ、粉じんの発生など)を外部から制御できるように、Chaos Vehicle Templateのブループリントを修正しました。
加えて、フェーズ2では走行シーンでコリジョンを仕込み、Chaos Vehicleが挙動の計算を行うようにしています。フェーズ1ではコリジョンを使用できなかったためランドスケープの形状に上下方向を沿わせる機能が必要でした。しかしフェーズ2ではChaos Vehicleが上下方向も計算するため、カーブや速度の微調整が容易です。気軽にトライ&エラーを試せるようになりました。
フェーズ2における走行は、まず走行シーン(レベル)を開き、スプライン(走行パス)を引き、車両をスプラインに紐付けて、シーケンサでアクセルやブレーキなどを指定する、という流れになっています。
Chaos Vehicleはリアルタイムで挙動を演算するため、フレームレートが遅いと挙動再現が不自然になります。フェーズ1で実現したような再生機能や動画出力機能は維持したいため、Chaos Vehicleの挙動をアニメーションとしてベイクすることにしました。そのためフェーズ2では物理挙動をリアルタイムに再現して走行するモードと挙動をベイクするモードの2種類を用意し、リアルな挙動の再現と動画出力を両立させています。
2つめの「空気感の演出」では粉じん・轍・砂煙を再現しました。タイヤから発生する粉じんに関してはNiagaraを使用し、車両の速度に応じて粉じん発生量を自動的に計算しています。色、濃さ、発生範囲を調整可能にしてさまざまなシーンで使えるようにしました。なお、粉じんは3種類のエフェクトを重ねることでリアリティーを向上させています。
轍にはディスプレイメント使用し、凹凸を表現しました。基本的にはタイヤの接地具合で発生度を計算しています。走行路の柔らかさに応じて轍の発生具合を変えられるように、デフォルトの深さも調整可能にしました。
砂煙に使用したのもNiagaraです。車両の走行とは別に、周辺の風で舞う砂煙はシーンの空気感を演出する重要なエフェクトです。これに関しても色や濃さを調整できるようにしました。
最後の「データ取り込みの効率化」では、フェーズ1で使用したDatasmithの代わりに、スタティックメッシュで出力されたfbx形式の車両データを挙動再現可能なスケルタルメッシュに変換する外部プログラムを開発しました。ボディやタイヤなどをプログラムが認識できるような命名規則で作成されていれば、自動変換が可能です。
フェーズ1と比べ、フェーズ2では非常にリアリティーが高い表現を実現できました。宇木氏からは「まだ課題はあるものの、自動車本来の姿でのデザイン評価を実現できました」とご評価いただいています。
エクステリアに関しては、車両姿勢や外部環境に応じて変化するハイライトやリフレクションを確認できるようになりました。インテリアについても、外部環境による造形・視認性・操作性への影響を検討できるようになっています。さらに、アニメーション制作コストの削減とリソース最適化で、元々の強みである造形力の向上にも寄与できています。
最後に宇木氏からUnreal Engineについて、「いろんなジャンルのアーティストやエンジニアがアイデアを発揮できるのが魅力です。自動車業界にはデザイン以外の用途でもさまざまなソリューションやバリューをもたらしています」とのコメントがありました。さらに「今後はUnreal Engineをハブにさまざまな業界と交流を深めていくことで、より良い車作りにつなげられるよう、よりバラエティー豊かな取り組みにつなげていきたいと思っています」と述べられて講演は締めくくられました。
当日の会場は立ち見がでるほどの盛況で、聴講された方からはたくさんの質問もいただき、1つ1つ回答させていただきました。
当日のすべての講演スライドは以下のURLよりご参照いただけます。
残念ながら当日聴講できなかった方にとって、このレポート記事がゲームエンジンを活される上での一助になれば幸いです。
当社デザインレビューソリューションに関する情報は以下のWebページをご参照ください。
https://tech.siliconstudio.co.jp/solution/design-review/