background

色と値

2011年05月27日(Fri)

企画中に作った絵のことでも書こうかと思ったんだけど、ちょろっと実験したらまとまった画像になったので覚え書き。ものすごい今さら感だけど、基本的なことを確認しておこうと思う。

110527-01

こんな感じでテスト形状を作る。マテリアルグループが10個並んでる平面。で、各マテリアルグループにディスプレイスメントを設定する。

110527-02

ウチでは使用単位をセンチにしているので、とりあえず10cm刻みで100cmまで変化させることにする。変化量の指定は数値演算ノードで0.1から1までを出力。上の図は5番目のマテリアルグループで、ノード間の数字は乗算されるので最終的に100×0.5=50cm変位することになる。

で、レンダオプションで「ディスプレイスメントマップ使用」にチェックを入れてレンダするとこんな感じ。

110527-03

それぞれのマテリアルグループが移動して階段状になっている。10番目のマテリアルグループで新Poser単位系の100cm移動していることになる。ちゃんとは測ればいいんだけど、今回はそれが目的じゃないので割愛。

110527-04

次に、ディスプレイスメントの変位量を色で指定する。シンプルカラーノードで単色のグレーを出力。Poserはどうもカラーパレットを表示すると値を1バイトに丸めてしまうみたいだけど、あまり気にせずに輝度をパーセンテージで指定。10%グレーから100%の白まで変化させる。図は50%グレーを出力している。

110527-05

で、レンダしたところ(見分けやすいように拡散色にも同じ色を指定)。変位量を数値で指定したものと色で指定したもの、どちらも結果に違いはないことがわかる。つまり値を扱うノードに色を接続した場合、白を1、黒を0として、均等に値が変化している、ということになる。

何を今さらみたいな話だけど、おさらい的に(笑)。

では、グレー以外の色を接続した場合はどうなるか。まずは赤を10段階変化させる。

110527-06

結果はこんな感じ。

110527-07

グレースケールを繋いだ時より変位量が少なくなっている。具体的にどれぐらい少ないのかを調べるために、ざっくり元の変位量を3倍にしてみる。

110527-08

すると、今度は高さ(変位量)がキッチリ揃った。つまり赤は白の1/3の値だということになる。

110527-09

同じようにして緑と青についても変位量を3倍にした状態で確認する。

110527-10

このことから、赤と緑と青はそれぞれ値としては互いに等しく、その量は白の1/3であるということになる。

当たり前だと思うかもしれないけど、そもそも赤と緑と青は現実では明るさが違う。大事なのはPoserはノードに色を接続したとき、現実の明るさに変換するような処理はせず、単純にRGB値をそのまま値として扱っているということだ。

110527-11

次、今度は赤と青の混色を確認する。赤と青がそれぞれ1/3なのだから、合計すると2/3、1.5倍すれば白と等量になるはずである。

110527-12

結果、推測通り変位量が等しくなった。このことから、RGB値の色をスカラー量として扱う場合、その値は(R/255+G/255+B/255)÷3ということになる。

110527-13

では、今度はシンプルカラーノードとディスプレイスメントの間に数値演算ノードを挟んでみよう。式や値は何も指定せずそのままに。ディスプレイスメントには数値が入力されているはずだ。

110527-14

試しに数値演算ノードの結果をカラーピッカーで拾ってみると、33%グレーとなった。(127/255+0+127/255)/3で0.333だから、50%マゼンダの値は0.33ということになる。

110527-15

結果は先ほどカラーを直接繋いだ時とまったく同じ(使い回しじゃないよ)。

さて、このことから何が言えるかというと。

まず第一にイメージマップノードを色でなく(バンプやディスプレイスメント、そのほか拡散値や鏡面値などの)値を扱うノードに接続した場合、色を値に変換した上で計算される、ということ。ごくたまに拡散色のテクスチャマップを数値演算ノードでグレースケールにしてからバンプ等に繋いでいる人を見かけるけど、あれはまったくの無意味だということである。そのままイメージマップノードを繋げば同じ結果になる。ノードを挟んでも負荷を増やすだけである。

また、まずいないだろうとは思うけど、バンプマップを作成するときにテクスチャマップをそのままグレースケールにしただけ、という人。ファイル容量とメモリの無駄なので、それぐらいなら添付自体をやめてしまおう。明るさやコントラストの調整程度ならバンプ値を調整すれば済む話である。

第二に、赤も緑も青も重み付けが同じ値として扱われるということ。あんまり考えられないケースだけど、Poser上でカラー写真を現実的なグレー写真に変換するような場合、RGB各値の重み付けをユーザー定義ノードとカラー演算ノードで再現する必要が出てくるだろう。Photoshopの白黒フィルタ使った方がいいと思うけど(笑)。

要は白は1、黒は0、赤や緑や青は0.33、マゼンダやシアンや黄色は0.66。それだけである。

ま、たまには基本を振り返ってみるということで。



Comments

浮きますね!感激

にわかに信じられなかったので見よう見まねでテスト形状を作ってみました。
そしたら本当に浮いているので驚きました。
ディスプレイスメントマップってこういうことだったのかと今更気付かされました←もう基本以前ですね~
それに一々ペイントソフト等で色を塗らなくてもPoserマテリアル設定で出来てしまう所が凄いです。
色と値の検証の為に書かれたのですが、それ以前で感激して満足してしまってすみません(^^;

こういうのは、Poserだけでなく他のソフトでも面白い事に使えないかな~、と思いました。

それとこのページを紙に印刷したら綺麗に出力されてそれも感激しました(^^

Name
sannzi #u2lyCPR2
Site
URL
Post Date
2011-05-28
Post Hour
16:56:36

Edit

マップがなくても浮くんですね~

>sannziさん
ディスプレイスメントでこんだけ移動させることは滅多にないのでなかなか新鮮ですね~。
マテリアルルームは、ペイントソフトを起動しなくても簡単な加工はできてしまうので
ちょっと実験したいときに便利です。
他のソフトだとどうなるのかな~いずれ実験してみたいです。

あ、印刷用CSSはこのレイアウトになってからの新機能(笑)です。
結構印刷される方がいらっしゃるようなので、お役に立てればと(^^

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2011-05-30
Post Hour
04:09:58

Edit

Post Comment

管理者にだけ表示を許可する


Trackback

※このブログにトラックバックを送信する場合、お手数ですが本文中にブログ該当記事へのリンクを含めてください。

トラックバックURL:http://rutenshikai.blog63.fc2.com/tb.php/462-f7f35894



Menu

Profile

Kyotaro

確定名:Kyotaro
ネタを探しているらしい。

Categories

Calendar

09 | 2017/10 | 11
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 31 - - - -

Comments

Archives

Track back

RSS feed

Links

Search

※2011年4月6日のサーバ障害の為、エントリのアドレスが以前のものからズレています。当Blogのエントリにリンクを張っておられた方は、お手数ですがアドレスのご確認をお願い致します。

※Internet Explorer非推奨。