How can we achieve smoother motion at low speeds?

Hello.
When moving at low speeds, the camera will shake.
The slower the speed, the more pronounced the jitter.
How can we achieve smoother motion at low speeds?

Thank you.

cc @PolygonalSun

First thought that comes to mind would be to try using Lerps to move things around as I suspect that the fractional movements being calculated may have a bit of a rounding error, so to speak. I could be wrong but that’s the first things that stands out to me. Another option would be to use animations, using the curve points as key frames. If your animations don’t need to be changed on the fly, this might be a good option.

Slerp does not seem to help much.

1 Like

Thank you for your suggestion.
Will we consider solving this problem later?
The following PG is an example of using animation.During the animation execution process, there is a one second lag before the transition from position 2 to position 3.
Is there any way to perform it more smoothly?

Hi,
Honestly I didn’t see the lag in transition. I would however set a higher framerate (to expected 60FPS) which will add more steps/length in animation. You can also enable blending and try to smoothen transition with tangents. However, I believe the sudden change when rotate quicks in is quite normal since the cam has no target. You could try change the curve of the rotation by changing the intermediate step to come only later so that the rotation starts slowly and then accelerates (and compensate with tangents).

Hello.
I tried adding a lot of points to generate this line and found that the car’s motion was smoother, but I don’t know if having too many points will affect performance?

Thank you for letting me learn some new parameters, but it seems that I still cannot achieve a smooth transition effect. What is the reason for a pause in the animation process? Is there any solution? I really need your help.

I’m sorry I just can’t see this pause of 1 second in the animation from the PG above.
May be you could make a small video or explain a bit further?

I will change the expression of ‘1 second lag’. It’s maybe not stagnation, it feels like the animation process is not smooth.

It probably appeared at this time.

My goal is to achieve smooth animation effects. The current effect seems to be a very abrupt transition between two points, rather than a smooth transition.

OK. Yes, it is abrupt and I tried smooth it a little through tangents and blending.
The reason it feels abrupt is because there is just a rotation kicking-in at a precise moment. The cam is steadily moving forward with no target and - on a single frame - it starts rotating. I guess a possible solution would be that the camera (rotation/target) would start to rotate slowly when approaching this intermediate key. And as I said, would accelerate rotation as you enter the room. Actually think of how we do it in real life. When about to enter a (rather small) closed space environment, our eye quickly checks on the corners (to detect any threat or obstacles). So, in the end, I think it’s mostly a matter of setting the keys, timing, blending and tangents. Easier said than done actually. It can take some time and efforts to get the perfect result. Right now I have to go make some groceries for the week-end. But if I get some spare time later this afternoon, I’ll try to illustrate a bit better in a PG (not a promise but I’ll try). Meanwhile, have a great day :sunglasses:

Fish on path | Babylon.js Playground (babylonjs.com)
Can the movement of the parent node rely on animations?

2 Likes

I agree the path solution is likely the best & probably most easiest way to gain control over the cam move/anim. Setting keys, blending and ease is (to me) similar to weight & blend in characters anims. It can be a very painful process, eventually requiring additional keys to brake between linear or bezier/ease interpolation.
By any means, the path solution can sure help with the ‘no set target’ view issue and will definetely help avoid the ‘abrupt’ transitions mentionned by the poster. I guess it’s still possible to work it ‘manually’ (with keys, tangents and ease) but l believe this solution, if can apply here, would be a lot faster to implement.

Hope you are well,
Did a quick attempt this morning but as I said, the ‘manual’ setting of keypoints and without a target is not just that fast to achieve. It eventually requires more attempts, tweaks and efforts than the ‘path solution’
I suppose it’s still a bit better than the original. Note that for the sake of faster testing I have remove the framerate for keys from this PG example:

1 Like

Thank you for your help. I used Line and combined them with animation to achieve the expected effect. The official PG case link I referenced is as follows:

1 Like