-
-
Notifications
You must be signed in to change notification settings - Fork 37
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
Mantle System #7
Comments
I'd like to have a try at this one - I've pulled in and made a branch :) I can't promise any talent, skills or a good solution, but I guess I can try, if I get anywhere close then offer it as a pull request? My thoughts so far based on how I've done similar features in Unity:
Random thoughts:
|
Yes, any help is good, thanks in advance.
Focus on Automatic system.
I am already using a mixamo character and animations, so mixamo animations are now the most compatible. Any system should consider that they can be switched.
The philosophy of the Advanced-Movement-System-Godot Motion Matching. Distance Matching. Motion Warping. These techniques are used in unreal engine, and they are what make animation looks really good in unreal. |
Other tips : The Advanced-Movement-System-Godot is inspired by Advanced-Locomotion-System in Unreal Engine : You can see the dynamic mantling system in 3:50 |
Thank you so much for the outlining - it's incredibly helpful to catch the underlying philosophy and approach to the code before guessing and making a meal of it! :) I'll focus on the detection initially, so that the character movement has a concept of obstacles, height comparison etc. :) |
I would like to point out, my stair solving solution somehow worked for high obstacles BUG OR FEATURE ? |
if I would go through the climbing approach, I would do the detection, then use the MotionWarping Node (Available in the template too). |
The MotionWarping Node waits for the animtion to execute the function, in the kicking case I named the function "kick_target", this means I need to go to the kicking animation, and the exact time the kicking hits the target, and execute the function. Anyway, if you find all of this confusing, you can focus on climbing detection only, and for me plugging these stuff is quite easy. |
I'm leaning into feature territory, but not sure. 😂 I am tempted to look into the move_and_collide features in godot, at least to try and predict if it's possible for the player to climb up without clipping into things, hitting their head etc. I'm at the stair solution in the code, and as you say, they're very similar solutions. I'm wondering whether to extend your existing work on the stairs by adding in a high ray (at head height) to assess if the obstacle is higher than stairs, but also not too high to mount? I've annotated what I think is happening, and where I'm thinking the code could live. :) CharacterMovementComponent.stair_move() (approx line 435)
|
I think you can just use the same script to just check if it is possible to mantle, so here :
Then in Edit : typos |
Thank you :) I'm looking at it now, and hopefully can make some progress - thanks for guiding me through all this, I'm hoping it's useful in the long run :) Edit: can mantle now reliably gets called; it's a tiny bit unresponsive due to the timers etc, but calls on the white boxes :) Onto adding the mantle position, and a mantle function :) |
Simple System for climbing relatively small obstacles like maximum 1 meter height climbing
The text was updated successfully, but these errors were encountered: