1
A
回答
1
在Xcode中創建與SceneKit和對象 - 一個新的AR項目,然後將這些到ViewController.m:
//as a class or global variable:
NSMapTable *planes;
//add to viewWillAppear:
configuration.planeDetection = ARPlaneDetectionHorizontal;
//to viewDidLoad:
planes = [NSMapTable mapTableWithKeyOptions:NSMapTableStrongMemory
valueOptions:NSMapTableWeakMemory];
//new functions:
- (void)renderer:(id<SCNSceneRenderer>)renderer didAddNode:(SCNNode *)node forAnchor:(ARAnchor *)anchor {
if([anchor isKindOfClass:[ARPlaneAnchor class]]){
[planes setObject:anchor forKey:node];
ARPlaneAnchor *pa = anchor;
SCNNode *pn = [SCNNode node];
[node addChildNode:pn];
pn.geometry = [SCNPlane planeWithWidth:pa.extent.x height:pa.extent.z];
SCNMaterial *m = [SCNMaterial material];
m.emission.contents = UIColor.blueColor;
m.transparency = 0.1;
pn.geometry.materials = @[m];
pn.position = SCNVector3Make(pa.center.x, -0.002, pa.center.z);
pn.transform = SCNMatrix4MakeRotation(-M_PI/2.0, 1, 0, 0);
}
}
- (void)renderer:(id<SCNSceneRenderer>)renderer didUpdateNode:(SCNNode *)node forAnchor:(ARAnchor *)anchor {
if([anchor isKindOfClass:[ARPlaneAnchor class]]){
[planes setObject:anchor forKey:node];
ARPlaneAnchor *pa = anchor;
SCNNode *pn = [node childNodes][0];
SCNPlane *pg = pn.geometry;
pg.width = pa.extent.x;
pg.height = pa.extent.z;
pn.position = SCNVector3Make(pa.center.x, -0.002, pa.center.z);
}
}
- (void)renderer:(id<SCNSceneRenderer>)renderer didRemoveNode:(nonnull SCNNode *)node forAnchor:(nonnull ARAnchor *)anchor{
[planes removeObjectForKey:node];
}
你會看到半透明的平面,給m.emission.contents
紋理如果你感覺如此。
相關問題
- 1. ARKit平面檢測
- 2. 可視化SVM的超平面方程
- 3. 可視化能效水平
- 4. ARKit透視校正
- 5. 擴展ARKit視圖
- 6. 在2D平面上可視化圖表的算法?
- 7. ARkit - 日提交的視圖
- 8. ARKit +物體識別視覺
- 9. ARKIT平面檢測在iPhone 6s上有問題嗎?
- 10. ARKit - 沿特定軸拖動節點(不在平面上)
- 11. 谷歌可視化水平軸標籤
- 12. ARKit將SCNNode面向相機
- 13. 四面體化可視化Octave
- 14. 如何使用ILPlotCube對象可視化XY,XZ和YZ平面視圖?
- 15. 非平面圖平面化算法
- 16. 可視化基本可視化
- 17. 可視化C# - WPF頁面名稱
- 18. 可視化表面下的體積
- 19. github頁面提供javascript/d3可視化
- 20. 方法來可視化Hyperledger面料V1.0
- 21. Laravel可視化頁面生成器包
- 22. ARKit拖動對象的變化規模
- 23. 你如何截圖ARKit相機視圖?
- 24. 視覺框架與ARkit和CoreML
- 25. 添加視頻輸出ARKit應用
- 26. SCNBox使正面旋轉到相機ARKit
- 27. 無法加載模塊「Arkit」爲「ARKit」
- 28. 如何使用iOS 11(Scenekit)的ARKIT在水平面上找到障礙物?
- 29. 在ARKit中,ARSKViewDelegate中的平面檢測委託方法是什麼?
- 30. 平面佈局的視圖
完美,謝謝! – JHarden13