从屏幕坐标中选择JavaFX中的3D节点

时间:2014-11-27 21:35:24

标签: 3d javafx coordinates javafx-3d

有没有办法在屏幕坐标的JFX场景中选择3D节点?

知道我没有使用鼠标,但使用自定义触控处理程序(不是JFX Touch事件)。

我尝试过的事情:

  1. 从触控处理程序模拟MouseEvent并触发事件。从事件中获取的PickResult始终为null。
  2. 使用常见方式:通过调用(不建议使用)方法:Node.impl_pickNode(pickray, result)来解决Ray / Node冲突,所以我试图获取PickRay:
    1. 致电:Camera.computePickRay(double x, double y, PickRay pickRay),但该方法不公开......
    2. 构建它,但我需要转换3D坐标中的屏幕坐标,但不知道如何使用JFX API。
  3. 感谢您的任何意见!

1 个答案:

答案 0 :(得分:1)

Jose Pereda最近为免费开源F(X)yz库贡献了一个RayCasting示例:

https://github.com/Birdasaur/FXyz/blob/master/src/org/fxyz/tests/RayTest.java

它仍然在不断变化,但它可能会为您提供所需的一切。这类似于这个问题,他和@ jdub1581尝试解释javafx-8-3d-scene-intersection-point