Using AddTorque to apply a rotation to a skeletal mesh does not always provide the expected results if a fixed time step is being used. When doing this to the Owen character in the Content Examples project, the character no longer rotates if the fixed delta time is 0.02 or higher.

Opening the Owen Physics Asset and setting the Angular Damping for the Pelvis bone to default (0) restores the rotation effect. The Angular Damping values for all other Bone with Bodies in the physics asset does not appear to have a visible affect on the rotation.

Steps to Reproduce
  1. Create a new Basic Code project with start content.
  2. Migrate the Owen character from Content Examples into the new project.
  3. Disable Gravity
    • World Settings -> Override World Gravity -> On
  4. Place Owen in the level and make sure he is not touching anything.
  5. Enable physics for Owen.
    • Details -> Simulate Physics -> On
  6. In the Level Blueprint, create the graph seen in the attached Owen image.
  7. Start PIE.
    • Note that Owen begins to slowly rise and rotate.
  8. Stop PIE.
  9. Close the Editor.
  10. Open the project solution in Visual Studio.
  11. In the project's default GameMode.h file, add the following code to the class body:
    ATestFixedDelta1GameMode() :
  12. Build the project in Visual Studio.
  13. Open the project in the Editor using the -UseFixedTimeStep command line flag.
  14. Start PIE.
    • Owen will behave as seen in step 7.
  15. Stop PIE.
  16. Change the fixed delta time in Visual Studio to 0.02f
  17. Build the project in Visual Studio.
  18. Start PIE.

Owen will begin to rise, but no longer rotates.

Owen continues to rotate while rising.

Have Comments or More Details?

Head over to the existingAnswerHub thread and let us know what's up.

Login to Vote

Won't Fix
Affects Versions4.6.14.8
CreatedJan 27, 2015
ResolvedJan 27, 2015
UpdatedApr 27, 2018