normal()

カスタム3D形状の頂点の法線ベクトルを設定します。

beginShape()endShape()で作成される3D形状は、 頂点と呼ばれる点の集合を接続して作られます。 vertex()で追加される各頂点には、 その頂点から外向きに向かう法線ベクトルがあります。 法線ベクトルは、形状に対する光の反射の仕方を制御します。

normal()は、法線ベクトルのコンポーネントを定義するために、 異なるパラメータを持つ2つの方法で呼び出すことができます。

normal()を呼び出す最初の方法は、xyzの 3つのパラメータを持ちます。normal(1, 2, 3)のように数値が渡された場合、 それらは法線ベクトルのx、y、z成分を設定します。

normal()を呼び出す2つ目の方法は、vectorという1つのパラメータを 持ちます。normal(myVector)のようにp5.Vector オブジェクトが渡された場合、そのコンポーネントが法線ベクトルの設定に使用されます。

normal()は、vertex()でカスタム形状に 追加される頂点の法線ベクトルを変更します。normal()は、 vertex()と同様に、 beginShape()endShape()の間で呼び出す必要があります。 normal()を呼び出すことで設定された法線ベクトルは、 再びnormal()が呼び出されるまで、以降のすべての頂点に影響します:

beginShape();

// 頂点の法線を設定します。
normal(-0.4, -0.4, 0.8);

// 頂点を追加します。
vertex(-30, -30, 0);

// 頂点の法線を設定します。
normal(0, 0, 1);

// 頂点を追加します。
vertex(30, -30, 0);
vertex(30, 30, 0);

// 頂点の法線を設定します。
normal(0.4, -0.4, 0.8);

// 頂点を追加します。
vertex(-30, 30, 0);

endShape();

実例

シンタックス

normal(vector)
normal(x, y, z)

パラメーター

vector
p5.Vector:

p5.Vectorオブジェクトとしての頂点の法線。

x
Number:

頂点の法線のx成分。

y
Number:

頂点の法線のy成分。

z
Number:

頂点の法線のz成分。

Notice any errors or typos? Please let us know. Please feel free to edit src/core/shape/vertex.js and open a pull request!

関連するリファレンス