DAZ StudioのDisplacementマッピング

Category : Tips
DAZ Studio(以下DS)のマテリアルのプロパティの一つとして、ディスプレイスメント(Displacement)というのがあります。テクスチャマップを元にオブジェクトのサーフェイスに変化を付ける技術です。『PoserのマテリアルをDAZ Studioへ:スペキュラとバンプ、ディスプレイスメント』の記事ではPoserとの対比として説明しました。今回はもっと細かく、ディスプレイスメントの性質を見て行きたいと思います。

Displace SS

■ディスプレイスメントの働き

ディスプレイスメントとは、テクスチャマップに従ってオブジェクトの表面に凹凸を作り出す技術です。バンプマップとは違い実際にオブジェクトのジオメトリが変化するため、見せ掛けだけではない外観を作り出すことができます。

DS上でディスプレイスメントを使うには他にも以下の様な注意点があります。
 ・ビューポートでは、その効果を確認することができません。
 ・ソフトウェアレンダリングをする必要があります。
 ・オブジェクトのメッシュの細かさには関係ありません。
 ・ディスプレイスメントの設定されたPoser用データを読み込む場合は、そのプロパティは無視されてしまいますので、手動で設定する必要があります。


■ディスプレイスメントのプロパティ

オブジェクトにディスプレイスメントを設定するには、Surfacesタブを使います。
Displace Surfacesタブ
・Strengthディスプレイスメントの強度です。ここにテクスチャを設定します。
・Minimumテクスチャ画像の黒(0,0,0)の高さです。
・Maximumテクスチャ画像の白(255,255,255)の高さです。

Strengthが100%の時、オブジェクト表面の高さに対して、テクスチャ画像の黒がMinimum[cm]、テクスチャ画像の白がMaximum[cm]の高さまで変化する事になります。

例えば、このような3枚の平面が並んだシーンを作ります。
Displace テスト2 ディスプレイスなし

そこで、真ん中のオレンジの平面に次のようなディスプレイスメントマップを設定します。
Displace テスト1 テクスチャ

これはフォトレタッチソフトを使って50%グレーで塗りつぶした画像に、柔らかいブラシで黒と白の点を打ったものです。
Displacementプロパティのパラメータはそれぞれ以下の通りです。
 Strength 100%
 Minimum -15
 Maximum 15

※分かりやすくするために設定値を高くしてあります。

レンダリングすると次のようにジオメトリが変化します。
Displace テスト1

実際こんなに隆起させることは無いのですが、この場合、テクスチャの黒い部分がへこみ、白い部分が盛り上がっています。一番低い部分が-15cm、高い部分が15cmの高さを持ちます。MinimumとMaximumの中間が0になりますので、丁度50%グレーで塗りつぶした部分が高さの変化が無い様になっています。

今度は同じテクスチャマップを使って、プロパティを以下のように変えてみました。
 Strength 100%
 Minimum 15
 Maximum -15

今度は白い部分がへこみ、黒い部分が盛り上がるようになります。
Displace テスト1 反転


■テクスチャマップの精度

いろいろとディスプレイスメントマップを作って試していると、分かった事があります。
DSのディスプレイスメントで作成されたジオメトリはスムージングされない(ディスプレイスの変化分についてのみ)という点です。そのため、テクスチャマップの解像度がメッシュの細かさにダイレクトに影響します。
例えば、このようなディスプレイスメントマップを設定したとします。
Displace テスト2 テクスチャ
 Strength 100%
 Minimum 0
 Maximum 30

※分かりやすくするために設定値を高くしてあります。

このパラメータだと、テクスチャ画像の黒い部分がベースの高さとなり、白い部分が盛り上がるはずです。

テクスチャ解像度64*64pixels
Displace テスト2 64pixels

テクスチャ解像度1000*1000pixels
Displace テスト2 1000pixels

テクスチャ解像度4000*4000pixels
Displace テスト2 4000pixels

ここまでは予想通りですね。
ちなみにこの立体はPhotoshopの硬さ0%のブラシツールで描画した点です。ガウス分布というやつでしょうか。
ところがこれまでの全てのレンダリング画像に共通して言えることなのですが、高さの変化が階段状になってしまっています。言わばディスプレイスメントは画像の輝度を高さに変換する技術ですので、高さの段階は24bit画像(RGB各8bit)で256段階しかありません。最大1cmぐらいの変化であれば気にならない程度なのですが、この例では30cmも変化させているので、高さ方向の解像度が足りないのです。

