访问 Box2D Lights 投射的光线
Access rays cast by Box2D Lights
我目前正在使用 Box2D 灯光库和 LibGDX 开发游戏。
目前一切正常,但是,我无法访问来自 ConeLight 的光线。
如果对象不在光线中,我希望停止渲染对象。有没有什么方法可以访问图书馆投射的光线,这样我就可以计算出是否有物体挡住了光线?
通过 JavaDocs 和 Internet 快速搜索没有得到任何结果。也许通过反思?
light.setContactFiltering()
之类的方法存在,但它们只能阻止某些对象受到光线的影响。
我不希望自己进行光线投射来检测物体,而是尝试访问现有的光线投射以尝试节省计算能力。
感谢您的帮助!
您可以在光源的方向上使用来自光源的 Box2D RayCasting,看看它击中了什么。如果情况合适,您还可以在 libGDX Cameras
中使用内置的 Frustum 剔除
经过更多研究,我意识到我跳过了 Light 中的一个方法 class。
如果有人想检查一个点是否在一盏灯内,你可以使用light.contains(x,y)
希望这能派上用场。
我目前正在使用 Box2D 灯光库和 LibGDX 开发游戏。
目前一切正常,但是,我无法访问来自 ConeLight 的光线。
如果对象不在光线中,我希望停止渲染对象。有没有什么方法可以访问图书馆投射的光线,这样我就可以计算出是否有物体挡住了光线?
通过 JavaDocs 和 Internet 快速搜索没有得到任何结果。也许通过反思?
light.setContactFiltering()
之类的方法存在,但它们只能阻止某些对象受到光线的影响。
我不希望自己进行光线投射来检测物体,而是尝试访问现有的光线投射以尝试节省计算能力。
感谢您的帮助!
您可以在光源的方向上使用来自光源的 Box2D RayCasting,看看它击中了什么。如果情况合适,您还可以在 libGDX Cameras
中使用内置的 Frustum 剔除经过更多研究,我意识到我跳过了 Light 中的一个方法 class。
如果有人想检查一个点是否在一盏灯内,你可以使用light.contains(x,y)
希望这能派上用场。