在场景中放置环境光和定向光。光源被设置为 ambientLight(128, 128, 128) 和 directionalLight(128, 128, 128, 0, 0, -1)。
注意:光源需要在 draw() 函数内被调用(直接或间接调用)以保持在循环程序中持续存在。将它们放置在 setup() 函数内将导致它们只在循环的第一次运行时产生效果。
示例
相关参考
ambientLight
创建一个向所有方向发光的光源。 环境光不是来自一个方向。相反,3D 形状从所有方向均匀地受到照亮。环境光几乎总是与其他类型的光一起使用。 有三种调用 ambientLight() 的方式,可以通过可选参数设置光的颜色。 第一种调用 ambientLight() 的方式有两个参数,gray 和 alpha。 alpha 是可选的。可以传递介于 0 和 255 之间的灰度和 alpha 值来设置环境光的颜色, 例如 ambientLight(50) 或 ambientLight(50, 30)。 第二种调用 ambientLight() 的方式有一个参数,就是颜色。可以传递一个 p5.Color 对象、一个颜色值数组或一个 CSS 颜色字符串,例如 ambientLight('magenta'),来设置环境光的颜色。 第三种调用 ambientLight() 的方式有四个参数,v1、 v2、 v3 和 alpha。 alpha 是可选的。可以传递 RGBA、 HSBA 或 HSLA 值来设置环境光的颜色,例如 ambientLight(255, 0, 0) 或 ambientLight(255, 0, 0, 30)。颜色值将根据当前的 colorMode() 进行诠释。 .
directionalLight
创建一个朝单一方向照射的光。 方向光不是从特定点发出的。它们就像一轮太阳,从屏幕外的某个地方照射进来。光的方向由三个介于 -1 和 1 之间的 (x, y, z) 值设置。例如,将光的方向设置为 (1, 0, 0) 将从左侧照亮 p5.Geometry 对象,因为光线直接指向右侧。 有四种调用 directionalLight() 的方法,用于设置光源的颜色和方向。 调用 directionalLight() 的第一种方式有六个参数。前三个参数 v1、 v2 和 v3 使用当前的 colorMode() 来设置光的颜色。最后三个参数 x、 y 和 z 设置光的方向。例如, directionalLight(255, 0, 0, 1, 0, 0) 创建一个红色 (255, 0, 0) 的光,朝向右边 (1, 0, 0)。 调用 directionalLight() 的第二种方式有四个参数。前三个参数 v1、 v2 和 v3 使用当前的 colorMode() 来设置光的颜色。最后一个参数 direction 使用一个 p5.Geometry 对象来设置光的方向。例如, directionalLight(255, 0, 0, lightDir) 创建一个红色 (255, 0, 0) 的光,其方向是 lightDir 向量所指的方向。 调用 directionalLight() 的第三种方式有四个参数。第一个参数 color 使用一个 p5.Color 对象或颜色值数组来设置光的颜色。最后三个参数 x、 y 和 z 设置光的方向。例如, directionalLight(myColor, 1, 0, 0) 创建一个颜色为 myColor 的光,朝向右边 (1, 0, 0)。 调用 directionalLight() 的第四种方式有两个参数。第一个参数 color 使用一个 p5.Color 对象或颜色值数组来设置光的颜色。第二个参数 direction 使用一个 p5.Color 对象来设置光的方向。例如, directionalLight(myColor, lightDir) 创建一个颜色为 myColor 的光,其方向是 lightDir 向量所指的方向。 .
imageLight
从图像创建一个环境光。 imageLight() 模拟了从所有方向照射的光。效果就像将绘图放置在一个以图像为纹理的巨大球体的中心。图像的漫反射光会受到 fill() 的影响,而镜面反射则受到 specularMaterial() 和 shininess() 的影响。 参数 img 是要用作光源的 p5.Image 的对象。 .
lightFalloff
设置 pointLight() 和 spotLight() 的衰减率。 光的衰减描述了其在距离上的光束强度。例如,一个灯笼具有缓慢的衰减,手电筒具有中等的衰减,激光笔具有迅速的衰减。 lightFalloff() 有三个参数, constant, linear 和 quadratic。它们是用于计算距离 d 的衰减的数字,如下所示: falloff = 1 / (constant + d * linear + (d * d) * quadratic) 注意: constant, linear 和 quadratic 应始终设置为大于 0 的值。 .