scenekit相关内容
我正在尝试通过 SceneKit & 在 .obj 3d 模型上应用 .mtl 文件纹理.模型 I/0. 当我尝试在其上应用 .jpg 纹理时,下面的代码工作正常: let url = NSBundle.mainBundle().URLForResource("chair", withExtension: "obj")让资产 = MDLAsset(URL: NSURL(string:ur
..
我正在尝试学习如何使用 SceneKit,例如,我想我会尝试使用 SDK 构建一个太阳系.我能够添加 SCNode 对象并配置其材质属性,例如图案和照明.此外,我能够旋转行星,但我似乎无法理解如何沿着特定路径“旋转"它们. 到目前为止我的代码看起来像: //创建一个新场景SCNScene *scene = [SCNScene 场景];//创建一个摄像机并将其添加到场景中SCNNode *c
..
我得到了三个点,需要绘制一条平滑的 3D 抛物线.问题是曲线断断续续,里面有一些奇怪的草皮 这是我的代码... func drawJump(jump: Jump){让 halfDistance = jump.distance.floatValue/2 as Float让 tup = CalcParabolaValues(0.0, y1: 0.0, x2: halfDistance, y2:
..
目标是为此 OBJ 文件重新创建光照:https://poly.google.com/view/cKryD9VnDEZ 将 OBJ 文件加载到 SceneKit 的代码(可以从上面的链接下载文件): let modelPath = "model.obj"让 url = NSURL(string: modelPath)让场景 = SCNScene(命名:modelPath)!SceneVie
..
我使用以下代码成功暂停了场景游戏: override func touchesBegan(touches: NSSet!, withEvent event: UIEvent!) {var touch:UITouch = touches.anyObject() as UITouchpauseText.text = "继续器"pauseText.fontSize = 50pauseText.posi
..
我一直在尝试使用 SceneKit 在球体外边缘的两点之间绘制一个圆柱体.我已经使用原始几何体和带有 SCNRendering Delegate 的 openGL 在这两个点之间生成了一条线,但是现在我需要在这两个点之间生成一个圆柱体(好吧,不仅仅是两个,而是位于球体表面的任意两个 3D 向量).我已经连续为此工作了大约 3 天,并且我已经完成了实现四元数以实现这一目标的所有方法,但就目前而言,我
..
我已经从 URL 导入了一个 Wavefront OBJ 文件,现在我想将它插入到我的 iOS 9 应用程序(在 Swift 中)上的场景 (SceneKit) 中.到目前为止,我所做的是: let asset = MDLAsset(URL: localFileUrl)print("count = \(asset.count)")//1 任何将其转换为 SCNNode 的帮助将不胜感激.根据
..
我使用 iPhone X 和 ARFaceKit 来捕捉用户的面部.目标是使用用户的图像对面部网格进行纹理化. 我只查看 AR 会话中的单个框架(ARFrame).从 ARFaceGeometry,我有一组描述人脸的顶点.我对当前帧的 capturedImage 进行 jpeg 表示. 然后我想找到将创建的 jpeg 映射到网格顶点的纹理坐标.我想: 将顶点从模型空间映射到世界空
..
我正在使用 ARKit 收集面部网格 3D 顶点.我已阅读:将图像映射到 3D 面部网格和跟踪和可视化人脸. 我有以下结构: struct CaptureData {var 顶点:[SIMD3]var verticesformatted:字符串{let verticesDescribed = vertices.map({ "\($0.x):\($0.y):\($0.z)" }).join
..
我已经在 SceneKit 中设置了一个场景,并发布了一个命中测试来选择一个项目.但是,我希望能够沿着场景中的平面移动该项目.不断收到鼠标拖动事件,但不知道如何将场景中的那些2D坐标转换为3D坐标. 我的情况很简单.相机位于 0, 0, 50 并指向 0, 0, 0.我只想沿 z 平面拖动我的对象,z 值为 0. 命中测试就像一个魅力,但我如何将鼠标点从拖动事件转换到场景中我正在拖动的
..
我有下一个代码: guard let feauturePoint = frame.hitTest(normalizedPoint, types: .featurePoint).first?.worldTransform else {返回}let anchor = MyAnchorSubclass(transform: feauturePoint, plus: someAdditionalInf
..
在 ARKit 示例源代码中,我可以看到“.scn"[场景套件文件].我想知道如何创建一个新的场景文件?让我们说一个硬币场景? 有什么网站可以下载吗?或学习如何创建一个供我使用?🤞 解决方案 您可以在 Xcode 的“新建文件"对话框中从头开始创建一个.它是一种资源类型(与 GPX 文件在同一区域).Chris Language 的关于构建 SceneKit 游戏的书有一个关于使用
..
我使用的是从 3dsMax 导出到 Blender 软件的 DAE 模型. 但是当我将它加载到 Xcode 中时,它的右侧会变得透明. 解决方案 我认为问题出在模型右侧的 Normals 上,它们可能正面临着错误的方向. 人脸的方向称为其Normal.有时会让面部 Normals 走错方向.很容易修复. 在编辑模式下选择脸部,然后 网格 > 法线 Blende
..
我使用 ARKit 1.5(测试版)进行图像检测.检测到图像后,我想使用检测到的平面放置 AR 场景图像.如何才能做到这一点? 到目前为止我的代码检测图像(在我的资产文件夹中): ///- 标签:ARImageAnchor-Visualizingfunc renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anc
..
我无法触发 didBeginContact 方法,我已经尝试了一段时间,但我无法发现错误,可以重新审视一下: - (void)viewDidLoad {[超级viewDidLoad];self.lastRender = nil;self.accelX = 0.0;self.accelY = 0.0;self.accelZ = 0.0;self.isLooping = TRUE;self.trip
..
我在 SceneKit 中使用 SCNLevelOfDetails. 我想知道是否有办法知道引擎何时更改特定节点几何的 levelOfDetails. 非常感谢. 解决方案 我正在回答我自己的问题.为了提供更多上下文,我们需要知道 LOD 何时更改以停止空闲动画,我们的模型已蒙皮.如果您在 LOD 更改时不禁用此动画会发生什么情况,即地理遍布整个地方并且看起来是错误的.
..
我有这本书,但我目前正在重新混合 AR/VR 周免费的视频教程中的家具应用程序. 我想要一个与检测到的墙壁/垂直平面对齐的 3D 墙壁画布. 事实证明这比我想象的要难.定位不是问题.就像家具放置应用程序一样,您只需获取 hittest.worldtransform 的 column3 并提供新的几何体向量 3 作为位置. 但我不知道我必须做什么才能让我的 3D 对象在对齐的检测平
..
我正在使用 SceneKit 和 ARKit 实现一个演示项目,其中我将相机放在一些图片上并从 url 播放视频.一切正常,但我无法停止之前的视频并开始另一个视频.以前的视频在后台播放.当我切换图像时有时会发生这种情况.我的实现是: @IBOutlet var sceneView: ARSCNView!var 视频名称 = [String]()var 播放器 = AVPlayer()var vi
..
我的目标是能够使用gestureRecognizer 移动/旋转AR 对象.虽然我让它适用于单个 AR 立方体,但我无法让它适用于多个立方体/对象. viewDidLoad 的主要部分: let boxNode1 = addCube(position: SCNVector3(0,0,0), name: "box")让 boxNode2 = addCube(position: SCNVec
..
目标:定义由 SCNPlane 表示的平面的法向量. 如 Apple 文档中所述使用矢量 - 计算三角形的法线,我可以根据平面的 3 个点计算法向量.这里的问题是我不知道如何获得 3 分,使他们能够制作出正确的三角形.我注意到 SCNPlane 有一个属性 boundingBox,它可以代表 2 个三角形顶点(min 和 max>).如何找到放置在 SCNPlane 上的第三个顶点?我不能使
..