AutoRotate jitters with a Cameraoffset

Description

If you give yourself a camera offset for example Vector3.new(2, 0, 0), and then shiftlock and look around your character jitters.

Video credit: subtotalant8185

Expected behavior

It should be smooth like how it is when you have no camera offset

When

I noticed this starting around 2-3 days ago but it could have started up to a week ago.

Repro

CAMERAREPRO.rbxl (43.9 KB)

Shift lock and move ur camera. Then click the button that I made that changes ur camera offset and shift lock and move your camera and you’ll see it jitter.

2 Likes

I’ve always thought that this was intentional.

I noticed there was no repro file. I will provide one:
unsmoothOTSCamera.rbxl (37.7 KB)

Here’s a video of the issue:
robloxapp-20230417-2357418.wmv (1.5 MB)

2 Likes

Thanks for the report! Could you update your post to follow these guidelines, please? How to post a Bug Report

1 Like

Updated it!

20charsmaxthingamount

1 Like

edited the repro to 2,0,0 so its more noticable

1 Like

bumping this bug!!!

20charsmax

1 Like

Something to note about this is the current roblox shiftlock is horrible at detecting collisions (likely due to this issue). It seems all shiftlock does is multiply the current camera by an offset and rotate the character to face the camera’s direction, and it is not using CameraOffset when it should and could be.

This means the collision detection of shiftlock is based on the camera before the offset is applied. It would be counterintuitive to do two raycasts (one for the actual camera and one after applying the offset). It also might be impossible.

If this were fixed, shiftlock (and all over the shoulder camera systems) could have better collision detection by utilizing this feature. Just try to clip your shiftlock camera into the wall; it’s not great. Shiftlock doesn’t right now. I’d guess it’s because of the jitter. This goes for me with my over the shoulder camera.

Currently, if you want a perfectly smooth over-the-shoulder camera system, you’ll have to listen to inputs and adjust the camera based on the character’s root part. This means the sensitivity of your camera will be detached from your game settings, and you will have to go through the pain of adding support for all devices.

I’m sorry if my explanation is poor, but you’ll run into these issues when you try to make your own over-the-shoulder camera. After hours of searching, I haven’t yet found anyone with a better solution.

1 Like

Apparently this is a Roblox glitch:

2 Likes

Thanks for the report! I’ve taken a look and it should be fixed now. When using a camera offset + shift lock, it should behave like the normal shift lock offset.

2 Likes

Sorry for the inconvenience, but this issue still hasn’t been fixed. It still always happens in my experience and other experiences.
Not counting the shift lock but CameraOffset alone.

1 Like

Here is a video I took today to prove my point

2 Likes

Hi there, this bug was specifically regarding camera offset and shift lock causing jitter. I think the steps of your reproduction might be a bit different. Mostly the issue was the ordering between when CameraOffset and the character’s rotation is calculated. Your jitter is similar, but I’m curious about what you’re using CameraOffset for.

Bobbing and crouching effects. No shift lock included.

Have fixed the issue with shift lock, but it still jitters in this case - worth noting. I don’t think there is a way to order this without jitter on our end. It does not jitter if you apply the offset by multiplying camera cf * offsetV3 in renderstep.
SingleSided Cam Repro.rbxl (49.0 KB)