Unity Delighting Tool を使ってみる
本日から Unite Tokyo 2018 らしいので、僕も Unity にちなんだ投稿をしてみます。
はじめに
フォトグラメトリで作成したモデルは、テクスチャに光沢や陰影など光源の影響を受けています。
Unity Delighting Tool を使えば、それらの影響が除去できるのではないかと思って使ってみました。
まぁいい感じに Delighting されたテクスチャを得るに至っていないんですが…
ググっても日本語の Unity Delighting Tool に関する情報は「そういうツールがある」くらいしかないので、
使ってみたい皆さんのお役に立てればと思い、使ってみた情報を残しておきます。
一次情報 -とりあえず、ここを読もう!-
Unity Delighting Tool のマニュアルと、Unity が作成した「Photogrammetry Workflow」はとても参考になります。
事前に読んで理解するのは難しいかもしれませんが、時々読み直してみると良いかと思います。
Unity Delighting Tool のマニュアル
Unity 公式ブログの Photogrammetry ワークフロー
ここにある eBook(PDF) です。
各種テクスチャの用意
Unity Delighting Tool は、イメージベースで Delighting 処理を行うツールで、別途用意した…
をもとに、ベースマップからライティング効果を除去したテクスチャを生成します。
ということでこれらを用意しましょう。
ベントノーマルマップ?
通常の タンジェントスペースのノーマルじゃなく、オブジェクトスペースのノーマルだそうです。
上手く説明できるほど詳しくないので、こちらを参照してください。
知らなくてもデータを用意すればツールは使えるのです
各種テクスチャのベイク
Unity Photogrammetry Workflow の 5.4. Textures baking (70ページ以降) で、
を使ったテクスチャのベイク手順が丁寧に説明されています。
スクリーンショットを多用して ツールの操作手順を細かく記載していますので、英語が堪能じゃない方も大丈夫かと。
[注意]
xNormal は ポジションマップの生成ができません。
Unity Delighting Tool はポジションマップが無くても処理できちゃうのですが、これ無しでは色々キツイので別のツールがお勧めです。
この他、無料のベイクツールだと Blender アドインの TexTools ならポジションマップの生成が出来ます。僕は現在これを使ってポジションマップの生成を行っていますので、良かったらお試しください。
Unity Delighting Tool の入手
各種テクスチャを用意できたので、実際に使ってみましょう!
公開当初は GitHub に公開されているだけでしたが、現在は Unity アセットストアからも入手できます。
Unity Asset Store:
Delighting Tool は Unity エディタ上で動くけど、独立したプロジェクトを新規に用意して、そこにインポートすると良いと思います。
使い方
使い方そのものは簡単です。
- 事前に用意したテクスチャ群を Assets 以下に配置
- Window から Delighing Tool を選択
-
別ウィンドウでツールが起動する
- Project ビューの各種テクスチャを、Delighting Tool の左側の対応する場所にドラッグ&ドロップ
こんな感じ↑ - Compute ボタンを押す
Delighting 前後を比較(前 <=> 後)できるようになってます。 - Export ボタンを押すと、Delighting 処理がされたベースマップを保存
- おわり
基本的にテクスチャを突っ込む以外に出来る事がないので、データを用意できればすごく簡単です。
マスクについて
この例で使用していない Mask は、Delighting 不要な箇所を指定するために使用します。
モデルには割り当てられない部分も Delighting Tool は処理してしまうので、それがウザい場合にはマスク画像を用意すると良いでしょう。
おまけ
Delighting Tool の右上にある 「Normal」を「Advanced」にすると、パラメータ調整が出来るようになります。
良く判っていないのですが、「なんか不自然に白くなる場所がある」という場合に
Remove Highlights を大きくすると (全体的な色合いも変わるけど) 良いみたいです。