CameraService - A New Camera for a New Roblox

Camera becomes higher than the head; (making it look like your taller than anyone else from the camera POV) when i enable BodyVisible to true in firstperson (it also still has higher camera without BodyVisible), i tried changing the Z Offset but it only changes how far when you look down or up.
image


is there any fix for this?

1 Like

If you’re looking to change the height, you’ll want to change the Y-coordinates of the offset, as Roblox operates on Y-up, rather than Z-up!

1 Like

Great resource! I just have one small Issue. For some reason, when adjusting the smoothness property of the camera, it seems to jitter a little bit. Although this isn’t a horrible issue it is quite tedious. Is there something I can modify to fix this?

1 Like

I’m currently exploring some ways to mitigate that and will hopefully publish a patch this month. At the moment, what I would suggest is setting the Smoothness to be a bit higher (i.e. >1.5?) or to adjust it based off the player’s framerate.

how do decrease or remove that little shake while moving in shift lock?

Happy New Year! :tada:

New year, new CameraService update. :sunglasses:

Thank you to everyone who’s supported and used CameraService. I’m happy to say that across all platform it’s available, we’ve reached 500+ downloads! To those who have messaged with me on this thread and in private about your experience with it, know that I value it immensely.

This update fixes prior issues with jittery motion, the built-in shift-lock view, while also making performance-friendly adjustments behind the scenes, and a new dynamic wobbling feature!

1. Say bye-bye to the jitters.

The long-standing issue of jittery motion on some lower-performing devices has been fixed, with a combination of using PreSimulation (credits to @Eternity_Devs for the idea!) and redoing the way CameraService dampens the camera to make it look smooth. With a more simplified process, and camera motion being updated on each frame, it’s smoother and better than ever!

And to remedy the issue of choppy visuals when your player jumps up and down, CameraService now increases its dampening when players are jumping and falling, making it even more smooth.

2. Get ready to rumble (wobble).

Dynamic wobbling is here for all built-in views. Using the actual motion of your character’s legs, the screen will tilt ever so slightly to reflect your actual movements! The Wobble property is a number value, with the larger the number meaning less wobbling. However, to disable it, just set it to 0. See it in action below:

3. Minor adjustments here and there.

Hopefully, this version’s codebase is much more readable and organized for those interested. The Smoothness property values in this update will provide a different “level” of smoothness compared to before, so make sure to play around with the values if you’re upgrading. The :Shake function is also a bit more scalable to camera views with higher Smoothness now, too. In addition, the Cinematic camera view in the examples has now officially been added as a built-in camera view for you to use!

And by the way! If you’re using CameraService in your game, let me know! I’d love to link your project within the original post :slight_smile:

Thank you all again for your support. Any questions and suggestions are always appreciated!

6 Likes

hello, i’m having issues using the :Change function. could you please give an example on how you use it?

this is what I have in a localscript:

CameraService:Change(“Offset”, CFrame.new(1.5, 2, 0), false)
CameraService:Change(“AlignChar”, true, false)
CameraService:Change(“LockMouse”, true, false)

the code runs successfully, but no change is made to the player’s camera. please assist

Did you set a CameraView on the character before changing?

Simply put, it works well, and I’m happily using it in my game. Highly recommended for anyone looking to enhance their game’s camera experience.

1 Like

We’re still looking to show some love! If you’re using CameraService in any current or past projects of yours, let me know, and I can link it in the OP!

2 Likes

Is there a suitable method to implement a feature similar to what “REALISM” provides? Where players can virtually aim weapons in the direction the character is looking?

Hello ive noticed one error, when switching to Default, the character doesnt rotate towards the camera. I tried turning on AutoRotate but to no effect. How can I fix this?
https://gyazo.com/9b56a356a51b804c4daf6ccebd91269c

I thought I got this version, But I noticed when holding tools and moving backwards, my characters jitter quite a lot.

Could you send a video and the file that you’re using?

1 Like

Does this allow for camera spots such as a cutscene? Also for the 1st person camera could we customize it, such as changing the amount of body visible by looking down?

I was unsure if you meant here or your messages, I logically chose the latter, lol. But I sent it :wink:

Yes!
Technically, you could do cutscenes in CameraService by creating a camera view, setting the host to a part, and then tweening that part. However, I personally would recommend disabling CameraService and simply interpolating/tweening yourself.

And for the 1st person camera, yes! There’s a statement on Lines 267 and 444 (if I remember correctly), where you can alter the angles from 60 degrees to something else. If more people have a use to alter it, I’d be happy to make altering that a bit easier in a future release!

v2.1.0 is out!

Patches to the backwards jittery motion, Default motion issues, output error spam, as well as a new method to change vertical range of motion (:SetVerticalRange(angle: number)) are out now on both GitHub and Roblox Marketplace!

1 Like

Sweet! would this VerticleRange have a use-case for something like recoil effect for the camera?

To be honest, I don’t see recoil being a heavy use-case for this (probably more use of :Shake or the Offset property), but definitely great if you need to restrict the range of motion for something, like looking through a telescope.