Applies a force or impulse to the body at a specific point.
- iOS 8.0+
- macOS 10.10+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 3.0+
The direction and magnitude of the force (in newtons) or of the impulse (in newton-seconds).
The point on the body where the force or impulse should be applied, in the local coordinate system of the
SCNNodeobject containing the physics body.
trueto apply an instantaneous change in momentum;
falseto apply a force that affects the body at the end of the simulation step.
Applying a force or impulse to a body at a position other than its center of mass may impart both linear and angular acceleration, depending on how the body is situated in the physics world and the other forces acting upon it.
impulse parameter determines how this method contributes to the physics simulation:
If you specify
true, SceneKit treats the
directionparameter as an impulse, measured in newton-seconds, and accelerates the physics body immediately. Use this option to simulate instantaneous effects such as launching a projectile.
If you specify
false, SceneKit treats the
directionparameter as a force, measured in newtons. At the end of each simulation step (by default, a step occurs once for each frame in the rendering loop), SceneKit sums all forces applied to the physics body during that step and accelerates the body according to the net effect of those forces. Use this option when you want to simulate continuous forces on the body by calling
applyon each simulation step.
Force(_: at: as Impulse:)
As with all physical quantities in SceneKit, you need not use realistic force measurements in your app—the effects of the physics simulation depend on the relative differences between forces, not on their absolute values. You may use whatever values produce the behavior or gameplay you’re looking for as long as you use them consistently.