我目前正在使用Box2D灯库和LibGDX开发游戏。
目前一切都很好,但是,我很难从ConeLight获取光线。
如果物体不在光线中,我希望停止渲染物体。有没有办法访问图书馆正在投射的光线,所以如果一个物体挡住了光线,我可以解决这个问题吗?
快速搜索JavaDocs和互联网没有产生任何结果。也许通过反思?
像light.setContactFiltering()
这样的方法存在,但它们只能阻止某些物体受到光线的影响。
我不希望光线投射自己来检测物体,而是尝试访问现有的光线投射以试图节省计算能力。
谢谢你的帮助!
答案 0 :(得分:1)
您可以使用来自灯光源的Box2D RayCasting来查看灯光的方向。如果情况正确,您也可以使用libGDX Cameras中内置的Frustum剔除
答案 1 :(得分:0)
经过一些研究,我意识到我在Light类中跳过了一个方法。
如果有人想检查点是否在灯光下,您可以使用light.contains(x,y)
希望这会派上用场。