2015年11月6日

フォトグラメトリー アセットの作成方法 - 完全性のための不完全性

作成 Min Oh

ゲームで使えるフォトグラメトリーのアセットを UE4で作成する方法

自然には、不完全なものが集まって調和がとれている美しさがあります。3D 空間でフォトリアルな現実の物体を作るのは非常に難しい作業です。現実の物体であるため、誰もが見て、実際に触れ、場合によってはニオイを嗅いだり、口にしたりしたことだってあるかもしれません。つまり、3D アセットが現実の物体に十分に似た要素を持たなければ非常に目立ってしまうことがあります。3D で現実の物体を寸分たがわず似せて作ろうと悪戦苦闘するかわりに、フォトグラメトリ データから 3D アセットを簡単に作ることができます。最近のコンピュータは、3D スキャン データを妥当な時間内に作成する十分な処理能力があり、3D スキャン データの詳細度は非常に高いため、デベロッパーがハイエンドの 3D に対応したスキルを持っている必要もありません。さらに、3D のすべてのデータはスキャンされているため、非常に編集しやすくゲームで使えるアセットとして UE4 に簡単に取り込むことができます。

このチュートリアルでは、フォトグラメトリ アセットの作成、および UE4 の物理ベースのシェーディングのマップを備えたゲームで使える低ポリゴン メッシュの作成について説明します。

このチュートリアルはシリーズ記事として以下の 3 つから構成されます。
1.    フォトスキャンをどのような場合に使うか / 写真の機材およびヒント
2.    写真の再構築 / ライティングの除去 
3.    ゲーム アセットに対応したモデル / UE4 の設定

このチュートリアルが、UE4 でフォトリアルなゲーム アセットを作成したい方々のお役に立てたらと思います。

フォトスキャンをどのような場合に使用するのか

どのようなタイプのアセットがフォト スキャンに適しているでしょうか? 複数アングルで写真を撮ることができるものならどのような静的オブジェクトでもスキャンすることができます。既にエピックのオープン ワールドの Kite デモでご覧になったかもしれませんが、石、大きな岩、崖、地面、樹皮などはフォト スキャンに適した物体です。こうした自然の要素は多くの美しいディテールを持ち、特有の自然な形状を持っています。あらゆるアセットはクリーンアップして 3D に変換するために、それぞれ異なる方法を必要としますが、基本的なワークフローを習得すれば内外のほとんどの静的オブジェクトに適用することができます。

以下はオープン ワールドの Kite デモで使用したフォト スキャン オブジェクトの例です。こうしたアセットはマーケットで無料で入手できます!


撮影機材とヒント

セットアップ/機材

カラー チェッカー

ライティング条件は対処が難しいものです。外でライトを制御できない場合は特にそうです。このカラー チェッカーはアセットに一貫性を持たせ、正しい色にするためのものです。カメラの種類が代われば 違う方法で色を解釈し、シーンのライトの色に対処する必要があるため、画像をキャリブレーションする手段としてカラー チェッカーを使用することが重要です。我々は持ち運びしやすいコンパクト サイズの X-Rite ColorChecker Passport を使用しました。

グレイ/クロムのボール

こうしたボールは光の強度 (グレイのボールを使用) と方向 (クロムのボールを使用) を判断するためのものです。この 2 つの値は、3D 空間で同じライティングの条件を再現し、シャドウのデータを取得し、オリジナルのテクスチャのライトを取り除くために使用します。このプロセスについては後で説明します。

Roundshot VR Drive 

光はひとつの強度値を持つひとつの温度 (色) で表されるものではありません。条件や光源に応じて様々な温度があり、光はあらゆる場所で跳ね返ります。こうしたデータをすべて集めるには、ハイダイナミックレンジ (HDR) の背景ショットを撮るのが理想的です。HDR の撮影には、いくつかの方法があります。パノラマでハイダイナミックレンジ合成 (HDRI) を撮影するために自動化プロセスを使用しました。カメラは限られた量の光強度しか撮影できないので、すべてのライティング情報を撮影するために様々な露出に設定されたカメラを用いて同じアングルでいくつかの写真を撮らなければなりませんでした。こうした一連の画像は、HDR 画像を作るためにマージされます。グレイのボールとクロムのボールの光の強度と方向のデータと合わせて HDR の背景のショットはライトを除去するプロセスでも使用されます。

三脚 / 一脚

再構築目的で写真を撮るうえで非常に重要なのは、物体に完全に焦点を合わせ続けるということです。三脚 / 一脚は安定して写真を撮るのに役立ちます。画像のシャープさはとても重要であり、写真が常に同じ露出になるようにカメラのアパーチャや被写界深度はロックされます。これにより、正確なテクスチャが生成されて再構築が可能になります。

フルサイズ (Full frame ) カメラ 

Canon 5D MK III を複数のレンズで (8mm f/3.5, 24-70mm f/2.8L) 使用しました。フルサイズ カメラでは、低 ISO 感度でのダイナミックレンジでノイズ レベルが低い素晴らしい画像を撮ることができます。

低 ISO

十分に明るい環境で撮影している場合は、画像のノイズ量を最小限にするために、カメラの ISO 設定をネイティブ設定にします。レンジは 1,000 から 2,000 ルクスの範囲内になるようにします。これは、典型的な曇りの日であり、理想的です。 十分な明るさにならない場合は、ISO を高く設定する必要がありますが、ノイズが生じます。画像にノイズがあると再構築時にノイズが加えられることになりますが、これは望ましくありません。快晴の日よりも、曇りの日に写真を撮った方が良いでしょう。快晴の日はオブジェクトにくっきりとした影ができるからです。写真の影の量はできる限り少なくします。そうでないと、シャドウの除去に悪戦苦闘することになります。さらに、lit (ライティング有り) とシェーディングされたエリアとの間では色が一致しなくなることもあります。従って、撮影に出かける前に天候をチェックして事前に計画を立てるようにしてください。結論としては、写真の再構築で良い結果を得るには「シャープで均一にライティングされている写真」が必要です。

ここまでで Kite デモのアセット撮影に使用した機材とセットアップについて説明してきました。UE4 の威力を示すためにデモを作成し、可能な限りのディテールを撮りたかったのです。とはいえ、我々が用いた装備がなければアセットのフォトスキャンができないわけではありません。小型カメラや携帯電話でも複数のアングルでシャープな写真を撮影可能であればフォト スキャンはできます。

写真撮影

エリア全体そしてオブジェクトのディメンションをカバーするために可能な限り数多くの写真を撮ります。経験則としては、あらゆるアングルでピンぼけ写真がないように常に必要数よりも多くの写真を撮るようにします。ピンぼけ写真は再構築対象から外して使用しないようにしてください。使用すると再構築でエラーが発生したり、テクスチャがぼやけます。リアルなアセット作成を追求する場合は、複数アングルから可能な限りクリーンな写真を用意します。

まとめ

この記事では、フォトスキャンの再構築、装備、セットアップ、写真撮影について検討しました。フォトスキャンを行うことは実物のディテールを捉える簡単かつ効率的な方法です。最初は難しく思えるかもしれませんが、コツをつかむとこの方法は膨大な時間の節約につながり、非常に素晴らしい結果を得ることができます。このチュートリアルを通して、画像を撮るベストプラクティスがどのようなものであるかを理解し、それが独自の PhotoScan 3d アセットを作成する際のお役に立てばと思います。

次回の投稿では、Agisoft PhotoScan での写真の再構築とテクスチャのライティング除去のワークフローについて説明します。今後もお楽しみに!