添加阴影
loading
阴影是提高场景真实感的重要因素之一,你的模型为什么看着有些假?很可能是没有阴影。
three-tile 使用阴影和 threejs 一致:
- 开启渲染器阴影功能:
renderer.shadowMap.enabled = true;
- 开启灯光投射阴影:
light.castShadow = true;
- 开启模型投射阴影:
mesh.castShadow = true;
- 开启地面接受阴影:
map.receiveShadow = true;
使用阴影需要注意:
- 阴影比较耗费资源,建议单独添加一个产生阴影的灯光,不要使用全局的直射光阴影。
- 可添加灯光、灯光摄像机等 helper 以方便调试。
- 为节省资源,尽量缩小阴影投射范围。
- 为了方便使用,TileMap 的 castShadow 和 receiveShadow 属性会自动应用全部子瓦片,不需要手动遍历开启。
- 开启地形自身阴影(用于产生山体阴影)作用不明显,因为卫星影像拍摄时已包含阴影,所以一般不开启。