How to make the characters always facing the front, no matter how the camera rotates?

hk.setTargetTransform(player.body, player.transformNode.getAbsolutePosition(), quaternion);

This line is not going to do anything, because you need to pass the position where you want the player to be, not the position they already have. See the function documentation:

And since setTargetTransform already sets the velocity of the body, you don’t need to call setLinearVelocity.

Here’s an example where I’m setting targetTransform to a desired position: Physics V5 Simple scene with Aggregate | Babylon.js Playground (babylonjs.com)