问题标签 [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.
ios - 更改 SCNNode 位置而不更改方向
我正在使用 SceneKit 并且有一个具有多个 SCNNodes 的应用程序,当用户点击一个时,它将跟随他们的手指(使用 UILongPressGestureRecognizer)。在状态开始和改变时,我使用以下代码行来改变节点的位置:
在这一行中,_currentlyMoving
是 SCNNode,而 worldPoint 是我手指的位置。
这是将节点移动到正确的位置;但是,它似乎也将节点的旋转更改为(0,0,0)(节点始终处于其起始旋转状态。)
有什么方法可以改变 SCNNode 的位置而不影响旋转?
另外,我尝试了以下方法,但也没有用(同样的事情发生了):
我对节点所做的唯一另一件事是使用以下三行来阻止它在拾取时移动:
ios - 当我导入collada文件时,是否可以防止scenekit将具有超过20k顶点的网格分割成多个节点?
我注意到,当我尝试导入具有超过 20k 个顶点的网格的 collada 文件时,Scenekit 将其拆分为多个节点,每次拆分最多 21845 个顶点。
有没有办法防止这种情况?因为当我想修改材质着色器时非常不方便,我必须观察每个节点并检查它是否包含我想要修改的材质,而不是只处理一个节点。
或者也许有人知道一种方法来获取一个节点的所有子节点的材料数组?
ios - 通过物理控制物体
我阅读了苹果文档(Scene Kit Vehicle)中的示例,他们在车辆上使用了 SCNPhysicsVehicle。SCNPhysicsVehicle 允许设置速度、刹车和一切。我希望能够控制一个 SCNNode(包含一个 SCNSphere)。物理有什么办法做到这一点?
ios - 如何更改锚点?
我正在与SceneKit
. 对象SCNNode
相对于中心旋转。如何改变锚点SCNNode
?
swift - 获取用于创建 SCNNode 的 SCNSphere 的半径
如何返回用于设置 SCNNode 的球体几何 (SCNSphere) 的半径。我想在相对于父节点移动一些子节点的方法中使用半径。下面的代码失败,因为结果节点似乎不知道半径,我不应该将节点传递给方法吗?
我的数组索引也没有说 Int 不是 Range。
我正在尝试从中构建一些东西
swift - Tube Physics Body 表现得像 SCNCylinder,但如何让它表现得像 SCNTube?
我正在尝试在 SceneKit 中制作一个管子及其物理体。
但是,当另一个物体落到这个物体上时,它不会穿过中心。相反,它似乎悬浮在空气中。它的作用就像物理体是一个完整的圆柱体,而不是中间有孔的管子。我该如何解决这个问题,以便物体可以通过中心?管子的外观与预期的一样。
谢谢!
swift - 如何使 scnView 小于屏幕尺寸?
视图控制器
瓦
ios - SCNBox different colour or texture on each face
I'm new to iOS development and I've got myself stumped. I am trying to render a cube using SceneKit that has a different colour for each face.
This is what I've got so far:
But I'd like each face to have a different colour. How do I do that?
ios - SceneKit - 选项脉冲如何适用于方法 applyForce?
在动态物体上施加力时,即使将冲量设置为 ,该力似乎也不会持久false
。
我有一个带有physicsBody 的sphereNode:动态,质量= 1 和阻尼= 0。世界重力设置为 (0,0,0)。
如果我在手势识别器中施加力:
然后速度变为0.0166
好像仅在一帧期间施加力并保持恒定,除非我再次触发手势。
使其作为真正的恒定力工作的唯一方法是在渲染器循环中调用 applyforce,但与非脉冲 applyforce 的唯一区别是 60 倍。我认为这不是预期的行为。