So for now I’m using the ThirdPersonController, and it’s alright, except for the fact that every time I land, the player stops. It just feels really fake, not to mention it’s annoying to control.
I haven’t worked with physics that much, let alone trying to modify standard assets. So does anyone have any idea how I would make it so that the character keeps their momentum when they land?
Another thing I would like to also implement is air control, which I believe you can turn on in the FirstPersonController, but not in the ThirdPerson one.
Any and all help is greatly appreciated. Also I don’t know if I’m actually allowed to modify the standard assets, so please let me know.
When you import the standard assets, you just get a copy of it so you’re free to modify them, of course
Not entirely sure I recall using it, with regard to the player “stopping” when landing. I used that controller for some time, while (re)writing it to fit my needs/learning/“fixing”/etc…
My implementation is far from perfect, but did work out some kinks/disagreements that I had with it.
So, that’s an option… I mean, read the code over and either copy the parts you want or modify them in there - whatever works.
As for air control, you’d have to find the code that executes while you’re in the air and modify that?!
The problem is I looked over it, multiple times. I tried changing anything and everything I saw that has to do with moving, speed, etc.
It seems the controller is pretty much interlaced with the standard “Ethan” model and animations, since if I disable the animator, I can’t control the player other than turning him. This makes me think that it’s actually the animation that is causing the player to stop on landing.
There we go… I was going to mention this in my first post… anyways. Uncheck “root motion” somewhere (maybe on the animation)? It might require 1 more change , too, I forget
Edit: It’s called “Apply root motion” on the animator
It says it’s “Handled by script”. I went to the script and there are only 3 instances of “applyRootMotion” and I set the only one that was being set to true, to false. But the character still stops when landing.
I installed faithful Ethan to see your issue…
Without getting into other details, the ‘solution’ to disable root motion is to comment out this method:
public void OnAnimatorMove() inside 3rdpersoncharacter. in addition to the parts in code you found , I think.
Anyways, then you will find that a normal, freshly imported ethan will now animate only and not actually move lol…
However, you said you were adjusting the code to make it stop/move/whatever… so, maybe yours will move
I edited my post … or was editing it as you posted.
It’s strange that yours is running exactly the same, because my Ethan won’t actually move at all after I made those changes.
I was also editing mine while you were writing this reply. What a coincidence. lol
Basically I’m in the same boat you are. After making the changes, the character won’t move, but the animations play.
Okay, so I saw your edit now… Right, so now you’re free to experiment with moving, instead of the animations being in control. (or some combo , that’s up to you).
Um, good luck? lol
Okay, well the ‘boat’… is like a new beginning for you, if you want to adjust it more yourself. That’s how it was written to move, and we changed that here… so that’s expected… you’re free now to make it handle & work as you’d like