设置自定义 3D 形状中顶点的法线向量。
使用 beginShape() 和 endShape() 创建的 3D 形状是通过连接称为顶点的点集创建的。 使用 vertex() 添加的每个顶点都有一个法线向量,该向量指向远离它的方向。法线向量控制着光线如何反射形状。
normal()
可以通过不同的参数以两种方式调用来定义法线向量的分量。
调用 normal()
的第一种方式有三个参数 x
,y
,和 z
。 如果传递了 Number
,如 normal(1, 2, 3)
, 它们将设置法线向量的x、y和z分量。
调用 normal()
的第二种方式有一个参数,即 vector
。如果传递了 p5.Vector 对象,如 normal(myVector)
则其分量将用于设置法线向量。
normal()
通过 vertex() 更改添加到自定义形状中的顶点的法线向量。normal()
必须在 beginShape() 和 endShape() 函数之间调用。就像 vertex() 一样。通过调用 normal()
设置的法线向量会影响直到再次调用 normal()
之前的所有后续顶点:
beginShape(); <p>// Set the vertex normal. normal(-0.4, -0.4, 0.8);</p> <p>// Add a vertex. vertex(-30, -30, 0);</p> <p>// Set the vertex normal. normal(0, 0, 1);</p> <p>// Add vertices. vertex(30, -30, 0); vertex(30, 30, 0);</p> <p>// Set the vertex normal. normal(0.4, -0.4, 0.8);</p> <p>// Add a vertex. vertex(-30, 30, 0);</p> <p>endShape(); </p>
示例
语法
normal(vector)
normal(x, y, z)
参数
vector
p5.Vector:
vertex normal as a p5.Vector object.
x
Number:
x-component of the vertex normal.
y
Number:
y-component of the vertex normal.
z
Number:
z-component of the vertex normal.
Notice any errors or typos? Please let us know. Please feel free to edit src/core/shape/vertex.js and open a pull request!