已知babylon.js实现天空盒的方法有两种:
- Skybox:https://doc.babylonjs.com/features/featuresDeepDive/environment/skybox
- Skymaterial:https://doc.babylonjs.com/toolsAndResources/assetLibraries/materialsLibrary/skyMat
- HDR Environment:https://doc.babylonjs.com/features/featuresDeepDive/materials/using/HDREnvironment
基本对比:
- skybox仅支持设置图片x6;
- skybox没有镜面反光效果,但hdr有此效果;
- skybox实现更加容易,但图片素材不好找;反之hdr的图片素材则非常多;
- skymaterial可以配置光照、太阳位置等等参数,且支持白天黑夜、但不支持云朵;
一、skybox
二、skyMaterial
1.黑夜模式白天模式
经过测试通过调节太阳方位角、亮度、形态都可以实现白天模式至黑夜模式的切换;
下面是我随意调节的两种效果;
https://playground.babylonjs.com/#4R1H1U#63
白天模式
box.material.inclination = 0;
box.material.luminance=1;
box.material.turbidity= 1;
box.material.rayleigh = 2;
黑夜模式
box.material = new BABYLON.SkyMaterial('sky', scene);
box.material.inclination = 0;
box.material.luminance=1;
box.material.turbidity= 1;
box.material.rayleigh = 0.3;