元記事:Normals and texture



Normalとテクスチャ



回転の一致


2.35クリーンアップ週間では、Blenderのバンプマッピング動作のリフレッシュも行われていました。報告として―そして、私たちがずっと以前から知っていたことですが―回転するObject上、もしくはカメラが動いている場合、計算がローカルObjectスペースですべて行われている所為で、バンプマッピングが完全に正しくレンダリングされていませんでした。新しいバージョンではこれが修正され、少し遅くなったものの、すべてのアングルにおいて正しい結果になりました。
これはローカルテクスチャスペースでのみ起こることなので、修正は"Orco"と"UV"マッピングにのみ作用します。

下記の画像は、バンプマッピングを適用したPlaneの回転時のエラーの様子です。

スペキュラの方向に注目 だんだん 回って いますよ




ColorBandを使用したテクスチャのコントロール


ColorBandとテクスチャプレビュー通常プロシージャルテクスチャは単一の「輝度」の値を返しますが、ColorBandツールによってRGB三色へと変換することができます。

同じColorBandはNormalの計算にも使用されるようになり、レンダリング時のNormalによるディスプレイスメントの、より広い範囲でのコントロールが可能になっています。

これを動作させるには、単にTextureButtonsの"Colors"パネル内にあるColorBandを加えるだけです。しかしならが、実際の色はNormalに使用されず、RGBの平均値のみが使用されることに注意して下さい。

左の画像は三つの違う設定のColorBandによる、"Stucci"Textureの画像です。それぞれバンプが非常に異なるレンダリング結果になっています。


新しいスライダ、"nabla"
Blenderのほとんどすべてのプロシージャルテクスチャはテクスチャマッピング用のNormalの計算に関数を使用しています("Blend"と"Magic"以外)。テクスチャのNormal、そして関数はテクスチャ方程式の中で4つの抽出点を使用して計算されています。
s0= texture(x, y, z)
s1= texture(x+nabla, y, z)
s2= texture(x, y+nabla, z)
s3= texture(x, y, z+nabla)

normal[0]= s0-s1
normal[1]= s0-s2
normal[2]= s0-s3

今まで "nabla" オフセットは多くのケースに適した値(0.025)の定数でしたが、例えばエフェクトをよりスムーズに、もしくはシャープにしたい場合などでは、テクスチャの抽出方法を正しくコントロールできません。この機能は特にColorBand機能とのコンビネーションに便利です。

Wood適用例 メロン ひびわれ



Warpテクスチャ


MapToパネルMaterialButtonsの中の"MapTo"パネルの新しいオプション、"Warp"により、テクスチャにより、次のTexureチャネルのテクスチャ座標に影響し、歪ませることができるようになりました。"fac"スライダは影響度を決定します。

歪みはすべての下位のチャネルに新しく"Warp"が設定されるまで効力が残ります。"fac"が0だとエフェクトがキャンセルされます。


下の最初の二つの画像は"Stucci"のバンプマップがどんな風に一般的なタイルテクスチャを歪めることができるかを示しています。三つめの画像もNormalがタイルテクスチャを少しだけ'warp'し、偽の3D(もしくは視差)効果を与えている例です。

タイルの高さに影響 タイルとの平行位置に影響 偽のレリーフ