- Home /
Combining first person contoller and dual touchpads from standard assets
Hello, I'm trying to make a simple first person platformer for mobile phones. First I did it just for the PC, because of testing, after I finished first level I wanted to port it to a phone. Unfortunately the task wasn't as easy as I expected. Firstly I used First Person Controller from Standard Assets, with a some additional scripts it worked perfect! But the First Person Controls from Standard Assets (Mobile) is not nearly as good. So I thought that the best solution would be taking my original controller and replacing standard input with Dual TouchPads from the same Standard Assets. Here is when I hit the wall and ask for your help.
First Person Controller has 4 main scripts: Character Motor, FPSInput Controller and two Mouse Look scripts (one for the controller and one for the camera). All that FPSInput Controller does is taking input from the keyboard, normalizing it and sending to the Character Motor.. Well, if I understand it correctly.
What is needed to be done is to somehow integrate Joystick scripts in that FPSInput Controller. It's way too complicated for me to fully comprehend and operate on that level, so this is my last resort. Thank you all in advance and I'm looking forward to reading your suggestions!
EDIT: I actually tried just adding CharacterMotor to my player and it worked almost perfectly! It was sliding down the steep slopes, it was going with the moving platforms, etc. BUT. Now I can't jump. There are jump code on both the CharacterMotor and the FirstPersonControl, and apparently they contradict with each other. Could you please point which part of the code needs to go? Or how do I say to CharacterMotor that it should jump, from my FirstPersonControl script? Thanks for your time.
There are jump code on both the Character$$anonymous$$otor and the FirstPersonControl, and apparently they contradict with each other.
This is not true. The FPC is built on top of the Character$$anonymous$$otor script. The Character$$anonymous$$otor script has jumping code, but it requires the script that is driving the Character$$anonymous$$otor to cause the jump. I don't know how you have your logic organized but it is this line of code in the FPC that causes the Character$$anonymous$$otor to do the jumping:
motor.inputJump = Input.GetButton("Jump");
Note that the Character$$anonymous$$otor has a 'Jumping/enabled setting that must be true for jumping to happen.
Oh, yes, I see. Unfortunately enabling or disabling jumping or the control itself doesn't help.
I tried deleting some parts of the code, to figure out what prevents character from jumping. Apparently it's the single line that actually moves the character: character.$$anonymous$$ove( movement );
Your answer
Follow this Question
Related Questions
Unity 5 FPSController can't move 0 Answers
Steering Wheel / joystick GetAxis trouble 0 Answers
Joystick movent and rotation on left joystick 0 Answers