mpstark / DynamicCam

A more dynamic camera for World of Warcraft.
MIT License
24 stars 11 forks source link

Shoulder offset corrections ready to merge... #10

Closed LudiusMaximus closed 5 years ago

LudiusMaximus commented 6 years ago

Hello Mpstark,

first of all thanks for this great add-on. I really love it and in fact I loved it so much that I made some improvements for myself that I think have now reached a level of maturity allowing them to be merged into the real project. Here is what I did:

As you may have noticed, the value of test_cameraOverShoulder has a different effect on the camera's position -- relative to the player's center -- based on what model (race, gender, mount, vehicle) is currently active. I added the CorrectShoulderOffset() function that determines the current model and outputs a factor by which the current test_cameraOverShoulder value needs to be multiplied such that the camera stays exactly where it is. I have not even started to enter these factors for all models, because I do not have all mounts. But this is something we could do in the future and also ask people of the community to make out these factors for us. I would create a youtube-video explaining how to do this. But for now, you could already have a look at my code and tell me what you think.

Another thing I added, is the GetShoulderOffsetZoomFactor() function. This is for gradually reducing the Camera Shoulder Offset as you zoom-in (mouse wheel) on your character. Otherwise a greater shoulder offset may be awkward while walking through narrow corridors. With this option enabled you just have to zoom in a little more on your character while walking through such corridors and it will be more pleasant as the shoulder offset is reduced.

For both these features I added the checkboxes "Correct Shoulder Offset" and "Shoulder Offset Zoom-In" to the Default Camera Settings of DynamicCam so people can enable and disable them.

I think the code as it is now is already a great improvement for all people loving shoulder offset like myself. And maybe even some more will start to like it now.

Would be great to hear back from you!

LudiusMaximus commented 5 years ago

I have moved my work fixing the shoulder offset to an addon of its own: https://github.com/LudiusMaximus/CameraOverShoulderFix

It works as a stand-alone but also integrates into DynamicCam when both are installed. I will publish it soon when I have time to record a tutorial video.