SpriteKit Physics 的神秘因子 150。重力和力量
Mysterious factor of 150 on SpriteKit's Physics. Gravity and Forces
我想要一个物体漂浮在屏幕上,抵抗重力,根本不动。
这是视图的重力设置。
self.physicsWorld.gravity = CGVector(dx: 0, dy: 5.0)
设置为5m/s^2以上。所以物体每秒向上加速 5 米。
物体质量设置为1.0kg
self.physicsBody?.mass = 1.0
我对物体施加了一个力,所以它可以抵抗重力。所以我做了以下。
func update(delta: TimeInterval) {
...
let force = CGVector(dx: 0.0, dy: -5.0)
self.physicsBody?.applyForce(force)
}
我应用了-5N,因为我认为施加在物体上的重力是1kg * 5m/s^2 = 5N。应用-5N会使物体以-5m/s^2的速度加速,并因重力漂浮在屏幕上。
但是没有用。相反,我不得不这样做。
let force = CGVector(dx: 0.0, dy: -5.0 * 150.0)
-5 乘以 150 是 -750。那么,这个150是从哪里来的呢?为什么我必须应用 -750N 而不是 -5N 来使物体抵抗重力?
我还测试了不同重力设置下的不同质量和力。
self.physicsBody?.mass = 2.0
let force = CGVector(dx: 0.0, dy: -5.0 * 150.0 * 2)
self.physicsWorld.gravity = CGVector(dx: 0, dy: 15.0)
self.physicsBody?.mass = 2.0
let force = CGVector(dx: 0.0, dy: -15.0 * 150.0 * 2)
他们都找到了。 F=ma.
问题是150的神秘因素。它到底是从哪里来的?
好的,所以这都是关于 Apple 的错误文档。
这是150的真相。
this seems to be little bit stupid, but applyForce is measured in ((points * kilo) / sec ^ 2), but the gravity acceleration is in Newtons ((kilo * meter)/ sec ^ 2) (despite the fact it's described as meters per second in documentation. Meters per second! Acceleration!). Multiply it by mass and get the force.
拜托,Apple...它已经推出 4 年了。
我想要一个物体漂浮在屏幕上,抵抗重力,根本不动。
这是视图的重力设置。
self.physicsWorld.gravity = CGVector(dx: 0, dy: 5.0)
设置为5m/s^2以上。所以物体每秒向上加速 5 米。
物体质量设置为1.0kg
self.physicsBody?.mass = 1.0
我对物体施加了一个力,所以它可以抵抗重力。所以我做了以下。
func update(delta: TimeInterval) {
...
let force = CGVector(dx: 0.0, dy: -5.0)
self.physicsBody?.applyForce(force)
}
我应用了-5N,因为我认为施加在物体上的重力是1kg * 5m/s^2 = 5N。应用-5N会使物体以-5m/s^2的速度加速,并因重力漂浮在屏幕上。
但是没有用。相反,我不得不这样做。
let force = CGVector(dx: 0.0, dy: -5.0 * 150.0)
-5 乘以 150 是 -750。那么,这个150是从哪里来的呢?为什么我必须应用 -750N 而不是 -5N 来使物体抵抗重力?
我还测试了不同重力设置下的不同质量和力。
self.physicsBody?.mass = 2.0
let force = CGVector(dx: 0.0, dy: -5.0 * 150.0 * 2)
self.physicsWorld.gravity = CGVector(dx: 0, dy: 15.0)
self.physicsBody?.mass = 2.0
let force = CGVector(dx: 0.0, dy: -15.0 * 150.0 * 2)
他们都找到了。 F=ma.
问题是150的神秘因素。它到底是从哪里来的?
好的,所以这都是关于 Apple 的错误文档。 这是150的真相。
this seems to be little bit stupid, but applyForce is measured in ((points * kilo) / sec ^ 2), but the gravity acceleration is in Newtons ((kilo * meter)/ sec ^ 2) (despite the fact it's described as meters per second in documentation. Meters per second! Acceleration!). Multiply it by mass and get the force.
拜托,Apple...它已经推出 4 年了。