问题标签 [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.
scenekit - 如何在 tvOS 上使用遥控器选择单个 SceneKit SCNNode
有没有办法在 SceneKit 上获得焦点引擎?我正在尝试构建一个 3d 游戏,其中玩家必须从许多 SceneKit 节点中进行选择,但我找不到让 SCNNodes 焦点的方法。
scenekit - SceneKit:将节点与模型对象相关联
我需要将 SceneKit 节点对象与程序中的任意对象相关联,并且正在寻找最佳解决方案。
这是我的意思的一个例子:假设我有一个程序使用 SceneKit 渲染分子中的原子。我有课程Molecule
并且Atom
可以为我的数据建模。然后我使用 SceneKit 渲染分子。当我单击场景视图中的球体节点时,我需要知道该Atom
球体代表哪个对象(Molecule
包含 的数组Atoms
)
我可以创建一个映射Node
到Atom
对象的字典,但想知道是否有办法将Atom
对象引用添加到球体节点。应该使用键值绑定吗?
我对 Cocoa 编程非常陌生,正在寻找一种方法的正确方向。然后我可以研究实现细节。
swift - dae 文件中节点的几何形状为零
我用搅拌机制作了 3d 模型,我想在场景套件中使用它。
它总是打印出“geo is nil”。所以我无法为模型制作物理实体。谁能告诉我为什么会这样?
ios - SceneKit – 应用程序在启动时不会使用 SCNCamera
不确定它是否是我的代码,或者我只是缺少一些东西。在我的应用程序启动时,就好像使用了位于世界中心的默认相机一样。如果我双击屏幕,它似乎会跳转到我自己创建的相机。我的理解是,只有在场景中没有其他摄像头的情况下才使用默认摄像头。问题是我如何让我的应用程序在启动时通过我的自定义相机查看?这是我的相机函数,它在我的类的 init 方法中调用。
swift - SceneKit - 自定义几何图形不显示
我应该看到 2 个黄色三角形,但我什么也没看到。
我使用它如下:
我得到了我看到的具有非自定义几何的其他节点。怎么了?
rotation - SceneKit:将一个节点定向到 3D 空间中的另一个节点
我需要定向一个节点以将其 Z 轴指向 3D 中的另一个节点。是的,LookAtConstraint 的完美工作。对于我的大部分工作,LookAt 都很好。但是当我将 LookAt 应用于特定节点时,我无法再使用 SCNAction 为该节点的翻译设置动画。想象一个氢原子在离子化时离开一个分子。需要方向来正确旋转分子上氢原子和氧原子之间的键(圆柱体)。
我可以将键从氧定向到氢并激活。但这使大多数其他与 LookAt 相处得很好的债券迷失了方向。
在意识到它回答了一个稍微不同的问题之前,我给了这个强大的尝试: 计算旋转以查看 3D 点?
swift - 使用 PhysicsBody 旋转 SCNNode 以匹配 Thumbstick 的弧度
我正在开发一个使用 Swift 和 SceneKit 构建的自上而下的太空游戏,设置如下:
代表宇宙飞船的 SCNNode
- 旋转受限于 y 轴;值范围从
-M_PI_2
到M_PI + M_PI_2
- 运动受限于 x 和 z 轴。
游戏控制器摇杆输入
- x 和 y 轴上的值范围从
-1.0
到。1.0
当游戏控制器的摇杆改变位置时,宇宙飞船应使用物理体旋转以匹配摇杆的弧度。
拇指杆的目标弧度可以用以下公式计算:
可以通过以下方式获得节点的当前弧度:
NSTimeInterval deltaTime
提供自上次旋转计算以来的时间(以秒为单位)。
如何使用 、 或其他物理方法旋转节点angularVelocity
以applyTorque
达到targetRadian
?
orientation - SCNNode:从lookAt约束固定方向
是否可以修复节点方向,使其不再需要查看约束?即,“烘焙”节点的方向。
我正在“原子”(球体)之间建立“键”(圆柱体)。我将圆柱体节点放置在容器节点中,以便重新定向其轴,以便 lookAt 将几何体的 y 轴从一个原子指向另一个原子。所以这一切都有效,但有两个问题:
a)似乎需要精细的顺序来制作这些债券,否则其他债券将转向不受欢迎的位置。b) 更重要的是,它使动画变得困难。
所以我想使用lookAt来定位键,然后以某种方式将该方向放入一个向量中,使键变得独立于所查看的节点。
编辑:这是我最终答案的链接。swift:将 y 轴朝向 3-d 空间中的另一个点
swift - enumerateChildNodesUsingBlock(),将 stop 设置为 true
我正在尝试使用enumerateChildNodesUsingBlock()
我将 stop 设置为 true 的位置,因此枚举将忽略子节点。有一个类似的问题:
How to use "enumerateChildNodesWithName" with Swift in SpriteKit?
但我没有尝试将 stop 设置为 true。也许 Swift 2.0 需要一些不同的东西?
编辑:我发现了一个与类似枚举有关的视频。显然stop.memory = true
,与修改stop
.
ios - 带有文本的 SCNMaterial 没有出现在带有图像的 SCNMaterial 上
我有一个带有图像的 SCNNode(由 SCNPlane 组成),我想在图像上放置文本。我知道 SCNNode 可以有不同的材料。我的问题是我可以在 SCNNode 上加载图像,但是加载时没有出现文本。我的代码看起来像这样:
(imgName 是 UIImage,strName 是字符串)
如果我尝试在图像([mat2,mat])之前加载文本,我只会得到一个空白平面。我错过了准备 SCNMaterial 的步骤吗?