Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想计算点击了立方体上的哪个面。我已经让鼠标向下 3D,我可以在鼠标的位置绘制 3D 的东西。
我现在需要做的就是计算正在触摸立方体的哪个面。
例如。我有一个函数,当我将大小、位置和鼠标位置传递给它时,它会返回人脸。上、下、左、右、前、后。
听起来很简单,但我没有最模糊的。
谢谢大家, SilentC
不确定您使用的是什么 API,但 OpenGL 有一个选择API,可以为您执行此操作
您只需计算立方体的每个面与由相机位置和视图平面上的鼠标位置定义的线的线平面交点。扔掉平面上但不在立方体表面上的所有交叉点,然后选择最接近的交叉点。
如果将立方体表示为十二个三角形,也可以使用线三角形交点。但在这两种情况下,您都必须提供更多信息以获得更具体的答案。