创建一个从一个点朝单一方向发出光线的灯光。
聚光灯类似于手电筒,只朝一个方向发出光线,形成一个锥形光束。可以使用角度和集中度参数来控制锥形的形状。最多可以同时激活 5 个聚光灯。
有八种调用 spotLight()
的方式,它们用于设置光源的颜色、位置和方向。比如,spotLight(255, 0, 0, 0, 0, 0, 1, 0, 0)
创建了一个红色 (255, 0, 0)
的光源, 位于原点 (0, 0, 0)
,指向右侧 (1, 0, 0)
。
angle
参数是可选的。它设置光锥的半径。 例如, spotLight(255, 0, 0, 0, 0, 0, 1, 0, 0, PI / 16)
创建了一个在原点 (0, 0, 0)
的,红色的 (255, 0, 0)
光;该光以 PI / 16
的角度指向了右侧的(1, 0, 0)
。 在默认情况下, angle
是 PI / 3
的弧度。
参数 concentration
也是可选的。它将光聚焦在光锥的中心。例如,spotLight(255, 0, 0, 0, 0, 0, 1, 0, 0, PI / 16, 50)
创建了一个红色的 (255, 0, 0)
光源,位于原点 (0, 0, 0)
,指向右侧 (1, 0, 0)
,以 PI / 16
弧度的角度聚焦度为 50。默认情况下,concentration
为 100。
示例
语法
spotLight(v1, v2, v3, x, y, z, rx, ry, rz, [angle], [concentration])
spotLight(color, position, direction, [angle], [concentration])
spotLight(v1, v2, v3, position, direction, [angle], [concentration])
spotLight(color, x, y, z, direction, [angle], [concentration])
spotLight(color, position, rx, ry, rz, [angle], [concentration])
spotLight(v1, v2, v3, x, y, z, direction, [angle], [concentration])
spotLight(v1, v2, v3, position, rx, ry, rz, [angle], [concentration])
spotLight(color, x, y, z, rx, ry, rz, [angle], [concentration])
参数
当前 colorMode() 中的红色或色相值。
当前 colorMode() 中的绿色或饱和度值。
当前 colorMode() 中的蓝色、亮度或明度值。
光的x坐标。
光的y坐标。
光的z坐标。
光方向的x分量,取值范围为-1到1。
光方向的y分量,取值范围为-1到1。
光方向的z分量,取值范围为-1到1。
光锥的角度。默认为 PI / 3
。
光的聚焦度。默认为100。
可以是 p5.Color 对象、颜色值数组或 CSS 字符串的颜色。
作为 p5.Vector 对象的光的位置。
作为 p5.Vector 对象的光的方向。