babylon.js skybox、SkyMaterial和HDR Environment对比

已知babylon.js实现天空盒的方法有两种:

  1. Skybox:https://doc.babylonjs.com/features/featuresDeepDive/environment/skybox
  2. Skymaterial:https://doc.babylonjs.com/toolsAndResources/assetLibraries/materialsLibrary/skyMat
  3. HDR Environment:https://doc.babylonjs.com/features/featuresDeepDive/materials/using/HDREnvironment

基本对比:

  1. skybox仅支持设置图片x6;
  2. skybox没有镜面反光效果,但hdr有此效果;
  3. skybox实现更加容易,但图片素材不好找;反之hdr的图片素材则非常多;
  4. 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;