我想创建一个SpotLight
,使阴影贴图覆盖特定的拼写区域,或PlaneGeometry
。但是,默认设置似乎会根据灯光的截头积分创建阴影区域。鉴于截头体与飞机相比旋转和缩放,不可能简单地改变截头体。我必须使它非常大以覆盖预定的区域,然后分辨率很低。
是否有某种方法可以创建在特定收件人区域(平面或正交区域)上计算阴影的灯光?
答案 0 :(得分:0)
你应该创建第二个聚光灯,它是第一个聚光灯的子元素,位置设置为0,0,0。你应该将目标设置为飞机。并且只有阴影设置为真。
这样你可以假装第一个聚光灯,但是有一个详细的阴影贴图。
编辑旧答案(误导):
可以使用定向光来创建正交 阴影。
https://github.com/mrdoob/three.js/blob/master/src/extras/renderers/plugins/ShadowMapPlugin.js#L169
此方向灯可以设置为仅阴影。
https://github.com/mrdoob/three.js/blob/master/src/lights/DirectionalLight.js#L16
可以使用shadowCamera设置预期的帧。
https://github.com/mrdoob/three.js/blob/master/src/lights/DirectionalLight.js#L20-L26
可以通过将位置设置为计算来设置角度 飞机正常。