Pseudo3d look controls a bit odd and some advice please

DankP3

Active member
Sorry for wall of text (also sorry, i should have posted in questions!), essentially this is about controlling look direction in a 2.5d like world.

So with Nolan in the demo scene, I am really not comfortable with how he looks in the pseudo 3d mode. It feels like it is going to need a lot of tweaking and switching between mouse and gamepad creates a lot of issues (I assume the act of identifying whether a keyboard or controller is being used in Unity is still a nightmare).

I would appreciate some guidance on how to begin, but first will try and describe issues with the demo, then my prototype.

Demo:

1. I guess the demo is primarily setup for mouse: When you enter the 2.5d zone the character does not look at the cursor, he only begins when you aim (this is fine), now if you release Aim, his head still tracks and if you move the cursor around nolan to behind, you can leave nolan stuck looking at sky or floor and (unless you reaim) he will attack in those directions etc. I would expect him to reset his look perhaps when not aiming?

2. Controller: so after entering the 2.5d area and disabling cursor on Unity Input, you can get some reasonable movement around the perimeter of the gamepad look stick, but lots of head snapping if you move up and down. again after an Aim, the head still tracks to an odd position, and i guess this is the main issue with the demo (maybe this is simply about only enabling the IK only when Aiming, I haven't yet had a chance to look).

My prototype:

So my prototype allows scrolling on axes set dynamically in game and allows for turning of the camera - creating a kind of "Axis Scroller", I figured this was best shown in a video. In short the character can face of the four compass directions from the camera and the camera can point on along any of the 4 compass points, to allow you to twist the scrolling around a complex 3d environment (This is an inherited Third Person Adventure with Pseudo 3d ViewType with look states to control the movements).

video (this may be a download link as google is a bit of donkey at the moment): https://drive.google.com/open?id=1wrSG6zQq1t8k2Xnf3d-XKSlFYYsR-ubG

I want minimally the character to look up and down (character relative straight ahead), which i have tested (in the CharacterIK script) and kind of get it working, but still get snapping if i use the gamepad stick straight up and down, instead of in a circular perimeter motion (and i assume i shouldnt just do this in Ik as i will disconnect that from other stuff using the look methods).

I guess I want a pointer on where i should start modifying to get a smooth look up and down, directly in front of the camera with both mouse and gamepad.
On top of all that, I would prefer if i could switch to other ViewTypes at certain points, so wouldn't want to fundamentally break the look methods.

thanks for reading this much!
 
1. I guess the demo is primarily setup for mouse: When you enter the 2.5d zone the character does not look at the cursor, he only begins when you aim (this is fine), now if you release Aim, his head still tracks and if you move the cursor around nolan to behind, you can leave nolan stuck looking at sky or floor and (unless you reaim) he will attack in those directions etc. I would expect him to reset his look perhaps when not aiming?
I just tried it and this is a bug. The character should stop looking when the mouse is released.

2. Controller: so after entering the 2.5d area and disabling cursor on Unity Input, you can get some reasonable movement around the perimeter of the gamepad look stick, but lots of head snapping if you move up and down. again after an Aim, the head still tracks to an odd position, and i guess this is the main issue with the demo (maybe this is simply about only enabling the IK only when Aiming, I haven't yet had a chance to look).
I haven't connected a controller recently but when I look at the mouse issue I'll also take a look at this issue.

I guess I want a pointer on where i should start modifying to get a smooth look up and down, directly in front of the camera with both mouse and gamepad.
Fundamentally both of these issues are likely related to the Pseudo3D.LookDirection method. This method determines the direction that the character should look and I would start by looking in this method.
 
Thanks, it was stupidly easy to setup what i wanted for controller and i will leave mouse until i see how the new input systems works :)
 
Top