アプリケーションの方でディスプレイスメント後のジオメトリにスムージングがかかれば滑らかにできるのでしょうが、DSにはその機能が無いようです。Poserでも状況は同じ様ですが、Carraraではスムージングが設定できたりプレビューで確認できたりと一味違っています。
これを打開する方法は無いものかとディスプレイスメントを使った製品を探していたところ、特殊なものが見付かりました。『M4 Displacement Maps』この製品はDS専用となっています(以前この記事で使用したことがありました)。どういう事かと内容を確認してみると、ディスプレイスメントマップにグレースケール16bitTIFF形式を使っています。DSではテクスチャにTIFF画像を使えるという事は以前から知っていたのですが、さらに48bit(RGB各16bit)の画像を使う事もできるようです。この形式のテクスチャマップを使う事によって、高さ方向の解像度を256段階から65536段階へ飛躍的にアップすることが可能になっているのです。

さっそく上のテクスチャマップをグレースケール16bitで作り直し、レンダリングしてみました(テクスチャ解像度は1000*1000pixelsです)。
Displace テスト2 16bitマップ

8bitを超える色深度を持つ画像を作成できるアプリケーションは限られてくると思います。私の場合はPhotohopでイメージ>モードをグレースケール、16bit/チャンネルにして作成し、TIFF形式でオプションを[画像圧縮:LZW、ピクセルの順序:RGBRGB、バイト順序:IBM PC]にして保存しました。
この例のように極端な盛り上がりにしても十分滑らかにレンダリングできています。

ところでこのグレースケール16bitTIFF形式のテクスチャ、Poser7Jでもそのまま使えてしまいました。結果も良好です。件の製品がDS専用になっているのは、Poserでは盛り上がりとくぼみを同時に形成できない点に起因しているのかも知れません。

調べてみるとディスプレイスメントにグレースケール16bitTIFF画像を使うという方法は割と一般的なようで、ZBrushなどはこの方式でディスプレイスメントマップを出力できるようになっています。


■今日の一枚

ディスプレイスメントについて調べていたのは、実は今回はこれをやりたかったというお話です。それは、水着の食い込みです!水着が食い込んで周りの肉がぷにっと盛り上がっている感じを出したかったのです。
それを実現するにはいろいろと方法はあるでしょうが、テクスチャ1枚でできるディスプレイスメントという方法を取りました。着衣に合わせてテクスチャマップを作成しないといけませんので、とりあえずはV4の水着としてポピュラーな『Basicwear for V4 Unimesh』のbikiniを使用しました。本当は肩紐やボトムの食い込みもできればより良かったのですが、今回は胸の周囲のみとなっています。
ついでに使おうと思いながら夏が過ぎてしまったウェットテクスチャも使ってみました。この製品はキャラクターセットにも見えますが、ウェット部分(スペキュラマップになっています)だけを他のV4キャラクターに適用できるマテリアルファイルが付いているんです。

ビキニのクイコミ
Character:MH Rain for V4
Additional Skin:Universal Wet Maps and Orcamaid
Hair:Pris Hair
Costume:Basicwear for V4 Unimesh

この画像に使ったディスプレイスメントマップはコレで、グレースケール16bitTIFF形式のテクスチャを使っています。


このテクスチャはディスプレイスメントの実験用に作ったものですが、この画像そのものを売り物にする以外なら自由に使ってもらって結構です。
この画像を胸部のサーフェイスのDisplacementプロパティに次のようなパラメータで適用しました。
 Strength 100%
 Minimum 0
 Maximum 0.75

盛り上げるだけですので、Poserでも使えます。ちなみにPoserでレンダリングしてみるとこのような感じになりました。
Displace ビキニ食い込み Poser

使うモーフによっては水着とずれてしまう場合もありますのでご注意下さい。



今回の画像の素材はこちら
AD MH Rain for V4
MH Rain for V4
AD Pris Hair
Pris Hair


Universal Wet Maps and Orcamaid

Basicwear for V4 Unimesh



Comment

非公開コメント

著書
カレンダー
10 | 2017/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
検索フォーム
プロフィール

Kotozone

Author:Kotozone
製品の取扱説明書を読むのが大好きです

FC2ブックマーク
最新記事
カテゴリ
タグリスト

DSプラグイン V4 ライト マテリアル DSシェーダ DS基本 セール Genesis IBL アニメーション タブ解説 iray LuxRender ダイナミッククロス スクリプト Genesis2 セットアップ ShaderMixer バージョンアップ レタッチ Download カスタマイズ トゥーン SSS Photoshop ウェイトマップ ファー NGM ERC D-Form Miki2 物理シミュレーション IDL 大気 M4 カラーコレクション ボリューム Terrain Genesis3 パーティクル モーフセット V5 Genesis8 カメラ インスタンス アナグリフ ロボット 3Dプリント GIMP RAMDisk SLG V8 ダイナミックヘア K4 Python Linux 日本語訳 モーションキャプチャ Hexagon 

最新コメント
リンク
月別アーカイブ
ご意見ご感想はこちらに

名前:
メール: 
件名:
本文: 

ブロとも申請フォーム

この人とブロともになる

最新トラックバック
FC2カウンター