为什么阴影在错误的地方? (three.js所)

时间:2012-06-20 11:05:39

标签: javascript three.js

我有一个绿色的飞机,上面有一个红色的立方体。灯是定向灯。

shadow

为什么影子在错误的地方? 代码:http://jsfiddle.net/pD8dn/


编辑:

如果我更改light.shadowBias,那么平面上的阴影是正确的,但阴影在立方体上是不正确的:

shadow

http://jsfiddle.net/pD8dn/4/

提前致谢,

1 个答案:

答案 0 :(得分:6)

这是影子地图最常见的人工制品之一,它被称为“彼得潘宁”。

解决方法是为深度测试添加一些小偏差:

light.shadowBias = 0.001;

需要针对每个场景调整偏差的确切值(不幸的是,有时候你无法摆脱所有的人工制品,调整阴影贴图更像艺术而非科学)。

这适用于您的示例:

http://jsfiddle.net/pD8dn/2/