您可以使用SCNSceneRenderer projectPoint:point:
将一个点从场景的 3D 世界坐标系投影到渲染器的 2D 像素坐标系。
let node:SCNNode = // Your node
let nodeWorldPosition = node.position
let nodePositionOnScreen = renderer.projectPoint(nodeWorldPosition)
let x = nodePositionOnScreen.x
let y = nodePositionOnScreen.y
Run Code Online (Sandbox Code Playgroud)
注意:从近(远)剪裁平面投影的点将具有 0(分别为 1)的 az 分量。
相同的方法可以用于ARAnchor:
let anchor:ARAnchor = // ...
let anchorWorldPosition = SCNVector3(anchor.transform.columns.3)
let anchorPositionOnScreen = renderer.projectPoint(anchorWorldPosition)
let x = anchorPositionOnScreen.x
let y = anchorPositionOnScreen.y
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1457 次 |
| 最近记录: |