gpt4 book ai didi

java - 使用 LWJGL 在 Java 中光线转换透明 PNG

转载 作者:行者123 更新时间:2023-12-01 14:20:35 25 4
gpt4 key购买 nike

我正在制作一个游戏,我喜欢为英雄的激光(以及 future 的其他东西)实现光线转换,我将我的 Sprite 放在 Sprite 表中,我在开始时绑定(bind)它并在绘制时访问,因为每个元素都知道如何进行操作绘制自身,但 spritesheet 是 PNG,因此某些元素具有透明度,这在 openGL 中工作正常。我知道每个元素的位置、大小等,但如果某些 Sprite 具有透明度,则位置和大小不足以使光线转换完美,因为它只会击中“边界框”。那么有没有一种方法可以使用 Bresenham 算法抛出光线(我相信这是最简单的方法,如果我错了请纠正我)并使其在 openGL 中像素完美,以便我可以获取光线与实际非光线的碰撞点-第一个 Sprite 的透明区域出现在路上?

最佳答案

没有简单的方法可以做到这一点。您必须为光线转换创建一个自定义碰撞检查器,以查看它是否会穿过或是否会与 Sprite 的一部分发生碰撞。

但是,使用较小的边界框或圆圈来表示它或两者都可能是更好的主意。与检查纹理中的每个像素相比,这些计算起来更加容易和快捷。

关于java - 使用 LWJGL 在 Java 中光线转换透明 PNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17606436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com