【发布时间】:2009-08-19 17:46:45
【问题描述】:
我想计算立方体上的哪个面被点击了。我已经将鼠标置于 3D 状态,我可以在鼠标的位置以 3D 形式绘制东西。
我现在需要做的就是计算正在触摸立方体的哪个面。
EG。我有一个函数,当我将大小、位置和鼠标位置传递给它时,它会返回人脸。上、下、左、右、前、后。
听起来很简单,但我没有最模糊的。
谢谢大家, 沉默C
【问题讨论】:
标签: 3d lua mouse onclick mouseover
我想计算立方体上的哪个面被点击了。我已经将鼠标置于 3D 状态,我可以在鼠标的位置以 3D 形式绘制东西。
我现在需要做的就是计算正在触摸立方体的哪个面。
EG。我有一个函数,当我将大小、位置和鼠标位置传递给它时,它会返回人脸。上、下、左、右、前、后。
听起来很简单,但我没有最模糊的。
谢谢大家, 沉默C
【问题讨论】:
标签: 3d lua mouse onclick mouseover
不确定您使用的是什么 API,但 OpenGL 有一个 selection API,它可以为您执行此操作
【讨论】:
您只需为立方体的每个面计算一个line plane intersection,并使用由相机位置和鼠标在视图平面上的位置定义的线。扔掉平面上但不在立方体表面上的所有交点,并选择最近的一个。
如果您将立方体表示为十二个三角形,您也可以使用线三角形交点。但在这两种情况下,您都必须提供更多信息才能获得更具体的答案。
【讨论】: