使用阴影的过程中可能遇到的问题
阴影粗糙
如阴影边缘的形状呈块状,可以增加 shadow.mapSize.width
和shadow.mapSize.height
。
或者保证用于计算阴影的区域紧密包围在对象周围,可以通过 shadow.camera.far
、shadow.camera.near
、shadow.camera.fov
属性来配置这个区域
薄对象,渲染失真现象
如果大场景中使用薄对象,在渲染阴影时,可能会出现奇怪的渲染失真现象,通常可以使用 shadow.bias
属性轻微偏移阴影来修复这个问题。
使阴影更柔和
如果想要阴影更柔和,可以在 WebGLRenderer
对象上设置不同的shadowMap-type
属性的值。默认情况下,此属性的值为 PCFShadowMap
,如果将此属性的值设置为 PCFSoftShadowMap
,则会得到更柔和的阴影