scnnode相关内容

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

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

SceneKit:关于像 Tron 光循环一样再现发光光迹的建议

目标是在 SceneKit 中重现类似于下图的光迹.路径不需要那么详细,但想法是要达到类似的视觉效果. 我们尝试使用不透明度约为 0.5 的薄立方体.我们将大约 200 个串在一起,并将它们连接到一个节点上,以充当光迹.那根本没有性能. 另一篇文章建议使用粒子发射器,但我们还需要在另一个物体撞击轨迹时检测碰撞.类文档说粒子发射器的碰撞检测也没有性能. 关于模拟类似光迹的最佳方法有 ..
发布时间:2021-11-25 03:09:08 移动开发

SceneKit:无论您在何处触摸屏幕,unprojectPoint 都会返回相同/相似的点

下面的代码应该将触摸坐标转换为 SceneKit 场景的世界坐标. 但是,如下面的输出所示,unprojectPoint 返回的点无论您在屏幕上的哪个位置(iPhone 5s)触摸都有效地返回相同的点. unprojectPoint 的类文档建议使用介于 0 和 1 之间的 Z 值,但使用不同的值(如 0.5)不会改变 unprojectPoint 的输出. 这篇SO帖子讨论了如 ..
发布时间:2021-11-25 02:40:51 移动开发

Swift - 如何更新 ARAnchor 以跟随相机的位置

