scenekit相关内容
我们能够使用位掩码进行自定义光线投射: let hitTest = sceneView.hitTest(location, options: [categoryBitMask: bitmask]) 但hitTest现在已弃用,我想不出如何为光线投射查询设置位掩码: let query = sceneView.raycastQuery(from: location, allowing
..
当我设置场景时,摄像机的位置如下: let cameraNode = SCNNode() cameraNode.camera = SCNCamera() scene?.rootNode.addChildNode(cameraNode) cameraNode.position = SCNVector3(x: 0, y: 0, z: 20) 我的(显然是错误的
..
在ARKit示例源代码中,我可以看到“.scn”[场景工具包文件]。 我想知道如何创建一个新的场景文件? 比方说硬币场景? 有可以下载的网站吗?或学习如何创建一个供我使用?🤞 推荐答案 您可以在Xcode的“新建文件”对话框中从头开始创建一个。它是一种资源类型(与GPX文件位于同一区域)。Chris Language关于构建SceneKit游戏的书中有一个非常好的章节,介绍了X
..
import UIKit import SceneKit class Scene: SCNScene { var cameraPosition = SCNVector3Make(0, 0, 10) var lightPosition = SCNVector3Make(0, 0, 0) var ship = SCNNode() func setup() {
..
我正在构建一个scenekit应用程序,但我遇到了一些更精细的细节问题。我创建了一个scene,我正在向它添加自定义几何体,它工作得很好,直到节点数量达到大约100个。向场景中添加大量节点是理想的,是否有更干净的方法? for i in 0..
..
XCode中的文档清楚地指出,当您计划测试3D线段时,可以使用SCNRender、SCNView或SCNNode本身在SceneKit中测试几何图形。我可以使用没有渲染器或视图的SCNScene节点,因此我计划使用SCNNode hitTesting。我创建了一个SCNScene,在其中放了一个SCNNode,并测试了一条通过的简单光线,但我总是得到一个空的命中列表,我不知道为什么: imp
..
自从升级到iOS14后,每当我向场景添加基本节点时都会收到金属警告。 我不使用任何阴影,只使用标准材质。 2020-09-24 18:51:04.548764+0100 Arvie AR[383:7987] [Metal Compiler Warning] Warning: Compilation succeeded with: program_source:95:26: war
..
我正在尝试学习SceneKit开发,并尝试在后台添加一个Skybox。 为了存储立方体贴图纹理,我发现XCAssets有一个似乎非常适合的类型Cube Texture Set。 然而。我还没有找到在代码中访问纹理的任何方法(例如,作为调用UIImage(named: "asset_name")的图像集)。我已尝试从资产创建SKTexture、MDLTexture、MTKTexture,但未成
..
我正试图通过减少绘制调用来优化我的SceneKit应用程序。从Apple Documentation和许多WWDC的谈话中可以看出,通过fltenedClone()将多个子节点合并为一个节点应该会减少绘制调用,但我无法使用此方法来减少绘制调用。 我附上了一个简单的示例SceneKit应用程序,该应用程序演示了FltenedClone如何不会减少绘制调用。 当应用程序启动时,会显示5个对
..
我正在使用SceneKit的PhysiicsBody系统来检测对象之间的碰撞,并获得了一些非常奇怪的结果。为了说明这一点,我举了一个最小的例子,它生成了两个带有运动学物理的球体,并使它们沿直线移动,从而使它们短暂重叠。 我期望看到PhysicsWorld(:didBeginContact:)在球体第一次重叠时被调用一次,而PhysicsWorld(:didEndContact:)在它们停止重
..
我正在尝试使用SwiftUI中的SCNBox创建旋转立方体,您可以在其中点击框的每一侧,不同的弹出屏幕/视图将出现文本等。我有旋转的SCNBox立方体,但如何使其可点击和交互,以及如何使其重定向到其他视图? 这就是我当前尝试将Box场景插入到SwiftUI视图中的方法,然后该视图将进入正在退出的应用程序的视图层次结构。 import SwiftUI import SceneKit c
..
从URL导入.obj文件并将其转换为SCNNode时遇到问题 代码如下(Swft3): let url = URL.init(string: "https://cloud.box.com/shared/static/ock9d81kakj91dz1x4ea.obj") let asset = MDLAsset(url: url! as URL) let obje
..
我有一架正在飞行的飞机,我正在跟踪它,我还显示了飞机所走的路线。我画圆柱体作为画路径的线。这就像是在两个点之间划了一条线。我有一个CameraNode,最初设置为(0,200,200)。在这一点上我可以看到飞机。但当我开始飞行的时候。它从屏幕上消失了。我想要两样东西: 只跟随飞机(路径无关紧要)。 显示整个路径和飞机。 我试着求最小ad max x,y和z并取平均值,但不起作用。如果
..
因此,我能够在锚点位置放置一个长方体节点。 现在,如何在场景中旋转SCNNode? 我正在尝试修改节点的转换&;eulerAngles,但它们没有效果: func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? { print("nodeFor anchor (anc
..
这个问题在一定程度上建立在thisPOST的基础上,其中的想法是从带有LiDAR扫描仪的iOS设备中获取ARMeshGeometry,计算纹理坐标,并将采样的相机帧作为给定网格的纹理应用,从而允许用户创建其环境的照片级真实感和3D表示。 根据该帖子,我调整了其中一个响应来计算纹理坐标,如下所示; func buildGeometry(meshAnchor: ARMeshAnchor,
..
我正在构建AR Scanner应用程序,用户可以在其中扫描不同的图像并因此获得奖励。 当他们将摄像头对准某个特定图像时-我将SCNNode放在该图像的顶部,并在他们从该图像移除摄像头后-SCNNodeGET被解雇。 但当图像消失且摄像机保持在同一位置时SCNNode未被解雇。 如何使其与参考图像一起消失? 我在这里研究了很多其他答案,但它们对我没有帮助 以下是添加和删
..
我在实现ARKit/SceneKit时面临一个问题。我只想将纹理添加到3D模型的某些部分(例如,汽车的3D模型,我想在其中更改车轮和镜子的纹理)。 let dragonScene = SCNScene(named: "art.scnassets/Dragon_Baked_Actions_fbx_6.dae")! let position = anchor.transform for chi
..
我的场景中有几个对象,所有这些对象都将其材质的“照明模型”设置为基于物理。 当我运行这个应用程序时,我得到的视图看起来一点也不像场景编辑器-相反,它看起来更像Phong材质。 是否需要更改根节点,以便从一开始就以物理方式进行渲染?我不熟悉Objective-c,所以我不确定是否需要将根节点的光照模型设置为基于物理的,如果需要,我将如何访问根节点(而且,根节点是否甚至可以具有光照模型属性,因
..
我在位置 (30,30,30) 有一个 SCNCamera,在位置 (0,0,0) 的对象上有一个 SCNLookAtConstraint.我正在尝试使用 A UIPanGestureRecognizer 让相机围绕假想球体上的对象旋转,同时保持相机和对象之间的半径.我假设我应该使用四元数投影,但我在这方面的数学知识很糟糕.我已知的变量是 x &y 翻译 + 我试图保持的半径.我已经用 Swift
..
我玩 SCNNode 对象已经有一段时间了,但我对 Pivot 感到迷茫.如何更改 SCNNode(SCNBox 作为条形)的轴心并将轴心放置在条形的边缘之一上? 解决方案 一个节点的pivot是一个变换矩阵,它的逆被应用到它的transform 属性生效.例如,看一下 Xcode 中默认的 SceneKit 游戏模板中的这一点: 让 boxNode = SCNNode()boxNode
..