日々適当

hibitekitou

角度に応じて色を変化

xsi |2006-01-05
まぁ無駄な思考ではあるんだけど(苦笑)
Vector State を理解するための第一歩としてやってみております。

やることは、カメラからのレイと法線の角度に応じて色が変化する、みたいな。
素直にIncidenceを使っとけ、みたいな。

とりあえず、単純にカメラと法線のなす角度だけを見る、ってのを考えてみました。

ベクトル同士の角度は、arccos(A・B/|A||B|)っす。つまり、二つのベクトルの内積を二つのベクトルの大きさをかけたもので割る、ってところですね。

問題は、Render Tree 上で三角関数ってどうやって扱うの?、ってところなんですが、今回の件については、それが無くても何とかなるので、分からないままです。

結果、以下のような感じになりました。

RenderTree例


MaterialにつながるGradientのinputに0度から90度の角度に対応する0から1の値をぶち込めばいいので、実際に角度を出さなくてもいい=三角関数は使わなくてもいい、ってことです(cosの値は-1から1の値をとり、絶対値を取ればそれは0から1だから。ん?しかしリニアな値になるのかな…?。ま、いいや)。

以下、レンダリング例。

レンダリング例


Cellを使ってディスプレイスメントさせた状態の球に適用してあります。
コメント ( 0 )|Trackback ( )
 
コメント
 
コメントはありません。
コメントを投稿する
ブログ作成者から承認されるまでコメントは反映されません
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。