2

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

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

我试过的:

  1. 从 Touch Handler 模拟 MouseEvent 并触发该事件。从事件中得到的 PickResult 始终为空。
  2. 使用常用方法:通过调用(已弃用)方法:Ray/Node 碰撞 Node.impl_pickNode(pickray, result),所以我尝试获取 PickRay:
    1. 通过调用: Camera.computePickRay(double x, double y, PickRay pickRay),但该方法不是公开的...
    2. 构建它,但我需要将屏幕坐标转换为 3D 坐标,但不知道如何使用 JFX API 来完成。

感谢您的任何意见!

4

1 回答 1

1

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

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

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

于 2014-12-23T14:33:18.313 回答