Chapter 27無料公開

🍍 3Dスキャンライン表現

かもそば
かもそば
2021.03.21に更新

このチャプターでは、3Dのスキャンライン表現を作る方法を紹介します。

ワールド座標を利用したスキャンライン表現の作り方を解説します。


3D座標を利用したスキャンライン表現

例1. Y方向に進むスキャンライン

オブジェクト座標を表示してみる

Positionノードを使うと、空間の座標を取得することができます。
このノードのふるまいを確かめるため、Emissionとして出力してみましょう。

XYZ座標がRGBカラーとして表示されます。

ワールド座標からY方向グラデーションを作る

以下のような表示になります。
Y=0より下の部分はマイナスになっているため、真っ黒に表示されています

Fractionで繰り返す

Y成分にFractionを適用し、繰り返しを作ってみます。

時間を引く

Fractionを適用する前で時間を引いてみます

グラデーションが動くようになります。

Powerでコントラストを調整する

Powerノードを使うことで、コントラストを調整できます。

Multiply で色を付ける


Y方向に動くスキャンラインの完成です。

例2. 内積を利用して、スキャンラインの向きを変える

Positionとベクトルの内積をとると、ベクトルの方向へ増加するグラデーションになります。

このグラデーションを使うことで、好きな方向へ進むスキャンラインを作ることができます。

(1,1,0.5)の方向へ進むスキャンライン

ShaderGraph全体