mpstark / DynamicCam

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

Vertical pitch forces camera down at close zoom levels #85

Open VCMedic opened 8 months ago

VCMedic commented 8 months ago

Hello! First, thank you for this great and immersive addon!

I play at a close zoom over the shoulder view, but would like to adjust the vertical pitch of the camera to aim further upwards.

At close zoom, enabling vertical pitch adjustments actually seems to aim the camera further downward (versus at farther zooms it does in fact aim the pitch upward?).

I have attached screenshots for comparison. Happy to provide further clarification as needed.

I am unsure if this is specifically a bug or working as intended. Regardless I would like to request a way to force the pitch of the camera upwards (and/or adjust the Y axis) at closer zoom levels as in some situations I find it to feel claustrophobic with too much of a view of the floor.

Thank you for your time and consideration!

Vertical Pitch On Vertical Pitch Off
LudiusMaximus commented 8 months ago

Hi, and thanks for pointing this out. I see what you mean about the pitch having a different effect depending on how close the camera is. But this seems to be the way it is implemented by the game. DynamicCam just changes the variable values. But the effects of these variable changes are out of our control.

But what you are suggesting, is something I have thought about for a long time: to make it such that every variable can be setup as a function of the current camera zoom. So you can define what value a variable should have at different camera zooms. At the moment this is only somewhat possible for the shoulder offset. But it would be really nice to have it for every variable.

But at the moment RL is so taxing for me that I cannot say when this dream will become reality. :-)

Quaantt commented 1 month ago

FWIW I notice the camera doesn't do that while looking from directly above. While zoomed in close, the camera pitches downward in proportion to how far from straight down the camera is.

Why Blizz messing with my perfect game!?!? >.<

A rather byzantine workaround might be to somehow set the vertical pitch setting to revert when the zoom is at a certain point? Is there such a condition we could use in situation controls?

I know you're busy and can't do the things you want with the addon right now - I don't mean to add pressure, only a data point.

Quaantt commented 1 month ago

Well I made a custom situation to disable Vertical Pitch settings, with the condition return GetCameraZoom() < 7 and that seems to work just fine. 13 is the point at which it works for my settings (pitch .65). I hitched it to the event COMBAT_LOG_EVENT_UNFILTERED just because it fires a lot - ham-fisted, but hasn't caused any issues so far as I can tell.

For anyone doing this, be sure to go to Situations -> Situation Actions -> Zoom/View (without enabling) -> scroll to bottom and set Restore Zoom Mode to Never.

Edit: more control is to be had by changing Vertical Pitch settings in the situation, rather than just disabling them. Be sure to play with Down Scale here.

Quaantt commented 1 month ago

The one further thing I notice is that Restore Zoom Mode is maybe universal? Not a great loss for me, but I wonder if it could be per-situation.

LudiusMaximus commented 1 month ago

The one further thing I notice is that Restore Zoom Mode is maybe universal? Not a great loss for me, but I wonder if it could be per-situation.

Yeah, I made "restore zoom" universal, as it comes into effect when switching between situations. It could be made such that you define per situation if zoom should be restored when leaving/entering the situation.

LudiusMaximus commented 1 month ago

Well I made a custom situation to disable Vertical Pitch settings, with the condition return GetCameraZoom() < 7 and that seems to work just fine. 13 is the point at which it works for my settings (pitch .65). I hitched it to the event COMBAT_LOG_EVENT_UNFILTERED just because it fires a lot - ham-fisted, but hasn't caused any issues so far as I can tell.

Great that you figured out something that works for you. Picking the right event would have been my first concern, too, as there is no event that fires only when zoom changes.