我想用类似于平行光处理整个场景的方式来照亮播放器周围的所有东西。因为我正在做一个自上而下的视图项目,所以我应该能够看到地面上的椭圆光
我试着用两层来达到这个效果:一层用于除要被照亮的区域之外的所有东西,另一层包含要被照亮的区域和一个额外的光源:
new three.SpotLight(0xffffff, .6, 0, Math.PI / 3, 0, 0);光总是在玩家的顶部,玩家是它的目标。
它可以工作,但有两个问题:它不是平行光,所以我不能在不同的面孔上实现那些好看的阴影;光不是一直在椭圆:

当灯光投射在导入的模型上时,在播放器周围的地面上确实是一个很好的椭圆形,但对于编程生成的几何图形,情况似乎并非如此。我的猜测是,一个面只能应用一种来自光源的颜色,但使几何体变得更加复杂,将在正确的灯光计算之上增加额外的开销。
我在想,是否有可能将平行光限制在球体内部
发布于 2021-09-18 13:17:28
我认为你可以使用层:https://threejs.org/docs/#api/en/core/Layers
此外,尝试使用来自HDR的灯光(检查PMREM生成器),它可以提供很好的效果,您可以结合您的灯光,使场景看起来更好。
https://stackoverflow.com/questions/69199314
复制相似问题