Camera Delay effect - jiggle issue

I’m working on a project where I want to implement a camera delay similar to what you see in Fortnite LEGO. The goal is to achieve a camera delay effect like in the second clip but without the seven studs away part flying around the character.

My current issue is the “jiggle” of the character. In the first clip, you can see that whenever I walk (WalkSpeed: 13), my character starts to jiggle and when I run (WalkSpeed: 26) it disappears. Also to mention, when my character jiggles while walking and I touch a wall, like in the clip, the jiggle disappears until I stop touching the wall.

I’ve already tried reading as many documents about camera manipulation as possible, focusing on camera delay manipulation. This research led me to the idea of using Lerp. However, I couldn’t find any solutions for the jiggle problem, so I started joining Discord servers to ask for help. So far, no one has been able to help me out.

Someone inside the Discord server came up with an idea to weld the TweenPart together with RootPart, but I made mistake in a script which made the jiggle disappear, but it also created a flying part that complicates things for other scripts. If I lower the distance between the part and the character the jiggle comes back. This flying part would affect the hitbox, for example, and would cause other issues in future things. So far, I’m not sure if it will cause future problems, but I want to reuse the script when needed or modify more. Who knows what I’ll be doing while that part is floating around with 7 parts distance.

[Disclaimer: I tried the script in a newly created fresh experience, and the same issue persists. I also spent hours experimenting with the script, but nothing worked. except the flying part]

Therefore, I’m looking for a different solution that eliminates the jiggle without increasing my character’s hitbox with a part or causing other negative effects.

3 Likes

why don’t you use RenderStepped instead of Stepped?

I have already tried it and it just makes the jiggle worse.

Perhaps this problem is being caused by the use of Lerp.

I don’t really know, that’s why I’m asking. As you can see in the second clip. If I put exactly that part over 7 studs away from the character. The lerp starts to look clean like it should.

bro, the videos are not loading for me. I couldn’t see anything.

For me they do. Shall I do with an external link? Do you see no clip?

I can’t see any. you could upload them to streamable and send them here.

Clip 1: Watch Clip (1) | Streamable
Clip 2: Watch Clip (2) | Streamable

Why don’t you just use a weldconstraint?

I also have tried it to Weld it with Weldconstraint. (TweenPart with RootPart). It wasn’t working or I mean, it didn’t fix it.

Side tip: use a for loop on the lerp so you can add a smooth transition:

for i = 0, 1, .01 do
TweenCamera.Position = TweenCamera.Position:Lerp(FinishPos, i)
end

You could also try using constraints such as bodyposition/alignorientation which are used for smooth movements and what not.

That script you gave me is a bad choice of loop. And with Bodyposition/alignorientation, may I know how you think I can do that happen?

Well to be honest i’m not entirely sure what fortnite lego is or whatever, but I can only give you some tips.

Also the loop was some sample code I just wrote out in a few seconds, try messing around with the incrementation of the for loop and what not.

By the way, I recommend using a changed CFrame event for the camera because if the player is afk and not moving the camera the event would still run which would be more expensive on resources and take longer to process which can thus impact frame rates.

ok, now I’m pretty sure this is caused by using lerp. perhaps you should design the calculation for Lerp’s alpha parameter.

I’ve had this tremor problem several times, all caused while I was using Lerp. product of the calculation of the alpha parameter.

I’m not sure. If you watch the first clip you’ll see that the part that was replaced by the camera part (head) looks smooth and the character doesn’t.

You can try tweening although this may be bad on performance give it a whirl, tweens are more smooth than lerps.

And again change it to a getpropertychangedsignal event.

Ah, I see. Well I didn’t think about that issue but I’ll fix it.

I did it with Tween and my research on camera manipulation suggested using Strings (I think I forgot the actual name) or Lerp. Since I didn’t know which String they were referring to or how I could use it that way, I went with the Lerp version. I also tried Tween and didn’t like it. I don’t think it’s because of the movement issue within Lerp. That part is smooth, the camera is too, it’s ONLY the character that starts shaking for some reason and seems to have frame drops, making the gameplay quality terrible.

I added an FPS tracker in the top left to show that my FPS isn’t dropping. I also added the wall to show that the camera is moving smoothly.