Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VideoCommon: Change free-look's middle-mouse action to roll the camera. #7870

Open
wants to merge 1 commit into
base: master
from

Conversation

2 participants
@jordan-woyak
Copy link
Member

jordan-woyak commented Mar 9, 2019

PR requested by @MayImilae.

I had to add an additional rotation float so I removed some unnecessary free-look matrix state while I was there.

@MayImilae

This comment has been minimized.

Copy link
Contributor

MayImilae commented Mar 10, 2019

Hmm, it has a bit of a problem - the angle of the roll is locked to the original camera position/rotation, not the new camera position/rotation. This is a little hard to describe so I'll use screenshots!

So here is the start before using free camera. At this position, roll rotates around like the arrows I added. It's great!

roll1

So now I'll WASDQE to move the camera to the edge of the platform on the right, and turn it toward samus with right mouse.

roll2

Notice the weird angle? That's why we need roll, that's more or less as good as I could get before and I'd have to fix it in photoshop! Anyway, so now I want to use roll to fix this right? Except, this is the angle of rotation!

roll3
(forgive how weird the arrows look, I didn't want to bother going into actual 3D. Also it is precisely up and down, to be clear)

So with this, I cannot use roll to correct for the random angles that build up during camera movement. It's locked to whatever the original camera position/rotation was.

...I'm hoping this is easy to solve?

@jordan-woyak jordan-woyak force-pushed the jordan-woyak:free-look-roll branch from 2efd237 to 123699e Mar 10, 2019

@jordan-woyak

This comment has been minimized.

Copy link
Member Author

jordan-woyak commented Mar 10, 2019

@MayImilae I changed the rotation order so roll occurs after pitch/yaw. Things can still feel weird when pan/tilting after rolling because of the order of rotations. If that is unacceptable I'll have to maintain a rotation matrix instead of the Euler angles.

@MayImilae

This comment has been minimized.

Copy link
Contributor

MayImilae commented Mar 18, 2019

Hmm... So roll itself works fine now, but all of the other commands ignore it as though those movements never happened. I'm better with images so, visual aids!

After rotating, I'd expect that the movements would still match relative to the frame. So like, holding right mouse and pushing my mouse up would still tilt the window up relative to the frame. Basically I'd expect it to be aware of the roll and factor that into the new position and orientation to start from.

expectation

But instead, it ignores the roll, so tilt (holding right mouse) and pan up/down (Shift Q and Shift E) remain at the same orientations they were before the roll. It makes combined camera repositionings for tricky shots a real chore!

reality

Curiously though, Pan left and right (shift A and shift D) DO seem to take the roll into account, and follow the roll of the camera. Very curious!

To be fair, this is still way better than what we've had, and I can genuinely do a lot more shots with this than before. I'd just, need to make sure to do roll changes LAST. It would be nice if that could be addressed though!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.