scenekit相关内容

如何为ARKit创建场景文件?

在ARKit示例源代码中,我可以看到“.scn”[场景工具包文件]。 我想知道如何创建一个新的场景文件? 比方说硬币场景? 有可以下载的网站吗?或学习如何创建一个供我使用?🤞 推荐答案 您可以在Xcode的“新建文件”对话框中从头开始创建一个。它是一种资源类型(与GPX文件位于同一区域)。Chris Language关于构建SceneKit游戏的书中有一个非常好的章节,介绍了X ..
发布时间:2022-05-18 14:52:55 移动开发

在SCNScene中添加摄像头

import UIKit import SceneKit class Scene: SCNScene { var cameraPosition = SCNVector3Make(0, 0, 10) var lightPosition = SCNVector3Make(0, 0, 0) var ship = SCNNode() func setup() { ..
发布时间:2022-04-14 12:09:23 移动开发

使用SceneKit进行命中测试不通过SCNNode返回命中

XCode中的文档清楚地指出,当您计划测试3D线段时,可以使用SCNRender、SCNView或SCNNode本身在SceneKit中测试几何图形。我可以使用没有渲染器或视图的SCNScene节点,因此我计划使用SCNNode hitTesting。我创建了一个SCNScene,在其中放了一个SCNNode,并测试了一条通过的简单光线,但我总是得到一个空的命中列表,我不知道为什么: imp ..
发布时间:2022-04-14 12:06:24 移动开发

如何在XCAssets中使用立方体纹理类型

我正在尝试学习SceneKit开发,并尝试在后台添加一个Skybox。 为了存储立方体贴图纹理,我发现XCAssets有一个似乎非常适合的类型Cube Texture Set。 然而。我还没有找到在代码中访问纹理的任何方法(例如,作为调用UIImage(named: "asset_name")的图像集)。我已尝试从资产创建SKTexture、MDLTexture、MTKTexture,但未成 ..
发布时间:2022-04-14 12:03:36 移动开发

SCNNode.fltenedClone()不会减少绘制调用

我正试图通过减少绘制调用来优化我的SceneKit应用程序。从Apple Documentation和许多WWDC的谈话中可以看出,通过fltenedClone()将多个子节点合并为一个节点应该会减少绘制调用,但我无法使用此方法来减少绘制调用。 我附上了一个简单的示例SceneKit应用程序,该应用程序演示了FltenedClone如何不会减少绘制调用。 当应用程序启动时,会显示5个对 ..
发布时间:2022-04-14 12:01:18 其他开发

为什么场景工具包的PhysicsWorld didBeginContact会因为一次碰撞而多次开火?

我正在使用SceneKit的PhysiicsBody系统来检测对象之间的碰撞,并获得了一些非常奇怪的结果。为了说明这一点,我举了一个最小的例子,它生成了两个带有运动学物理的球体,并使它们沿直线移动,从而使它们短暂重叠。 我期望看到PhysicsWorld(:didBeginContact:)在球体第一次重叠时被调用一次,而PhysicsWorld(:didEndContact:)在它们停止重 ..
发布时间:2022-04-14 11:58:30 移动开发

我能让SCNBox变得可点击和互动吗?

我正在尝试使用SwiftUI中的SCNBox创建旋转立方体,您可以在其中点击框的每一侧,不同的弹出屏幕/视图将出现文本等。我有旋转的SCNBox立方体,但如何使其可点击和交互,以及如何使其重定向到其他视图? 这就是我当前尝试将Box场景插入到SwiftUI视图中的方法,然后该视图将进入正在退出的应用程序的视图层次结构。 import SwiftUI import SceneKit c ..
发布时间:2022-04-14 11:56:53 移动开发

在SceneKit中,摄像机没有跟踪飞机

我有一架正在飞行的飞机,我正在跟踪它,我还显示了飞机所走的路线。我画圆柱体作为画路径的线。这就像是在两个点之间划了一条线。我有一个CameraNode,最初设置为(0,200,200)。在这一点上我可以看到飞机。但当我开始飞行的时候。它从屏幕上消失了。我想要两样东西: 只跟随飞机(路径无关紧要)。 显示整个路径和飞机。 我试着求最小ad max x,y和z并取平均值,但不起作用。如果 ..
发布时间:2022-04-14 11:49:37 移动开发

纹理ARMesh来自ARKit相机框架的几何图形?

这个问题在一定程度上建立在thisPOST的基础上,其中的想法是从带有LiDAR扫描仪的iOS设备中获取ARMeshGeometry,计算纹理坐标,并将采样的相机帧作为给定网格的纹理应用,从而允许用户创建其环境的照片级真实感和3D表示。 根据该帖子,我调整了其中一个响应来计算纹理坐标,如下所示; func buildGeometry(meshAnchor: ARMeshAnchor, ..
发布时间:2022-04-14 11:46:17 其他开发

ARKit在参考图像消失时移除节点

我正在构建AR Scanner应用程序,用户可以在其中扫描不同的图像并因此获得奖励。 当他们将摄像头对准某个特定图像时-我将SCNNode放在该图像的顶部,并在他们从该图像移除摄像头后-SCNNodeGET被解雇。 但当图像消失且摄像机保持在同一位置时SCNNode未被解雇。 如何使其与参考图像一起消失? 我在这里研究了很多其他答案,但它们对我没有帮助 以下是添加和删 ..
发布时间:2022-04-09 12:44:17 移动开发

SceneKit视图渲染为Phong而不是基于物理的材质

我的场景中有几个对象,所有这些对象都将其材质的“照明模型”设置为基于物理。 当我运行这个应用程序时,我得到的视图看起来一点也不像场景编辑器-相反,它看起来更像Phong材质。 是否需要更改根节点,以便从一开始就以物理方式进行渲染?我不熟悉Objective-c,所以我不确定是否需要将根节点的光照模型设置为基于物理的,如果需要,我将如何访问根节点(而且,根节点是否甚至可以具有光照模型属性,因 ..
发布时间:2022-04-04 20:40:42 移动开发

旋转 SCNCamera 节点,观察假想球体周围的对象

我在位置 (30,30,30) 有一个 SCNCamera,在位置 (0,0,0) 的对象上有一个 SCNLookAtConstraint.我正在尝试使用 A UIPanGestureRecognizer 让相机围绕假想球体上的对象旋转,同时保持相机和对象之间的半径.我假设我应该使用四元数投影,但我在这方面的数学知识很糟糕.我已知的变量是 x &y 翻译 + 我试图保持的半径.我已经用 Swift ..
发布时间:2022-01-30 19:12:36 移动开发

Swift - 如何更改 SCNNode 对象的 Pivot

我玩 SCNNode 对象已经有一段时间了,但我对 Pivot 感到迷茫.如何更改 SCNNode(SCNBox 作为条形)的轴心并将轴心放置在条形的边缘之一上? 解决方案 一个节点的pivot是一个变换矩阵,它的逆被应用到它的transform 属性生效.例如,看一下 Xcode 中默认的 SceneKit 游戏模板中的这一点: 让 boxNode = SCNNode()boxNode ..
发布时间:2022-01-22 21:45:49 移动开发