草庐IT

ARKit版

全部标签

ios - 如何在 ARKit 和 SceneKit 中正确缩放 DAE 模型?

我目前正在尝试合并以下来源:ApplesSceneKitVehicleDemo,Resp.itsSwiftversion,ARKitbyexample,和resp.itsSwiftversion.每个项目本身就像一个魅力(尽管我更改了车辆演示,以便可以通过屏幕上的按钮控制汽车)。现在,当我尝试结合这两个项目来创建增强现实赛车游戏时,我遇到了关于汽车.dae模型大小的问题:它太大了。我可以使用(底盘)节点.scale属性缩放模型,但是只要我添加SCNPhysicsVehicle属性和行为,汽车就会重置(?)到其原始大小。我尝试在Xcode中缩放模型(打开dae文件,更改比例),但它的边界

ios - ARKit:position vs worldposition vs simdposition

请用非常简单的语言解释上述3个位置之间的区别。我想知道何时使用一个与另一个。 最佳答案 worldPosition是场景中相对于世界中心(0,0,0)的位置,也就是场景的rootNode所在的位置。位置是节点相对于其父节点的位置。如果该节点是rootNode的子节点,则该位置与worldPosition相同。如果该节点是不在0,0,0和/或未旋转的父节点的子节点,则该位置将是相对于父节点的偏移量,而worldPosition将是子节点在场景中的实际位置。simdPosition与position相同,但属于simd相关函数可以使用的

ios - 如何在 arkit (swift4) 上添加黑白滤镜

我想要做的就是将基本的arkitView转换为黑白View。现在基本View是正常的,我不知道如何添加过滤器。理想情况下,在截取屏幕截图时,黑白过滤器会添加到屏幕截图上。importUIKitimportSceneKitimportARKitclassViewController:UIViewController,ARSCNViewDelegate{@IBOutletvarsceneView:ARSCNView!overridefuncviewDidLoad(){super.viewDidLoad()sceneView.delegate=selfsceneView.showsStati

ios - ARKit:ARFrame.timestamp 代表什么?

在ARKit中,ARFrame.timestamp是一个TimeInterval,其值如下185726.884258291185726.91759425185726.950930291...我想从这些值中获取unix时间戳,但它们看起来并不眼熟。这些数字代表什么? 最佳答案 这些数字表示捕获帧时的正常运行时间,您可以通过调用自己查看NSTimeIntervalsystemUptime=[[NSProcessInfoprocessInfo]systemUptime];Methodsandthoughtsaboutconvertingi

ios - ARKit 模板 Xcode 项目 Main Thread Checker 日志控制台

我刚刚启动了一个新的XcodeARKit项目并在物理设备上运行它,但在控制台中我得到了这个输出:MainThreadChecker:UIAPIcalledonabackgroundthread:-[UIApplicationapplicationState]PID:4865,TID:2042694,Threadname:com.apple.CoreMotion.MotionThread,Queuename:com.apple.root.default-qos.overcommit,QoS:0Backtrace:4libobjc.A.dylib0x00000001d7477894+565

ios - ARKit session 的 currentFrame 始终为 nil

我尝试从ARSession的currentFrame.camera属性获取相机变换。为什么我总是将sceneView.session.currentFrame?获取为nil? 最佳答案 我刚刚进行了快速测试,发现session.currentFrame在前几次通过渲染循环时为nil。延迟各不相同,可能是两个或十几个。但最终currentFrame出现了。classViewController:UIViewController,ARSCNViewDelegate,ARSessionDelegate,SCNSceneRendererDe

ios - 你知道如何使用 ARKIT 旋转 3D 模型以面对相机吗?

我有2个问题要放置3D对象。如果创建的3D对象(例如汽车)面向汽车的门侧作为相机的正面,我如何旋转3D对象使其正常?例如,旋转汽车,使汽车的发动机侧成为相机的正面。2.如何将3D对象放置在平面上,方法是将对象面向相机。移动手机摄像头以查看物体的背面。我在iOS11及更高版本、ARKIT上使用XCode9.1 最佳答案 要旋转汽车节点,您只需调整eulerAngles直到汽车朝向相机。node?.eulerAngles=SCNVector3Make(0,Float(degToRadians(degrees:180)),Float(de

ios - 如何在旧的 iOS 设备上使用 ARKit?

在iOS11测试版中,ARKit应用程序即使在使用应该与旧设备兼容的3DOF时也会崩溃?如果不支持ARKit,我该如何防止应用程序崩溃? 最佳答案 支持的设备从iOS11开始,您can't在旧设备上使用ARKit:ImportantARKitrequiresaniOSdevicewithanA9orlaterprocessor.TomakeyourappavailableonlyondevicessupportingARKit,usethearkitkeyintheUIRequiredDeviceCapabilitiessectio

iOS11 ARKit : Can ARKit also capture the Texture of the user's face?

我上下阅读了所有ARKit类的完整文档。我没有看到任何描述实际获取用户面部纹理的能力的地方。ARFaceAnchor包含ARFaceGeometry(由顶点组成的拓扑和几何)和BlendShapeLocation数组(坐标允许通过在用户面部顶点上操纵几何数学来操纵个人面部特征)。但是我在哪里可以获得用户面部的实际纹理。例如:实际肤色/颜色/质地、面部毛发、其他独特特征,如疤痕或胎记?或者这根本不可能? 最佳答案 你想要一张纹理贴图样式的面部图像吗?没有API可以让您完全做到这一点,但您需要的所有信息都在那里:ARFrame.capt

ios - 在 ARKit 中放置、拖动和删除 SCNNode

我正在使用ARKit开发一个小项目。我希望能够在点击时将对象添加到我的ARSceneView,通过双击删除它们,并通过平移或拖动来拖动主题。放置对象的初始点击工作正常,但我在节点移除和拖动方面遇到了一些问题。删除和拖动的主要问题是很难真正“按住”或单击SCNNode。大多数结果最终不在我添加的SCNNode上。第二个问题是拖动有点问题,SCNNode并没有像我的手指在拖动上移动那么多。我决定在github上创建一个项目,链接在这里:https://github.com/theraad/ARAttempt但我还将在此处发布删除对象和拖动对象的代码:-(void)handleRemoveO