SceneKit,'hit' 相机方向和几何之间的测试
SceneKit, 'hit' testing between camera orientation and geometry
我目前正在关注 David Roonqvist 的 3D Graphics with SceneKit 一书。
第 5 章涉及命中测试,实现它没有问题,但只涉及他对鼠标事件的测试。
现在,我知道我的相机的方向将始终与某个几何体相交。
我需要获取相机方向与几何图形交点的纹理坐标
关于如何进行的任何指示?我一直在寻找没有太大的成功。
感谢任何帮助。
我没试过,但是...
SCNHitTestResult
returns,除此之外,textureCoordinatesWithMappingChannel(_:)
。文档引用了在被激光击中后向游戏角色的纹理添加焦痕的示例。
看来SCNNode
的
hitTestWithSegmentFromPoint(_ pointA: SCNVector3,
toPoint pointB: SCNVector3,
options options: [String : AnyObject]?) -> [SCNHitTestResult]
无论相机的方向如何,都会在相机和几何体之间为您提供所需的命中。如果相机和目标使用不同的局部节点坐标系,则必须使用 convertPosition(_:from:Node:)
或类似函数进行一些转换。
我目前正在关注 David Roonqvist 的 3D Graphics with SceneKit 一书。
第 5 章涉及命中测试,实现它没有问题,但只涉及他对鼠标事件的测试。
现在,我知道我的相机的方向将始终与某个几何体相交。
我需要获取相机方向与几何图形交点的纹理坐标
关于如何进行的任何指示?我一直在寻找没有太大的成功。
感谢任何帮助。
我没试过,但是...
SCNHitTestResult
returns,除此之外,textureCoordinatesWithMappingChannel(_:)
。文档引用了在被激光击中后向游戏角色的纹理添加焦痕的示例。
看来SCNNode
的
hitTestWithSegmentFromPoint(_ pointA: SCNVector3,
toPoint pointB: SCNVector3,
options options: [String : AnyObject]?) -> [SCNHitTestResult]
无论相机的方向如何,都会在相机和几何体之间为您提供所需的命中。如果相机和目标使用不同的局部节点坐标系,则必须使用 convertPosition(_:from:Node:)
或类似函数进行一些转换。