//半球的环境光
const light = new BABYLON.HemisphericLight("light", new BABYLON.Vector3(0, 1, 0));
// 创建一个方向光
var directionalLight = new BABYLON.DirectionalLight("dir01", new BABYLON.Vector3(0, -1, 0), scene);
// 创建一个点光源
var pointLight = new BABYLON.PointLight("point01", new BABYLON.Vector3(0, 10, 0), scene);
// 创建一个聚光灯
var spotLight = new BABYLON.SpotLight("spot01", new BABYLON.Vector3(0, 30, 10), new BABYLON.Vector3(0, -1, 0), Math.PI / 3, 2, scene);
HemisphericLight表示一个环境光源,它模拟来自天空的光线,通常用于给场景添加一种全局的柔和光照效果。
具体来说,这行代码做了以下事情:
使用new关键字创建了一个新的HemisphericLight对象。
第一个参数"light"是这个光源的名称,可以自定义。
第二个参数new BABYLON.Vector3(0, 1, 0)指定了光源的方向,这里表示光源沿着世界坐标系的y轴向下照射。这样设置会让光源从上方向下照射,产生一种类似于天空光照的效果。
DirectionalLight(方向光):
第一个参数是光源的名称。
第二个参数是一个BABYLON.Vector3对象,表示光照的方向。
PointLight(点光源):
第一个参数是光源的名称。
第二个参数是一个BABYLON.Vector3对象,表示光照的位置。
SpotLight(聚光灯):
第一个参数是光源的名称。
第二个参数是一个BABYLON.Vector3对象,表示光照的位置。
第三个参数是一个BABYLON.Vector3对象,表示光照的方向。
第四个参数是光锥的张角(以弧度表示)。
第五个参数是光锥的衰减速度。
这些参数用来定义光源在场景中的位置、方向、范围等属性,通过合理设置这些参数,可以控制光源的光照效果,从而使得3D场景呈现出各种不同的光影效果