ios - 点击 3d 模型并在 ARKit 中执行操作
问题描述
我使用以下代码在 arkit 中投影了一个 3D 模型。我正在努力解决以下问题,当我点击投影模型时,我想知道父节点的名称。当我点击模型时,我想在屏幕上显示一个包含模型信息的 uiview。
@objc func didTap(withGestureRecognizer recognizer: UIGestureRecognizer) {
let tapLocation = recognizer.location(in: sceneView)
let hitTestResults = sceneView.hitTest(tapLocation, types: .existingPlaneUsingExtent)
guard let hitTestResult = hitTestResults.first else { return }
drone.position = SCNVector3(0,-0.5,-2)
sceneView.scene.rootNode.addChildNode(drone)
}
这是在场景视图中添加模型的无人机类
import ARKit
import SceneKit.ModelIO
class Drone: SCNNode {
func loadModel(url : URL,modelFormat : String) {
let scene = SCNScene(named: "top.scn")!
let wrapperNode = SCNNode()
for child in scene.rootNode.childNodes {
wrapperNode.addChildNode(child)
}
addChildNode(wrapperNode)
}
}
解决方案
推荐阅读
- python - python lambda函数中的导入模块
- android - ARCore transformCoordinates2d() 从视图到 CPU 图像的结果?
- c - 如何将字符串传递给 web 服务器上的 test.cgi?
- javascript - 尽管 sql.close() 已经存在全局连接
- sql - 将聚合函数 SUM 与列相乘?
- typescript - 无法在泛型类型上使用 Partial
- sql - Postgres多个列上的多个谓词
- javascript - 故事书自定义字体未显示
- ui.bootstrap - ui.bootstrap modal 不加载模态内容,它只显示背景
- node.js - AWS Serverless + Cloud Formation:单一功能部署时出错 - Windows 10 Env