【发布时间】:2015-01-03 06:03:26
【问题描述】:
我有一个正在移动和旋转的 3D 对象。
我想要实现的是在屏幕上显示我的 3D 对象周围的 2D 框。 (我会将其 2D 框定义为投影到屏幕上时包含我的 3D 对象的最小矩形。)
这是一个快速绘图来说明我的意思:http://img4.hostingpics.net/pics/719280exemple.png
我尝试使用 3D 边界框,但生成的 2D 投影太大(旋转的 3D 框的投影角可能与实际顶点相距很远)。跟随 3D 对象旋转的 2D 边界框也不起作用(因为它是平的,例如绕 x 轴旋转 90° 会将我的 2D 框投影为一条线)
另一种方法是查看我的 3D 对象的所有顶点并确定哪些是 x/y 中的最小值/最大值。然而:(i) 这可能会消耗 cpu,尤其是对于大型模型,并且 (ii) 我无论如何都找不到访问 3D 对象的(转换后的)顶点的方法 - 我正在使用 libgdx。
有人知道如何实现这一目标吗?
非常感谢
PS:我也在 libgdx 论坛上发布了这个,但我想这不仅仅是与 libgdx 相关的
【问题讨论】:
-
您是否尝试过
project与您正在渲染的相机的 3d 边界框? -
谢谢。这确实可行。然而,我的挣扎与 libgdx 错误有关(参见下面我的回答)