13得票3回答
如何使用SceneKit在场景中找到我的鼠标指针?

我已经在SceneKit中设置了一个场景并发出了命中测试以选定一个项。但是,我想要能够沿着我的场景中的平面移动该项。我仍然可以接收到鼠标拖动事件,但不知道如何将这些2D坐标转换为场景中的3D坐标。 我的情况非常简单。相机位于0, 0, 50,并指向0, 0, 0。我只想将我的对象沿z值为0的...

9得票1回答
用射线拾取对象

我在检测鼠标在盒子内的点击时,使用了光线投射算法,但存在不准确的问题。我完全不知道如何正确修复它,这一直困扰着我已经几周了。 问题可以用图片最容易地描述(以[0, 0, -30]为中心的框): 黑色线条表示实际的碰撞盒,绿色盒子表示实际被点击的区域。请注意它的偏移量(如果盒子离原点越远,则...

9得票3回答
使用选择框选择3D表面(两种不同的方式)

我正在创建一款建模软件。我的模型全部由平面多边形组成,这些多边形只是由一系列顶点有序排列而成,并使用OpenGL进行显示。我进行了相当多的搜索,但惊讶地发现没有找到太多适用于我所需应用的信息。 我试图使用矩形框来选择表面。听起来很简单,但我希望它能像许多程序中那样工作。以下是我要求的功能: ...

7得票1回答
获取OpenGL中距离鼠标当前位置最近的世界3D点的3D坐标

在OpenGL上下文中,我发现可以将鼠标坐标转换为3D世界坐标(例如:MFC with Opengl get 3d coordinate from 2d coordinate of mouse)。然而,当我只有一组GLPoint和大量空白空间时,这种方法不起作用:当我将鼠标悬停在空白空间上时,...