问题标签 [scnnode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
566 浏览

scenekit - 如何在 tvOS 上使用遥控器选择单个 SceneKit SCNNode

有没有办法在 SceneKit 上获得焦点引擎?我正在尝试构建一个 3d 游戏,其中玩家必须从许多 SceneKit 节点中进行选择,但我找不到让 SCNNodes 焦点的方法。

0 投票
2 回答
340 浏览

scenekit - SceneKit:将节点与模型对象相关联

我需要将 SceneKit 节点对象与程序中的任意对象相关联,并且正在寻找最佳解决方案。

这是我的意思的一个例子:假设我有一个程序使用 SceneKit 渲染分子中的原子。我有课程Molecule并且Atom可以为我的数据建模。然后我使用 SceneKit 渲染分子。当我单击场景视图中的球体节点时,我需要知道该Atom球体代表哪个对象(Molecule包含 的数组Atoms

我可以创建一个映射NodeAtom对象的字典,但想知道是否有办法将Atom对象引用添加到球体节点。应该使用键值绑定吗?

我对 Cocoa 编程非常陌生,正在寻找一种方法的正确方向。然后我可以研究实现细节。

0 投票
1 回答
1014 浏览

swift - dae 文件中节点的几何形状为零

我用搅拌机制作了 3d 模型,我想在场景套件中使用它。

它总是打印出“geo is nil”。所以我无法为模型制作物理实体。谁能告诉我为什么会这样?

0 投票
1 回答
101 浏览

ios - SceneKit – 应用程序在启动时不会使用 SCNCamera

不确定它是否是我的代码,或者我只是缺少一些东西。在我的应用程序启动时,就好像使用了位于世界中心的默认相机一样。如果我双击屏幕,它似乎会跳转到我自己创建的相机。我的理解是,只有在场景中没有其他摄像头的情况下才使用默认摄像头。问题是我如何让我的应用程序在启动时通过我的自定义相机查看?这是我的相机函数,它在我的类的 init 方法中调用。

0 投票
2 回答
1167 浏览

swift - SceneKit - 自定义几何图形不显示

我应该看到 2 个黄色三角形,但我什么也没看到。

我使用它如下:

我得到了我看到的具有非自定义几何的其他节点。怎么了?

0 投票
2 回答
574 浏览

rotation - SceneKit:将一个节点定向到 3D 空间中的另一个节点

我需要定向一个节点以将其 Z 轴指向 3D 中的另一个节点。是的,LookAtConstraint 的完美工作。对于我的大部分工作,LookAt 都很好。但是当我将 LookAt 应用于特定节点时,我无法再使用 SCNAction 为该节点的翻译设置动画。想象一个氢原子在离子化时离开一个分子。需要方向来正确旋转分子上氢原子和氧原子之间的键(圆柱体)。

我可以将键从氧定向到氢并激活。但这使大多数其他与 LookAt 相处得很好的债券迷失了方向。

在意识到它回答了一个稍微不同的问题之前,我给了这个强大的尝试: 计算旋转以查看 3D 点?

0 投票
1 回答
630 浏览

swift - 使用 PhysicsBody 旋转 SCNNode 以匹配 Thumbstick 的弧度

我正在开发一个使用 Swift 和 SceneKit 构建的自上而下的太空游戏,设置如下:

代表宇宙飞船的 SCNNode

  • 旋转受限于 y 轴;值范围从-M_PI_2M_PI + M_PI_2
  • 运动受限于 x 和 z 轴。

游戏控制器摇杆输入

  • x 和 y 轴上的值范围从-1.0到。1.0

当游戏控制器的摇杆改变位置时,宇宙飞船应使用物理体旋转以匹配摇杆的弧度。

拇指杆的目标弧度可以用以下公式计算:

可以通过以下方式获得节点的当前弧度:

NSTimeInterval deltaTime提供自上次旋转计算以来的时间(以秒为单位)。

如何使用 、 或其他物理方法旋转节点angularVelocityapplyTorque达到targetRadian

0 投票
0 回答
318 浏览

orientation - SCNNode:从lookAt约束固定方向

是否可以修复节点方向,使其不再需要查看约束?即,“烘焙”节点的方向。

我正在“原子”(球体)之间建立“键”(圆柱体)。我将圆柱体节点放置在容器节点中,以便重新定向其轴,以便 lookAt 将几何体的 y 轴从一个原子指向另一个原子。所以这一切都有效,但有两个问题:
a)似乎需要精细的顺序来制作这些债券,否则其他债券将转向不受欢迎的位置。b) 更重要的是,它使动画变得困难。

所以我想使用lookAt来定位键,然后以某种方式将该方向放入一个向量中,使键变得独立于所查看的节点。

编辑:这是我最终答案的链接。swift:将 y 轴朝向 3-d 空间中的另一个点

0 投票
2 回答
289 浏览

swift - enumerateChildNodesUsingBlock(),将 stop 设置为 true

我正在尝试使用enumerateChildNodesUsingBlock()我将 stop 设置为 true 的位置,因此枚举将忽略子节点。有一个类似的问题: How to use "enumerateChildNodesWithName" with Swift in SpriteKit? 但我没有尝试将 stop 设置为 true。也许 Swift 2.0 需要一些不同的东西?

编辑:我发现了一个与类似枚举有关的视频。显然stop.memory = true,与修改stop.

0 投票
1 回答
1403 浏览

ios - 带有文本的 SCNMaterial 没有出现在带有图像的 SCNMaterial 上

我有一个带有图像的 SCNNode(由 SCNPlane 组成),我想在图像上放置文本。我知道 SCNNode 可以有不同的材料。我的问题是我可以在 SCNNode 上加载图像,但是加载时没有出现文本。我的代码看起来像这样:

(imgName 是 UIImage,strName 是字符串)

如果我尝试在图像([mat2,mat])之前加载文本,我只会得到一个空白平面。我错过了准备 SCNMaterial 的步骤吗?