作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我尝试从 ARSession
的 currentFrame.camera
属性获取相机变换。
为什么我总是将 sceneView.session.currentFrame?
获取为 nil
?
最佳答案
我刚刚进行了快速测试,发现 session.currentFrame
在前几次通过渲染循环时为 nil。延迟各不相同,可能是两个或十几个。但最终 currentFrame
出现了。
class ViewController: UIViewController, ARSCNViewDelegate, ARSessionDelegate, SCNSceneRendererDelegate {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Create a session configuration
let configuration = ARWorldTrackingSessionConfiguration()
configuration.worldAlignment = .gravityAndHeading
configuration.planeDetection = .horizontal
sceneView.session.delegate = self
// Run the view's session
sceneView.session.run(configuration)
print(#function, sceneView.session.currentFrame)
}
// MARK: - SCNSceneRendererDelegate
func renderer(_ renderer: SCNSceneRenderer, didRenderScene scene: SCNScene, atTime time: TimeInterval) {
print(#function, sceneView.session.currentFrame)
}
// MARK: - ARSessionDelegate
func session(_ session: ARSession, didUpdate frame: ARFrame) {
print(#function, sceneView.session.currentFrame)
}
给我们
renderer(_:didRenderScene:atTime:) nil
...
session(_:didUpdate:) Optional(<ARFrame: 0x1c42cff10 timestamp=6334.963644 capturedImage=0x1c0124d80 camera=0x1c41262c0 lightEstimate=0x1c4238640 | no anchors, 0 features>)
...
renderer(_:didRenderScene:atTime:) Optional(<ARFrame: 0x1c02c9c30 timestamp=6334.996948 capturedImage=0x1c0124b00 camera=0x1c0124920 lightEstimate=0x1c02251a0 | no anchors, 0 features>)
关于ios - ARKit session 的 currentFrame 始终为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44902754/
跟进这个答案:https://stackoverflow.com/a/17366561/1982118 在我的 macbook pro 2015(2.8 GHz Intel Core i7)和 pyt
根据docs : inspect.currentframe() Return the frame object for the caller’s stack frame. CPython implem
我之前问过类似的问题并得到了很好的答复,所以如果这有点令人沮丧,我深表歉意。希望这会很快。我正在设计一个交互式 Flash 教程,以努力解释一个复杂的生物学问题,并且我已经构建了时间轴,以便不超过两帧
我尝试从 ARSession 的 currentFrame.camera 属性获取相机变换。 为什么我总是将 sceneView.session.currentFrame? 获取为 nil? 最佳答案
我是一名优秀的程序员,十分优秀!