开发 地图 JS API 1.4 教程 3D立体图形 光照

光照 最后更新时间: 2021年01月22日


目前楼块图层、室内图层和MeshAcceptLightsPrism 几个类型会接收地图全局的光源属性。

地图的光照

目前 Map 的光照属性有两个,一个环境光 ,一个平行光照,两个光照属性功能影响上述 3D 物体的亮度和显示颜色。环境光有颜色和强度两个属性,不具有方向性,影响物体的各个面,默认情况下为白色,强度0.9。平行光有方向、颜色、强度三个属性,对垂直照射到的三角面影响最大,默认情况下,地图的平行光的方向由南向北45度角照下,白色,强度0.1。可以通过如下方式获取和修改地图的这两个光照属性

   map.on('complete',function(){
        //获取
        var ambientLight = map.AmbientLight;   //获取环境光
        var directionLight = map.DirectionLight; //获取平行光  
        //修改
        map.AmbientLight = new AMap.Lights.AmbientLight([1,1,1],0.5);
        map.DirectionLight = new AMap.Lights.DirectionLight([-6,-2,14],[1,1,1],0.5);
   })

光照属性说明

光照强度

光照强度的范围为[0, 1],0 代表最暗,1 代表最亮,建议环境光和平行光的强度之和不超过 1。

光照颜色

光照的颜色有 R、G、B 三个分量,格式为[R,G,B],每个分量的取值范围[0, 1],映射到十进制色值[0,255]

光照方向

平行光的光照方向可以这么理解,假定地图的中心坐标为[0, 0, 0],DirectionLight 的第一个构造参数dir,则光照方向就是以地图中心为尾,以dir坐标点为头的一个向量,这里的坐标系与地图的三维坐标系方向一致。

修改光照的属性

在获取或者创建了光照实例之后,可以调用如下修改方法修改强度、颜色、方向属性:

ambientLight.setIntensity(0.5);//修改强度
directionLight.setColor([1,0,0]);//修改颜色
directionLight.setDirection([0,-1,2]);//修改方向


返回顶部 示例中心 常见问题 智能客服 公众号
二维码