写真から寿司を生成するためのメモ

フォトグラメトリはやべぇ技術だと思うんだけど、なんか気軽に使うには敷居が高いように見えるので、出来る範囲で Tips とか書きます。

Unity Delighting Tool を使ってみる

本日から Unite Tokyo 2018 らしいので、僕も Unity にちなんだ投稿をしてみます。

f:id:manabuokajima:20180507135751p:plain

はじめに

フォトグラメトリで作成したモデルは、テクスチャに光沢や陰影など光源の影響を受けています。
Unity Delighting Tool を使えば、それらの影響が除去できるのではないかと思って使ってみました。

まぁいい感じに Delighting されたテクスチャを得るに至っていないんですが…

ググっても日本語の Unity Delighting Tool に関する情報は「そういうツールがある」くらいしかないので、
使ってみたい皆さんのお役に立てればと思い、使ってみた情報を残しておきます。

 

一次情報 -とりあえず、ここを読もう!-

Unity Delighting Tool のマニュアルと、Unity が作成した「Photogrammetry Workflow」はとても参考になります。

事前に読んで理解するのは難しいかもしれませんが、時々読み直してみると良いかと思います。

Unity Delighting Tool のマニュアル

github.com


Unity 公式ブログの Photogrammetry ワークフロー

ここにある eBook(PDF) です。

unity.com

各種テクスチャの用意

Unity Delighting Tool は、イメージベースで Delighting 処理を行うツールで、別途用意した…

  • ベースマップ(アルベドマップ)
  • ノーマルマップ
  • ベントノーマルマップ
  • アンビエントオクルージョンマップ(AO マップ)
  • ポジションマップ  ※ほぼ必須なオプション
  • マスク ※オプション

をもとに、ベースマップからライティング効果を除去したテクスチャを生成します。

ということでこれらを用意しましょう。

ベントノーマルマップ?

通常の タンジェントスペースのノーマルじゃなく、オブジェクトスペースのノーマルだそうです。
上手く説明できるほど詳しくないので、こちらを参照してください。

marina.sys.wakayama-u.ac.jp

 

知らなくてもデータを用意すればツールは使えるのです

各種テクスチャのベイク

Unity Photogrammetry Workflow5.4. Textures baking (70ページ以降) で、

を使ったテクスチャのベイク手順が丁寧に説明されています。
スクリーンショットを多用して ツールの操作手順を細かく記載していますので、英語が堪能じゃない方も大丈夫かと。

[注意]
xNormal は ポジションマップの生成ができません。
Unity Delighting Tool はポジションマップが無くても処理できちゃうのですが、これ無しでは色々キツイので別のツールがお勧めです。

この他、無料のベイクツールだと Blender アドインの TexTools ならポジションマップの生成が出来ます。僕は現在これを使ってポジションマップの生成を行っていますので、良かったらお試しください。

TexTools

Unity Delighting Tool の入手

各種テクスチャを用意できたので、実際に使ってみましょう!

公開当初は GitHub に公開されているだけでしたが、現在は Unity アセットストアからも入手できます。

GitHub:

github.com


Unity Asset Store:

assetstore.unity.com

Delighting Tool は Unity エディタ上で動くけど、独立したプロジェクトを新規に用意して、そこにインポートすると良いと思います。

使い方

使い方そのものは簡単です。

  1. 事前に用意したテクスチャ群を Assets 以下に配置

    f:id:manabuokajima:20180507104306p:plain

  2. Window から Delighing Tool を選択

    f:id:manabuokajima:20180507103546p:plain

  3. 別ウィンドウでツールが起動する

    f:id:manabuokajima:20180507103714p:plain

  4. Project ビューの各種テクスチャを、Delighting Tool の左側の対応する場所にドラッグ&ドロップ

    f:id:manabuokajima:20180507104614p:plain
    こんな感じ↑

  5. Compute ボタンを押す

    f:id:manabuokajima:20180507105009p:plain
    Delighting 前後を比較(前 <=> 後)できるようになってます。

  6. Export ボタンを押すと、Delighting 処理がされたベースマップを保存
  7. おわり

    f:id:manabuokajima:20180507110552p:plain

基本的にテクスチャを突っ込む以外に出来る事がないので、データを用意できればすごく簡単です。

マスクについて

この例で使用していない Mask は、Delighting 不要な箇所を指定するために使用します。
モデルには割り当てられない部分も Delighting Tool は処理してしまうので、それがウザい場合にはマスク画像を用意すると良いでしょう。

f:id:manabuokajima:20180507110058p:plain

おまけ

f:id:manabuokajima:20180507111110p:plain
Delighting Tool の右上にある 「Normal」を「Advanced」にすると、パラメータ調整が出来るようになります。
f:id:manabuokajima:20180507111427p:plain

良く判っていないのですが、「なんか不自然に白くなる場所がある」という場合に

 Remove Highlights を大きくすると (全体的な色合いも変わるけど) 良いみたいです。

f:id:manabuokajima:20180507112455p:plain

f:id:manabuokajima:20180507112324p:plain

f:id:manabuokajima:20180507112331p:plain