Java 访问由Box2D灯光投射的光线
我目前正在用Box2D lights库和LibGDX开发一个游戏 目前一切都很好,但是,我很难从聚光灯获取光线 如果对象不在光线中,我希望停止渲染它们。有没有办法访问库正在投射的光线,这样我就可以确定某个对象是否挡住了光线 通过JavaDocs和互联网快速搜索没有结果。也许是通过思考?Java 访问由Box2D灯光投射的光线,java,libgdx,box2d,raycasting,box2dlights,Java,Libgdx,Box2d,Raycasting,Box2dlights,我目前正在用Box2D lights库和LibGDX开发一个游戏 目前一切都很好,但是,我很难从聚光灯获取光线 如果对象不在光线中,我希望停止渲染它们。有没有办法访问库正在投射的光线,这样我就可以确定某个对象是否挡住了光线 通过JavaDocs和互联网快速搜索没有结果。也许是通过思考? 像light.setContactFiltering()这样的方法存在,但是它们只能阻止某些对象受到灯光的影响 我不希望通过光线投射自己来检测对象,而是尝试访问现有的光线投射,以尝试节省计算能力 谢谢你的帮助 您
像
light.setContactFiltering()
这样的方法存在,但是它们只能阻止某些对象受到灯光的影响
我不希望通过光线投射自己来检测对象,而是尝试访问现有的光线投射,以尝试节省计算能力
谢谢你的帮助 您可以使用Box2D光线投射,从光源沿灯光方向投射光线,并查看它击中了什么。如果情况合适,您也可以在libGDX相机中使用内置的截锥剔除经过进一步研究,我意识到我跳过了Light类中的一个方法 如果有人想检查点是否在灯光内,可以使用
light.contains(x,y)
希望这能派上用场 可能的重复如果其他可能的重复答案没有意义,那么:获取锥形灯光的详细信息,然后根据灯光的点、半径进行快速计算,圆锥体的方向和角度,你将能够计算出哪些物体受到光线的影响,并以此为基础进行渲染。我将看看是否可以使用基于半圆的公式来检测该区域中的物体。谢谢你的主意