Other modules out there always seem to have hidden issues like mobile incompatibility and other minor ones that causes it to constantly break, This module solves all of these issues while maintaining optimization and simplicity.
I’m releasing it here mainly to get feedback and suggestions, Appreciate any positive criticism.
You can get the source code from GitHub here or edit the place from here
I’ll release the Roblox model here soon
Here is a preview
How to use it?
You can insert the module script wherever you want on the client and require it from a local script inside StarterPlayerScripts . Then you can just use the Enable/Disable methods like this:
--// Make sure that player character is loaded first before enabling it
local RXCamera = require(...)
RXCamera:Enable()
To toggle Shift Lock
RXCamera:SetLockEnabled(true)
To unlock the mouse
RXCamera:SetMouseLocked(false)
You can disable the module then reset the character to switch to default Roblox camera
RXCamera:Disable()
-- reset the character after you disable the module
Camera settings
You can find it in the module inside the .new function
then get the code from github and use it then, if you don’t want github, then go to the uncopylocked place, then save the module to your local files, then go to your game and import it
There is a bug that prevents me from publishing models for some reason, not sure when it will be fixed, but for now just copy the source code and paste it into a module script, then you can simply require the module from a local script under starter player scripts.
The Obstruction feature only works when a wall or an instance gets in the way between the player and the camera, the photo you provided is a normal behavior not a bug, I’m not sure what a Popper is but I think it’s another name for obstruction.
This is an issue only when the camera can see through a set of walls positioned to make a square, this is just one wall so this behavior is expected even from the default camera and you can test it, If you want to change the Z offset at which the camera is positioned you can easily do that in the settings by adjusting the Z component value of the default offset and locked offset