环境
在场景初始化时,通过设置初始化的第二个参数对象中的 environment
属性来自定义不同的场景环境。
注:光照在此不做说明,需要了解可到光照下进行查看。
1. 属性结构
1.1 环境
//
interface Environment {
// 是否显示天空大气层
atmosphereEnabled: boolean;
// 是否显示天空星星
starsEnabled: boolean;
// 天气
weather: Weather;
// 光照
lighting: Lighting;
}
1.2 天气
interface Weather {
// 天气类型
type: WeatherType;
// 指定特定天气类型的天空云量。
cloudCover: number;
// 指定降雨量(降雪量)。
precipitation: number;
// 显示被雪覆盖的表面。"enabled"|"disabled"
snowCover:"enabled"|"disabled";
// 指定场景中使用的雾量。
fogStrength: number;
}
1.3 天气类型
共有5种天气类型: 'sunny'晴朗,'cloudy'多云, 'rainy'多雨 ,'snowy'下雪,'foggy'有雾
type WeatherType = 'sunny' | 'cloudy' | 'rainy' | 'snowy' | 'foggy';
2. 设置天气环境
如需设置场景天气,请在 environment
中配置 weather
属性,设置天气信息。
注:设置场景天气需要设置近地天空盒显示,否则天气效果不起效果。
示例代码如下:
const scene = new ubm.Scene('app', {
viewingMode: 'global',
map: {
basemap: 'satellite',
},
background: {
// 打开近地天空盒
enableSkybox: true,
},
environment: {
// 天气设置
weather: {
type: 'rainy',
precipitation: 0.3
}
}
})
3. 环境设置插件
对于场景的环境设置,为了方便用户直观的感受到环境的变化,我们封装了场景环境插件以满足此需求。
使用方式及代码示例如下:
// 场景环境设置插件
const environmentPlugin = new ubm.EnvironmentPlugin()
scene.plugin.register(environmentPlugin)
注:对于具体的插件使用方式请查看插件一栏,有详细的插件使用方式。