Hi, I am driving my skeletal mesh in physics substepping by applying forces to bones. While testing with different frames per second, I noticed that adding linear force results in correct movement speed but adding angular force results in incorrect rotation speed.
This is what I am doing:
void MyActor::Tick(float DeltaTime)
{
FBodyInstance* bodyInstance = skeleton->GetBodyInstance(…); // root bone
bodyInstance-AddCustomPhysics(…); // Delegating to PhysicsTick()
}
Substepping:
void MyActor::PhysicsTick(float DeltaTime, FBodyInstance* BodyInstance)
{
BodyInstance->AddImpulse(moveForce * DeltaTime, true);
BodyInstance->AddAngularImpulseInRadians(rotateForce * DeltaTime), true);
}
Actor movement is frame independent but rotation is frame dependent. The less fps the slower it rotates. Is it a bug? Anyone?