草庐IT

ARKit-SceneKit

全部标签

ios - ARKit - SceneView 显示错误位置 3D 模型

我正在研究ARKit,这是我的开始。我添加了3D模型以显示在我的ARSCNView上。我正在学习本教程:https://www.appcoda.com/arkit-3d-object/我使用的是本教程中提供的相同车型。当我将场景节点添加到rootNode时。模特位置不对。我的代码如下:@IBOutletweakvarsceneView:ARSCNView!funcaddCar(x:Float=0,y:Float=0,z:Float=-0.5){//Safelyinitializecar.daesceneguardletcarScene=SCNScene(named:"car.dae")

ios - 如何以编程方式在 SceneKit 中围绕立方体包装 png 纹理

我是SceneKit的新手...尝试让一些基本的东西工作但到目前为止没有太大成功。出于某种原因,当我尝试将png纹理应用于CNBox时,我最终只得到黑色。这是我在viewDidLoad中的简单代码片段:letsceneView=(viewasSCNView)letscene=SCNScene()letboxGeometry=SCNBox(width:10.0,height:10.0,length:10.0,chamferRadius:1.0)letmat=SCNMaterial()mat.locksAmbientWithDiffuse=truemat.diffuse.contents=

ios - SceneKit 3D 标记增强现实 iOS

过去几周,我一直致力于开发一个简单的概念验证应用程序,其中将3D模型投影到IOS中的特定增强现实标记(在我的例子中,我使用的是Aruco标记)(使用Swift和objective-C)我用特定的固定镜头位置校准了一个Ipad相机,并用它来估计AR标记的姿势(从我的调试分析来看,这似乎非常准确)。当我尝试使用SceneKit场景将模型投影到标记上时,问题似乎(令人惊讶,令人惊讶)。我知道opencv和SceneKit中的轴是不同的(Y和Z)并且已经完成了这个校正以及两个库之间的行顺序/列顺序差异。构建投影矩阵后,我将相同的变换应用到3D模型,从我的调试分析来看,对象似乎被平移到所需的位置

ios - 在 ARKit 中获取一个点的绝对位置

当我点击ARKit场景中的一个特定点时,我会得到该点相对于我的设备的位置(我说的对吗?)我想知道地球上该点的绝对位置,而不仅仅是相对于我的设备。到目前为止,我的逻辑是获取longitude、latitude、altitude、heading(指南针方向)和attitude(旋转)并据此计算出该点的绝对位置。想知道是否有比这更简单的方法。 最佳答案 ARKit没有任何用于跟踪设备位置或将内容放置在“绝对”地理空间坐标中的功能。实际上做到这一点(并且做得很好)是一个难题……但是有一些事情可以帮助您。首先,检查ARSessionConfi

ios - 如何使用 ARKit 放置 OBJ 类型的 3D 模型?

我需要一些帮助来使用新的appleARKit放置3D模型。是否可以放置类型为OBJ的对象?我正在尝试放置头骨的3d模型。//LoadtheOBJfileletbundle=Bundle.mainguardleturl=bundle.url(forResource:"Cranial",withExtension:"obj")else{fatalError("Failedtofindmodelfile")}letasset=MDLAsset(url:url)guardletobject=asset.object(at:0)as?MDLMeshelse{fatalError("Failedt

swift - ARKit - 在 Swift 3 中的平面上的 2 个矢量点之间放置一个 SCNPlane

这个问题在这里已经有了答案:Scenekitshapebetween4points(1个回答)关闭4年前。类似于您可以在ARKit中看到的一些测量应用程序,我有一个平面,上面有2个标记节点,并在2个节点之间画了一条线。不过我需要的是2个之间的SCNPlane。所以,如果你原来的是地板,你在墙的两边放了一个标记,你可以在你的AR世界中用SCNPlane代表物理墙。目前我正在放置带有以下代码的行:letline=SCNGeometry.lineFrom(vector:firstPoint.position,toVector:secondPoint.position)letlineNode=

ios - 如何使用 ARKit ARSKViewDelegate 渲染 jpg 图像?

我想将jpg图像渲染为漂浮在空间中的二维矩形。使用SpriteKit示例-如何从ARSKViewDelegate返回jpg图像?该演示返回一个SKLabelNode-是否有适合我从网络获取的jpg图像的Node类,也许是UIImage?funcview(_view:ARSKView,nodeForanchor:ARAnchor)->SKNode?{//Createandconfigureanodefortheanchoraddedtotheview'ssession.letlabelNode=SKLabelNode(text:"?")labelNode.horizontalAlignm

ios - SceneKit – Material 的 colorBufferWriteMask

我正在使用SceneKit(swift)并找到与SCNMaterial一起使用的colorBufferWriteMask参数。但它仍然适用于iOS11+。那么,有人知道像colorBufferWriteMask这样的参数可以在iOS9+上使用吗?谢谢。 最佳答案 在研究了scenekit之后,我找到了解决方案。首先,我创建了一个SCNNode(A),设置为不透明度=0.000001和渲染顺序=-1。第二,我创建其他SCNNode(B),设置为renderingOrder=100并添加A。所以,现在B的部分将被隐藏,这就像colorB

swift - 在 SceneKit 中导入 3D 模型 - Swift

我正在创建一个玩家可以控制立方体的游戏。他可以买新的立方体。我创建了这样的基本立方体://MAINCUBEmainCubeGeometry=SCNBox(width:0.2,height:0.2,length:0.2,chamferRadius:0.0)mainCubeGeometry.firstMaterial?.diffuse.contents=UIColor.redColor()mainCubeNode=SCNNode(geometry:mainCubeGeometry)mainCubeNode.position=SCNVector3(x:0.0,y:0.0,z:0.0)scen

ios - 如何在 React Native 中桥接 SceneKit?

我开始学习ReactNative组件创建。我有一个小的SceneKit项目,它在3dView中显示一个平面图(我从thistutorial开始)。我的目标是桥接此View以使用Javascript控制3D原生相机。我不知道从哪里开始。Web上所有关于创建组件的资源都远离我的范围,使用外部库或者对于像我这样的新手来说不够详细。我的scenekit项目有树文件:一个带有单个SceneKitView的main.storyboard(但是否与ReactNative组件兼容?)ControllerView和一个AppDelegate应用委托(delegate):importUIKit@UIApp