11.4K Views
August 09, 19
スライド概要
2019年8月4日に行われた「出張ヒストリア! ゲーム開発勉強会2019」にて発表させていただいたフォトグラメトリによるアセット制作事例です。
制作物の動画を確認の上、ご覧ください。
https://www.youtube.com/watch?v=Zzaad1jln2Q
イベント詳細
https://historia.co.jp/archives/12449/
講演者:
小林 大輔 (背景アーティスト)
以下、セッション概要より抜粋。
1人1ヶ月、自由なテーマで作品制作が行えるヒストリアの制度、COLORSプロジェクト。
今回は技術検証を兼ねて、手持ちカメラによるフォトグラメトリを行い、日本庭園の作成に挑戦しました。
フォトグラメトリとは、複数アングルから撮影した写真を解析して3Dモデルを生成する手法です。
撮影方法、3Dモデル化の工程、UE4での基本的なマテリアル、シーン構築まで実際にアセットを制作してみて、得た事や失敗した事など、お話しさせて頂きます。
株式会社ヒストリアは、Unreal Engine専門のソフトウェア開発会社です。ゲーム事業とエンタープライズ事業、2 つの軸でソフトウェアの企画、開発を行っています。また、Unreal Engine の学習を目的とした作品制作コンテスト『UE5ぷちコン』や、『出張ヒストリア! ゲーム開発勉強会』を主催、技術ブログを毎週更新など、Unreal Engine コミュニティを盛り上げる活動も行っております。
COLORS プロジェクト、 フォトグラメトリに挑戦してみた! 株式会社ヒストリア 背景アーティスト 小林大輔
自己紹介 以前 ゲーム/遊技機/映像/その他 現職 背景アーティスト/モデラー ヒストリア 2018年7月入社 3DCG 3DCG 3DCG PS1~2 遊技機/映像/ PS4・Swich プリレンダ その他色々 アーケード ゲーム映像 ゲーム
COLORSプロジェクトとは 1人1か月 好きのものを作れる制度 今までの事例はゲーム モデラーなので背景アセットの制作になる (UE4マーケットプレイス販売を想定) ダンジョン&バークラー スペースペンギンズ フォトグラメトリで!チャレンジしてみたい。 ナイトフライト
「フォトグラメトリ(Photogrammetry)とは」 直訳すると写真測量 様々なアングルで被写体の写真を撮り専用ソフトで解析し 立体の3Dデータにする手法の事
「フォトグラメトリ(Photogrammetry)とは」 現在は、スタジオで数百台のカメラで人物などを同時撮影して3DCG アバターを作成したり、ドローンで空撮したものを解析、地形や巨 大な建築物を作成したりと、さまざまな撮影方法がある。 今回は手軽なカメラ一台による手持ち撮影でのフォトグラメトリに なります。
動画紹介 作成した動画をご覧ください。 https://www.youtube.com/watch?v=Zzaad1jln2Q&t=7s
フォトグラメトリで作成したもの 岩
フォトグラメトリで作成したもの 竹垣(たけがき) 筧(かけひ) 水鉢(みずばち)
フォトグラメトリで作成したもの 燈篭(とうろう) 井戸 砂利
フォトグラメトリで作成したもの 紅葉(もみじ)※幹のみフォトグラメトリ 竹 ※幹のみフォトグラメトリ
フォトグラメトリは行わなかったもの 日本家屋、(畳・襖・瓦・こけら葺きの屋根)等
フォトグラメトリの向き不向き 向いて いる ざらざらした物(ラフネスが高い) ディティールが細かい物(模様が多い) 向いて 鏡や、金属などの反射が強い物 いない 細すぎる物 透明の物(水、ガラス) 動くもの(風で揺れている木の枝葉等)
失敗例 透明の物のスキャンのチュートリアルはこちらが参考になります。 https://www.3dscanstore.com/blog/3d-scanning-reflectiveobjects 車の撮影、黒い金属ボディーは反射が強い メッシュ化した際に凹凸や、穴ができる 窓ガラスも穴空き状態 → 回避策は艶消しスプレーでコーティング! カメラ 位置 写真 メッシュ
制作の流れに沿って順に以下をお話しして 最後にまとめます 企画 撮影 フォトグラメトリ アセット化 目的 機材 許可 撮影方法 カメラ設定 現像 ソフトウェア Reality Capture工程 High/Lowポリ ベイク テクスチャ デライト アライン 点群 メッシュ テクスチャメッシュ ペイント UE4 基本マテリアル コンストラク ションスクリプ ト スプライン シーケンサー まとめ 総括 何得た?
企画(目的) 目的 企画 フォトグラメトリ技術検証 背景アセットの制作 (マーケットプレイス販売想定) UE4の基本機能の習得 出張ヒストリアで公表
機材 ■ カメラ:EOS RP (フルサイズミラーレス) 選んだ理由 ・センサーが大きい (解像度が高い・ダイナミックレンジが広く高感度耐性も高い) ・軽量 (APSCの一眼レフと同じくらいの重さ) ・バリアングル液晶で様々なアングルで撮影しやすい ・比較的安い(ほかのフルサイズ機と比べると) ボディー単体約13万円 ※弱点もあるのでよく考えて購入すべし ■ レンズ:RF35mmマクロのみ ■ PL(偏光)フィルター:5000円以上 (安いと効果が薄い) ※予備バッテリーが必要
機材 ポール:Velbon Polepob 少し高いところから撮影する際に使用 手元にスマホを固定し、リモートで撮影 燈篭、竹垣、大きな岩で使用 ポールにした理由 ・三脚は庭園や神社など禁止の所が多い ・自撮り棒的な撮影をする許可を得た ・手元を安定させ高所撮影が可能 (一脚や、自撮り棒と比べると安定している) ・伸ばせば自分の影を映さず撮影可能 ※重いカメラ、ポールの伸ばしすぎは注意!
撮影許可 庭園を管理している東京都に電話で交渉、メールで撮影許可用の企画書添付
撮影許可 ■苔を探し回り、自宅近くのお寺で苔が綺麗な庭を発見、 直接交渉して撮影許可頂きました。 『美しい苔ですね!』が大事。 許可をいただいても、撮影マナーは大事! 周りの人に配慮が必要。 三脚禁止、フラッシュ禁止の所は多い。
岩の撮影方法 画像は実際に撮影した岩のgifアニメです。※この例は露出は固定せず撮影後に調整しています。 3周目さらに斜め上 中間にも数枚 1週目、斜め上 2週目、真横 初めの一枚目と最後の一枚が重なるようにループ する形で撮影したほうが良いらしい。 (必須ではない)
岩の撮影方法 画像は実際に撮影した岩の画像です。 ※番号順に撮影しています。(講演ではgifアニメでしたので連番画像にしました。)
撮影方法 ■ 360°を低中高で1周~3周(多いのは6周)回って撮影。 岩など、被写体から近距離の場合20~30cm間隔で撮影。 燈篭など、被写体まで距離がある場合は一歩づつ(肩幅くらい)移動して撮影した。 ■ 画像に60%~80%重なりが必要 ■ 同じ位置からPAN撮影しない、カメラ位置を変えて撮影する ■ 他の物体の影が落ちていない ■ おすすめは曇りの日・日が落ちた直後(マジックアワー) ・明るい日の日陰の中(直接光の影が無い)
砂利の撮影方法 枯山水の砂利はアマゾンで購入して撮影。 ・白川みかげ砂利 3分(3-12mm) 20kg(12.5L) 広げると大体1.5m四方に。平、波、山の三パターンを撮影。→波は未使用。 116枚 107枚(未使用) 70枚
砂利の撮影方法 実際に撮影した写真のgifアニメ 低、中、高の三段階 さらに中心に寄って一回転 周辺も寄りで一回転 心配だったのでもう一回転 今回は砂利のサイズは1.5m四方だが、 プロジェクトのテクセルに合わせて 広範囲に撮影したほうが良いかも。
砂利の撮影方法 実際に撮影した写真 (講演ではgifアニメでしたので 連番の画像にしています。) 6周回って撮影しました 計116枚です
合計枚数 ■ 実際に映像で使用しているアセット 多いもので340枚(燈篭) 、少ないもので70枚(竹垣) 全10アセット合計1,178枚 ■ 他、アセット化までいかなかったもの、保険で撮影したもの 合計1,014枚 ◼ リファレンス・テクスチャ用・検証用合わせると、 今プロジェクトの合計撮影枚数、約3,000枚
カメラの設定・レンズ 解像度 4160×6240 6240×4160 最大解像度 横長、縦長どちらでも問題なし ファイル形式 RAW+jpeg RAWのみ キャノンのCR3というRAW形式はwindowsのサムネ イル表示に対応していない FastStone Image Viewerというファイルビューアーを 使用 焦点距離 (画角) 35mm 単焦点マクロレンズ ズームは未検証 露出F値 (しぼり) 8~11くらいで固定 初めは絞り優先で撮影していたが、 途中からマニュアルに切り替えた ホワイトバランス 固定 RAWで撮影するなら、数値でもなんでも良い ISO 0~8000 おそらく形状には影響しないがテクスチャには 影響するので上げ過ぎないほうがいい シャッタースピード 1/30以下 手振れしないギリの設定、 手振れは大敵なのでできるだけ早いほうが良い
カラーチェッカー アマゾンで購入¥11,413 X-rite (エックスライト) ColorChecker Passport (カラーチェッカー・パスポート) KHG3421-PP-N ※今回厳密には行っておらず、一部のアセットは未使用です。 カラーチェッカー・パスポートを撮影 現実の色を再現するプロファイル作成 18%グレーでホワイトバランスの修正
カラーチェッカープロファイル まずPhotoshopでRAW画像を開き、Dng画像として保存 ColorChecker Camera CalibrationでDng画像を読み込むと自動でプロファイルが作 成される Photoshopのプロファイルに作成したプロファイルを指定
カラーチェッカープロファイル ■ ニュートラルグレイ18%下列左から4番目 ・ホワイトバランスの修正が可能 ・現実の色を忠実に再現できる。 30
RAW現像 1、ホワイトバランスツールでニュートラルグレイ18%下列左から4番目を クリック 2、色温度微調整 1 3、シャドウとハイライト 4、全画像に設定を同期 2 3 4
フォトグラメトリソフトウェア 3つのソフトを試した 3DFLOW社 CapturingReality社 Agisoft社 3DFZephyr RealityCapture MetaShape Steamで買えば月々約4千円 スタンダード版 2万7千円 代理店で買えば日本語マニュア ルが付いてくる 買切り約1万5千円 写真50枚までの無料版で モデル書き出しが可能 360度カメラ対応? フォトグラメトリ用のソフトウェアの比較はこちらが参考になります。 https://styly.cc/ja/tips/photogrammetry_discont_photogrammetry/
RealityCaptureを採用 ■ RealityCaptureを選んだ理由 1例ですが、難しい条件の燈篭アセットを計算させたときに他のソフトでは手前 の葉っぱが奥の岩に描かれてしまう現象があったのですが、リアリティーキャ プチャではその現象が起きなかった。(修正するのが嫌だった) ・一ヵ月のプロジェクトなら買い切り2万円より月4千円のほうが安い。 ※英語版しかないが、そこは頑張るしかないと思った。
RealityCapture工程 写真読み込み後 ワンクリックでテクスチャメッシュ生成まで可能! → アライン メッシュ 点群生成 生成 テクスチャ カラー化 メッシュ 生成 エクスポー ト
RealityCapture工程 アライン 点群生成 アラインの失敗を減らす EXIFによるカメラのグルーピング 誤ったカメラとレンズの推定を防ぐ(特にターンテーブルスキャンにおすすめ) 画像のオーバーラップ設定をLOW センサー感度を設定(ディティールの少ないものはhigh等)
RealityCapture工程 アライン 点群生成 Cドラ圧迫防ぐ キャッシュの位置を別のドライブに移動 Align Imagesを押下
RealityCapture工程 アライン 点群生成 点群とカメラの位置が生成されます。
RealityCapture工程 必要なところに絞る アライン 点群生成
RealityCapture工程 Calculate Model Normal Quality メッシュ 生成 Triangles 16.5M (16,479,084)
RealityCapture工程 Colorizeで色を付けます カラー化
RealityCapture工程 テクスチャメッシュを生成 テクスチャ メッシュ 生成 Texture Resolution 16,384 x 16,384
RealityCapture工程 objでエクスポートします。 エクスポート Texture Resolution 8092 x 8092
RealityCapture工程 Simpleメッシュ化( RealityCapture内でのリダクション)が可能 30秒 Triangles 16.5M (16,479,084) Triangles 100.0K (1,00,000)
ゲーム用アセット化工程 基本的に近年のゲームはローポリにハイポリ形状を転写するなどして、 ノーマルなどのテクスチャで複雑なディティールを表現しています。 今回は転写用のハイポリにフォトグラメトリで作成したものを使用します。 ハイポリ作 成 ローポリ・ UV作成 ベイク テクスチャ 作成 UE4イン ポート UE4設定
ハイポリ・ローポリ作成 ZBrushにインポート IDにVertexColorをベイクしカラーテクスチャとして使用 ベイク用ハイポリ 不要なサブツール削除 地面削除して裏面作成 物によってはスカルプトで凹凸を修正 ベイク用のハイポリとして使用 ダイナメッシュ化 プロジェクション等 リメッシュ リダクション Substance Painter xNomal ベイク用 ローポリ Maya UV展開
ハイポリ・ローポリ作成 ZBrushにインポート IDにVertexColorをベイクしカラーテクスチャとして使用 ベイク用ハイポリ 不要なサブツール削除 地面削除して裏面作成 物によってはスカルプトで凹凸を修正 ベイク用のハイポリとして使用 ダイナメッシュ化 プロジェクション等 リメッシュ リダクション Substance Painter xNomal ベイク用 ローポリ Maya UV展開
Simplify RealityCapture Substance Painter ベイク用ハイポリ書き出し Simplify書き出し xNomal カラーテクスチャ Simplify書き出し ベイク用 ローポリ Maya ベイク用ローポリ 軽いから Mayaでリトポロジーしやすい UV展開
ベイク・テクスチャ ■ 基本的にハイポリからローポリへのベイクはSubstance Painterを使用 ・岩の裏や、うまく撮影できなかったところは合成方法をパススルーにしてク ローンツール使用(Vキーでコピー元を指定)
ベイク・テクスチャ ■ ラフネス カラーテクスチャやオクルージョン等から、必要な要素をチョイスし加工する
デライト ■ Substance Painter 、 Substance Designer、Maya、 Photoshopなどでも 工夫すれば、陰影を消去することは可能 ■ 最近発表されたAgisoft Delighterを使用してみたのでご紹介します。
デライト ■ Agisoft Delighter 無料 明るいところを黄色、 影を青で塗る Shadow scale mapを追加 カラーに残したい黒い箇所を緑で塗る
デライト ■ Agisoft Delighter 結果 黒いシミは残したまま、陰影を除去
UE4での基本的なマテリアル ■ マスターマテリアル 葉・苔、以外の全アセットに使用
UE4での基本的なマテリアル ■ テクスチャ カラー マスク(noSRGB) ノーマル ディティールノーマル
UE4での基本的なマテリアル ■ ベースカラーの調整 ・彩度の調整 Desaturation ・色相の変更 HueShift ・コントラストの調整 CheapContrast_RGB
UE4での基本的なマテリアル ■ ラフネスの調整 強度Multiply(掛け算) ラフネス メタル オクルー ジョン
UE4での基本的なマテリアル ■ ノーマルの強度の調整
UE4での基本的なマテリアル ■ ノーマルの強度の調整 Flatness -1 Flatness 0(default) Flatness 1
UE4での基本的なマテリアル ■ ディティールノーマル 岩をスケールで変形させたときに、不自然さを緩和させるために細かいノーマ ルを合成する
UE4での基本的なマテリアル ■ ディティールノーマル Flatness 1(default) DitailNormal無し Flatness 0.5 Tile 10 DitailNormal弱、少 Flatness 0 Tile 2 DitailNormal強、多
UE4での基本的なマテリアル ■ エミッシブで灯篭の光。 マスクマップのアルファチャンネルで光る箇所を指定
UE4での基本的なマテリアル ■ 苔のマテリアル
UE4での基本的なマテリアル ■ Fresnelの調整 スターターコンテンツの苔マテリアルを参考に少し変えて作成しています。 Fresnel無し Fresnelあり Fresnelありベース暗く
UE4での基本的なマテリアル ■ WorldPositionのXと Yの座標をUVに使用することで 別れた別々のメッシュでもつながってみえる(テクスチャはシームレスの為) 複数メッシュを重ねて作られた苔山
UE4コンストラクションスクリプト ■ 砂利のメッシュをタイリングが目立たないようランダムに配置! 極め本Appendix_B参考に。 https://www.borndigital.co.jp/book/6359.html
UE4コンストラクションスクリプト ■ メッシュの配置、変更、ランダムに回転、間隔の調整などができます。 (講演では動画でしたので、切り取った静止画にしています。)
UE4コンストラクションスクリプト ■ 砂利の波紋にはスプラインを使用。 スプライン形状に合わせてメッシュが変形するように コンストラクションスクリプトを組みました。
UE4コンストラクションスクリプト ■ 砂利の波紋にはスプラインを使用。 以下を参考にしました。 Unreal Japan Stream | スプラインとスプラインメッシュを利用しましょう! https://www.youtube.com/watch?v=uwEwIyG_lpU
動画作成にシーケンサーを使用 ■ 昼から夜への切り替えにライトシナリオを使用 詳しい説明は今回は省きます。 ※基本的な操作方法などは公式をご覧ください。 シーケンサー クイック スタート http://api.unrealengine.com/JPN/Engine/Sequencer/QuickStart/index.html
まとめ フォトグラメトリ注意と利点 今プロジェクトで得たこと おすすめな事
まとめ フォトグラメトリ注意点 少々お金がかかった ソフトウェア・撮影用機材 取材費・被写体の購入 データ容量増し増し 写真データ・ワークデータ ・中間データ・一時データ 撮影の計画性が必要 ロケハン・題材・撮影許可 ・撮影時間・時間帯・天候 計算時間が気になった フォトグラメトリの計算、 リダクション・リメッシュ、 専用PCの用意があると良い
まとめ 3 フォトグラメトリ良かったところ つ フォトリアルなハイ ポリ、カラーマップ が手に入る!UV付き 職人技無しで! フォトグラメトリの計算 結果を見るのは楽しい 感動がある 実物を観察できる! リファレンスも 同時に撮影できる! 取材 旅行ができる! 予算次第ではかっこいい 岩を求めて海外旅行! できるかもしれない!? 今回は庭園めぐりが できて楽しかった。 文化に触れる機会の創出!
まとめ 今プロジェクトで自分が得たもの・良かったこと ラッキー モデラーとして、モデリングの選択肢が増えた。 武器になると良いなぁ 個人的なフォトグラメトリの今後の気になること 計算用PCで効率化 ラフネスの取得ってどうやるの? ドローン、360度カメラ(シータやインスタ360などの)フォトグラメトリ レーザースキャンと併用、プロシージャルとの併用
まとめ おすすめな事 無料のフォトグラメトリツールがある! リトポ、デライト、ベイクも無料!スマホのカメラで撮った写真でもできるらしい! 自分が試したのは3DFZepher 体験版写真50枚までモデル書き出しも可能 https://www.3dflow.net/3df-zephyr-pro-3d-models-from-photos/ 無料デライト今回ご紹介したAgisoft Delighter https://www.agisoft.com/downloads/installer/ 無料ベイクツール xNormal https://xnormal.net/ --------------------------------------------------------------------------以下は未検証ですが-------------------------------------------------------------------------無料フォトグラメトリAliceVision Meshroom https://alicevision.org/ 無料3Dソフト Blender https://www.blender.org/ Blender用アドオン無料リトポツール Instant Meshes https://github.com/wjakob/instant-meshes
まとめ フォトグラメトリチュートリアルリンク集 ■ Epicのフォトグラメトリチュートリアル https://www.unrealengine.com/ja/blog/imperfection-for-perfection?sessionInvalidated=true https://www.unrealengine.com/ja/blog/imperfection-for-perfection-part-2 ■ 3Dアーティストの完全な写真測量ガイド(英語) https://80.lv/articles/full-photogrammetry-guide-for-3d-artists/ ■ 写真測量への貧乏人のガイド(英語) http://bertrand-benoit.com/blog/the-poor-mans-guide-to-photogrammetry/ ■ 写真測量による3D走査反射物体(英語) https://www.3dscanstore.com/blog/3d-scanning-reflective-objects ※英語チュートリアルはGoogle翻訳で読める!Youtubeの英語動画は自動日本語翻訳できる!
Ready Go 今からあなたもUE4フォトグラメトラー
ご清聴ありがとうございました。 アセットはUE4マーケットプレイスで販売予定!(時期は未定、申請通れば) よかったら買ってみてください!