Facepunch / garrysmod-requests

Feature requests for Garry's Mod
84 stars 24 forks source link

Add a Convar to disable the functionality of viewpunch, screenshake, calcview angles, eye angles along with anything else that affects camera view angles of the player. #2478

Open sigmacool2008 opened 3 weeks ago

sigmacool2008 commented 3 weeks ago

The convar sv_stabilizecamera (def 0) when set to 1 would disable all instances of viewpunch, such as receiving damage, hard landings or Player:ViewPunch for example, in addition to removing the screenshake caused by util.screenshake or slamming props into a surface with the phys gun. Just disabling the ability to modify the pitch, yaw or roll of the player's camera in general, whether it be called by the source engine or implemented by Lua.

Of course the name doesn't actually matter, just a suggestion.

The reason why this would be helpful is because there is a decent chunk of the player base who are subject to motion sickness, thus would definitely benefit from it.

sigmacool2008 commented 2 weeks ago

:< I don't think the devs are ever going to take a look into this one

robotboy655 commented 2 weeks ago

I don't think this is as easy as you make it out to be. There are multiple issues with this, for example - addons. There isn't really a way to implement a "remove camera shake" feature without completely gutting any addon that modifies the camera position or angles, for example any 3rd person addon and many, many weapon mods and gamemodes. Basically amounts to just don't install those.

You have to keep in mind that camera share is not just camera angles, it can be achieved with camera position just the same. In fact the actual screen shake (not view punch) does just that. (for example from heavy props hitting ground near you)

I am also not sure how widespread this issue is, given that I have never heard of motion sickness in non VR games until now.

Have you tried looking for camera modifying addons on workshop and using those to help yourself? Or things suggested in articles about this that I have read - sitting further away from your screen and changing your FOV?

sigmacool2008 commented 2 weeks ago

Yeah I guess it isn't an overly big deal. I just suggested it because you can find some people on Reddit asking how they can disable viewpunch. Regardless if there is a way to disable the functionality without messing up existing add-ons that call upon it that would be cool.

sigmacool2008 commented 2 weeks ago

But I probably should mention that there is no add-on that can disable or nullify it. I assure you I spent a lot of time searching the workshop, the closest thing I could find were mods that change your view entity entirely but that came with its own gripes. I also did run some experiments (I'm not a very good coder so there is a possibility I did something wrong) and found that Player:ViewPunchReset doesn't seem to affect the viewpunch inflicted by the base game on taking damage

sigmacool2008 commented 2 weeks ago

Maybe it would be possible to work around disabling it through making it not appear to the player at all.

The only reason I even suggested this was because I thought it'd be a nice fix that can't otherwise be done by add-ons.

garryspins commented 2 weeks ago

This 100% can be done with an addon! Try writing one yourself :]

sigmacool2008 commented 2 weeks ago

I actually did with some help (a bit janky but works Okay-ish). So my previous statement was definitely wrong, however I just thought that at the very least a convar to disable default viewpunch inflicted by taking damage instead of disabling all functionality of it could still be a nice addition.

sigmacool2008 commented 2 weeks ago

:< I don't think the devs are ever going to take a look into this one

Okay I should probably apologise for this since it definitely comes off as extremely impatient and rude. I apologise for writing that, I completely appreciate and respect all the effort the Devs already put into an extremely old game that I love. I just had to clarify that since I wrote it while I was extremely sleep deprived.