Can Add Force work as uniform acceleration?

Hi everyone,

I’m working to make an actor move with uniform acceleration.
I disabled gravity, and applied Add Force in Event Tick.
My BP is like this:


I guess that the velocity should be acceleration multiplied by time, but when I print them, that’s not the case.

The three numbers are acceleration, velocity and time, respectively.
It seems like the actor didn’t get force for first 0.14 seconds.
Could anyone tell me what I did wrong, or why it happens?

Try using “Begin Play” in same actor, save time then.
And adjust it in your output.
There may be just some delay.

For making output string use “Format text” node, it is much better.

And yes add force adds force. You can also try add impulse.

Thank you for your suggestion, but when I print Get Game Time Since Creation in BeginPlay, I get 0.0.

Then use kind of hack:

  • add sequence node
  • in first branch add “do-once” then save time since creation
  • in second branch do all your stuff

There is another possibility:
Add force waits until physics update (which may happen at new frame/tick).
Then your print node gets updated values. So AddForce acts like tiny delay node.

Thank you for your answer!

I tried your approach, but the result was same.
So I tried AddImpulse instead and multiplying the impulse by Delta Seconds, and I think the results are okay now.

Now, I want the acceleration to be of a cosine function.
I expect that the actor should return to its original position in each period, but the actor is slightly moving upward after each period.


What am I doing wrong?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.