【发布时间】:2015-12-08 18:17:10
【问题描述】:
我正在对节点施加力和扭矩。这是我的代码:
myNode?.physicsBody?.applyForce(SCNVector3Make(0, -6, 4), atPosition: SCNVector3Make(0, 1, -1), impulse: true)
myNode?.physicsBody?.applyForce(SCNVector3Make(0, -2, 10), impulse: true)
myNode?.physicsBody?.applyTorque(SCNVector4Make(4, 2, 2.5, 1.6), impulse: true)
对象现在会掉下来,然后从左向右移动。我希望它掉下来并从右向左移动(基本上是跨 y 轴的第一次移动的反映)。我发现对于前两行代码我无能为力,因为力没有 x 分量。最后一行applyTorque 是我需要操作的。如果向量有 4 个分量,你如何在 y 轴上映射?我对数学有点生疏
【问题讨论】:
-
祝您获得 Scene Kit 的关注。全世界使用它的人似乎不到 100 人。他们中的一打可能知道他们在做什么,其中两个曾经使用 SO,但似乎已经离开了。而且我所见过的其他任何地方都没有更多的帮助。我在毫无头绪和(显然)困惑的实验组----一组1。
-
有几个人四处游荡,用户名和分数低到 4 位数,有时对 SceneKit 问题留下非常突然的答案,似乎是苹果员工正在研究它。但他们的答案只不过是指针而已。他们似乎对自己的产品如此熟悉,以至于无法解释。
-
我没用过SK。从物理学的角度来看,这听起来很奇怪,因为您试图施加扭矩来改变线性运动,除非您指的是对象的一部分。
-
扭矩有所帮助,因为当物体撞击另一个物体时,它会根据最初撞击它的方式反弹。
-
我对你的问题有点困惑。有东西在下落,然后你希望它在落地后侧向推进,对吧?你希望通过坠落物体上的旋转力来实现这一点……我说得对吗?地面是主要的其他物体?