用box2Dlights照明阴影铸造精灵

我目前有这样的东西使用box2Dlights 玩家点亮硬阴影

理想情况下,我希望物体投下阴影,所以物体被点亮,但周围依然有阴影。 现在这个物体被阴影覆盖了。 我知道box2dlights中的柔和和柔和的长度设置,但这不是我正在寻找的。 柔软性似乎从玩家的某个半径照亮,而不是仅仅照亮物体。 它结束了一种奇怪的样子: 球员点柔和长度= 1.5f 因此,例如在上面的图片中,我希望整个灰色框被点亮,并且没有左/右/后面的区域被点亮。

任何想法将不胜感激。 谢谢

RayHandler渲染器会创建一个黑色和白色蒙版,并用它遮罩Alpha通道,因此某些部分会变暗

你可以做的是检测一个对象现在应该减轻(也许使用RayHandler.pointAtLight(x,y) ,或计算光的辐射)

并编辑蒙版,使物体的整个区域完全是白色的(或与其边缘一样轻)

我的猜测是编辑RayHandlers渲染方法。 你可以看到它清除了面具是黑色的,并添加了灯光的白色区域。

 // line 312: for (Light light : lightList) { light.render(); } 

所以只需在那里添加你的白色矩形,他们将被点燃。

当然也可以将柔和度设置为低或零值。