我遵循了@rickster 的此代码,该代码 100% 有效,看起来很棒.在视频中,他正在为 SCNNode 设置动画,该 SCNNode 使用 ARAnchor 从一个位置到另一个位置并返回.我尝试做类似的事情,但我希望使用 ARAnchor 设置的节点跟随/更新它的位置到另一个作为相机子节点的节点. 我在更新 func renderer(_ renderer: SCNSceneRende ..
发布时间:2021-11-17 21:36:15 移动开发

SCNLevelOfDetails 委托/通知

我在 SceneKit 中使用 SCNLevelOfDetails. 我想知道是否有办法知道引擎何时更改特定节点几何的 levelOfDetails. 非常感谢. 解决方案 我正在回答我自己的问题.为了提供更多上下文,我们需要知道 LOD 何时更改以停止空闲动画,我们的模型已蒙皮.如果您在 LOD 更改时不禁用此动画会发生什么情况,即地理遍布整个地方并且看起来是错误的. ..
发布时间:2021-11-17 21:36:12 移动开发

ARKit hitTest(_:options:) 选择放置的 3d 对象不起作用

我正在尝试选择一个放置在检测到的平面上的对象,以便对其执行各种任务,例如通过手势旋转. 为了搜索放置的对象并避免获得无关性质的 hitTestResults(例如选择平面或 ARWorldMap 本身),我尝试将 hitTest(_:options:) 与 SCNHitTestOption.categoryBitMask 一起使用.然而,似乎 hitTest 返回所有类型的结果,而不仅仅是具 ..
发布时间:2021-11-17 21:35:29 移动开发

缩放 SCNNode 时更新 SCNPhysicsBody

我知道当节点缩放时 SCNPhysicsBody 不会缩放,但我还没有找到解决这个问题的好方法.我想缩放节点,然后在缩放节点后将 SCNPhysicsBody 更新为节点. let box = SCNBox(width: 0.2, height: 0.3, length: 0.4, chamferRadius: 0.1)box.firstMaterial?.diffuse.contents = ..
发布时间:2021-11-17 21:33:39 移动开发

如何从 .usdz 创建 SCNNode?

我已经下载了 Apple 提供的 .usdz 模型:https://developer.apple.com/arkit/画廊/ 但现在,我想用这些模型之一创建一个 SCNNode,所以我这样做是为了获取节点: guard let urlPath = Bundle.main.url(forResource: "retrotv", withExtension: "usdz") else {返回 ..
发布时间:2021-11-17 21:31:57 移动开发

ARKit:在屏幕上查找 SCNNode 的坐标

我有一个简单的 Swift ARKit 设置,其中我有一个 SCNNode,其中有一个在 ARSCNView 中可见的 3D 对象. 我想确定这个对象在 ARSCNView 上的二维坐标.我的意思是对象被绘制到屏幕上时的 x 和 y 坐标. 我提供了一个草图来说明我的意思: 有没有办法获得这些坐标,或者至少是一个近似值?我需要这个以便对相机框架进行一些进一步的处理.基本上我对物体 ..
发布时间:2021-11-17 21:31:54 移动开发

为什么 SCNNode 会“摇晃"?什么时候掉到 SCNPlane 上?

我有一个 SCNPlane,当检测到水平表面有足够的区域时,它会添加到场景中.根据放置的地板/桌子,飞机似乎被放置在正确的位置.问题是当我将一个 SCNNode(无论是盒子、金字塔、3D 模型等)放到飞机上时,它最终会找到一个着陆点,99% 的人开始疯狂地摇晃.很少有它只是降落而根本没有移动.我也认为这可能是由于节点掉落并降落在平面表面下方.它既不是“顶部"也不是“低于"平面.可能是因为节点在两个 ..
发布时间:2021-11-17 21:29:37 移动开发

如何将 SCNPlane 颜色更改为清晰颜色

我正在开发一个 ARKit 项目,在水平平面上点击时需要波纹动画效果.为此,我采用了 UIView 对象并将其作为 SCNPlane 对象材料的内容传递.我已将 Ripple 动画添加到 UIView 对象.一切正常.但我无法将 SCNPlane 颜色更改为清晰颜色.我可以为材质使用透明度属性.但它也隐藏了 Ripple 动画.所以,我在这里需要的是,SCNPlane 对象的背景颜色应该是透明的, ..
发布时间:2021-11-17 21:29:30 移动开发

ARKit - 如何在另一个 SCNNode 中包含 SCNText(语音气泡)

我正在尝试在 ARKit 的对话气泡中创建一个带有简单文本的报价生成器. 我可以用文字显示对话泡泡,但文字总是从中间开始并溢出对话泡泡之外. 任何帮助使其在对话气泡的左上角对齐并在对话气泡内环绕将不胜感激. 结果 课程 class SpeechBubbleNode: SCNNode {私人让 textNode = TextNode()var 字符串:字符串?{已设置{te ..
发布时间:2021-11-17 21:27:45 移动开发

ARKit 放置一个面向相机的 SCNNode

我正在使用 ARKit 来显示 3D 对象.我设法将节点放置在用户(也就是相机)面前的现实世界中.但是当我放下它们时,我无法让它们面对相机. let tap_point=CGPoint(x: x, y: y)让结果=arscn_view.hitTest(tap_point,类型:.estimatedHorizo​​ntalPlane)守卫 results.count>0 else{返回}守卫让 ..
发布时间:2021-11-17 21:26:00 移动开发

如何像在 Measure 应用程序中一样在 ARKit (SceneKit) 中绘制虚线?

只是想知道是否可以(我知道可以,但是如何)像在 Measure 应用程序中一样在 ARSCNView 中绘制虚线?也许有一种方法可以开箱即用地使用场景节点,idk. 我一直在使用 SCNCylinder 画一条直线,IDK 是否可以重复使用它并进行调整,或者我们必须使用一种非常不同的方式来制作虚线. import SceneKit类 CylinderLineNode: SCNNode {私 ..
发布时间:2021-11-17 21:24:53 移动开发

SceneKit 节点不会随着场景的根节点改变位置

我正在使用带有 ARKit 的 SceneKit,现在有一个简单的应用程序,我点击屏幕,它会向我的场景添加一个 ARAnchor 和一个 SCNNode. 在某些时候,我想要移动整个场景,所以我尝试更改 sceneView.scene.rootNode.position.x += 10 来测试这一点.如果我在任何特定节点上调用它,该节点确实会适当移动.但是在 rootNode 上调用它,没有 ..
发布时间:2021-11-17 21:23:41 移动开发

在 ARKit 中检测 SCNNode 上的触摸

我在 ARKit 1.5 beta 中已识别图像的位置放置了一个 SCNNode(一个平面).我想在点击飞机时向控制台打印一条消息.到目前为止,我有这个代码: //MARK: - ARSCNViewDelegate(图像检测结果)///- 标签:ARImageAnchor-Visualizingfunc renderer(_ renderer: SCNSceneRenderer, didAdd ..
发布时间:2021-11-17 21:22:22 其他开发

在 ARKit 中放置、拖动和移除 SCNNode

我正在使用 ARKit 进行一个小项目.我希望能够在点击时将对象添加到我的 AR 场景视图中,双击删除它们,然后通过平移或拖动来拖动主题. 放置对象的初始点击工作正常,但我在删除节点和拖动时遇到了一些问题. 移除和拖动的主要问题是很难真正“按住"或点击 SCNNode.大多数结果最终不在我添加的 SCNNode 上. 第二个问题是拖动有点问题,SCNNode 并没有像我的手指那样 ..
发布时间:2021-11-17 21:21:37 移动开发