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

eqi*_*roo 6 javascript three.js

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

阴影

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


编辑:

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

阴影

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

提前致谢,

alt*_*edq 6

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

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

light.shadowBias = 0.001;
Run Code Online (Sandbox Code Playgroud)

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

这适用于您的示例:

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

  • 是的,这就是我的意思,使用阴影贴图,您需要使用参数(分辨率,光锥尺寸和位置,偏差)并在不同类型的人工制品之间找到平衡点.请注意,偏差可能对微小的变化非常敏感,试验它并看到效果. (3认同)