Hi all! Noticed that setting the target of ArcRotateCamera every frame in scene.registerBeforeRender(), the player’s mesh experiences “abrupt” movement. When replacing this with setting lockedTarget just once, the movement became smooth. Could you please view the Playgrounds below, and I would be grateful for any insight on this.
In case the GIF’s below are unclear:
For the Playgrounds below:
Please click inside the Playground’s scene to activate pointer lock
Controls:
WASD: Movement
SPACE: Jump
1. Playground setting lockedTarget once - smooth movement
:
https://www.babylonjs-playground.com/#3EDS3A#71
camera.lockedTarget = cameraTargetMesh;
vs.
2. Playground setting target every frame in scene.registerBeforeRender() - abrupt movement
:
https://www.babylonjs-playground.com/#3EDS3A#70
scene.registerBeforeRender(() => {
// Update camera target
const cameraTargetMeshOffsetPosition = cameraTargetMesh.getAbsolutePosition();
camera.target.copyFrom(cameraTargetMeshOffsetPosition);
// Player move
...
});
I think I’m misunderstanding how position updates are handled and would be thankful if anyone could shed some light on this. Thank you for your help! 



