Search Unity

CLIMBING SYSTEM - [Official Thread]

Discussion in 'Assets and Asset Store' started by diasrodrigo, Feb 26, 2018.

  1. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    Hello.
    All demos available in the asset page are from the new version. Actually is only 1 demo, and you can access here: https://www.dropbox.com/s/bz133v1txe476rt/Climbing System Demo - v3.0.zip?dl=0

    New version has a lot of improvements, including new abilities and a math system that calculates jump trajectories to adjust character on ledge in a really precision way. All new improvements are tagged as NEW in the asset page.
     
  2. attaway

    attaway

    Joined:
    Nov 12, 2014
    Posts:
    45
    Does this for AI agents? I'm settings something up like in Assassins Creed where if the player is not accessible or near a navmesh they will climb up a building or something
     
    diasrodrigo likes this.
  3. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    Hello. I already tried something like this for AI. Unfortunately I did not get it working yet. I had problems with Offmesh links, and sometimes it completely loses positions. But the idea to use AI is set manualUpdate to true in the InputManager script, and then try to change abilities by another AI script.
     
  4. gkon

    gkon

    Joined:
    Sep 13, 2014
    Posts:
    1
    @SamRock What water solution are you using to get that smooth visual transition between being above water and underwater?
     
    SamRock likes this.
  5. kylewetton

    kylewetton

    Joined:
    Sep 6, 2018
    Posts:
    26
    Hey @diasrodrigo, my entire project has come to a halt with this error, any ideas?

    Screen Shot 2019-11-04 at 9.48.31 PM.png
     
  6. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    Did it happened after update to new version? I've checked out the script and this method is public and I didn't remove it. Try to pass to this method a null value, like this:

    Code (CSharp):
    1. m_CameraController.ZoomCamera(null);
     
  7. SamRock

    SamRock

    Joined:
    Sep 5, 2017
    Posts:
    250
    @diasrodrigo

    I noticed a severe bug. Even if I lock the Rigidbody Z Axis or set mode to 2.5D, the character starts gradually altering Z axis on every Vault, Roll and other climb animations. Could you please look into this?
     
    diasrodrigo likes this.
  8. kylewetton

    kylewetton

    Joined:
    Sep 6, 2018
    Posts:
    26
    It seemed to crash after installing a free RPG animation pack (tried reinstalling Climbing System etc). As soon as I removed that other asset pack, it fixed everything again.
     
    diasrodrigo likes this.
  9. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    Ok. I'll try to reproduce it here in my pc.

    Good to know you got it fixed.
     
    SamRock likes this.
  10. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    414
    How easy is this asset to add on to? I have a custom controller, which works, and is based on melee weapons. Ive debated about adding in climbing and such though. But i tend to have several locomotion stances, pending on weapon. And im developing a split screen to boot, so typically i find most assets dont support split screen games, using rewired helps alot with doing the inputs for splitscreen.
     
  11. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    Hello
    To use with a custom controller, you can disable the main script of my controller and all climbing abilities will not be handled. But it can still cause some bug depending how your controller is made. Unfortunately I cannot guarantee that it will work. About splitscreen, I believe it's possible, because you can set different input for any character and you can also set the camera controller to follow different characters. If you need to use two cameras, you can specify which character each camera will follow.
     
  12. thedetective456

    thedetective456

    Joined:
    Oct 1, 2019
    Posts:
    35
    Hey @diasrodrigo Do you have Older version of this project? I don't need wall run and Mathematical prediction..... So I have now started to implement it. May take a while I guess.o_O Wall run has made it more difficult to implement:eek:.
     
  13. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    @thedetective456 you can download the older version by the asset store. Find the old version in "My Assets" list and you can download it:
    upload_2019-11-11_20-14-31.png
     
  14. thedetective456

    thedetective456

    Joined:
    Oct 1, 2019
    Posts:
    35
    How? I am not able to find it. Where did you click to get that thing? I am able to see just import button when I open editor....
     
  15. SamRock

    SamRock

    Joined:
    Sep 5, 2017
    Posts:
    250
    @diasrodrigo Hey how are you doing? I l know you been busy launching your own game. Wish you all the best on that :)

    Writing here to know what are the future plan for enhancing the Climbing System? Are you adding more abilities?
    Same goes for the Shooter System and Leg IK, havent seen any updates on them for a long time :)

    Really depending on your Assets and would love to see it expand!
     
    diasrodrigo likes this.
  16. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    Have you bought Climbing System before the upgrade version?

    Yes, I'm planning to improve all assets. My classes will stop on December, until March 2020. In these months I pretend to bring news for the assets.
     
    SamRock likes this.
  17. thedetective456

    thedetective456

    Joined:
    Oct 1, 2019
    Posts:
    35
    No.

    But one question... What's the advantage of not using animator transitions? I am not able to understand why did you not use transitions. Well I am making it transition based.(I am a bit noob programmer):D:D
     
  18. VaruNeelgar

    VaruNeelgar

    Joined:
    May 9, 2018
    Posts:
    2
    Can you make a video how to use this with Invector 3rd person controller?
     
  19. VaruNeelgar

    VaruNeelgar

    Joined:
    May 9, 2018
    Posts:
    2
    This asset is amazing but I'm using Invector 3rd person controller any way to integrate this with Invector
     
  20. attaway

    attaway

    Joined:
    Nov 12, 2014
    Posts:
    45
    Ah okay. I may look into this a little more. I'll let you know if so.
     
    diasrodrigo likes this.
  21. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    That's the reason this old version doesn't show to you. I use animator transition, but not in a explicit way. I made it to get a cleaner animator, because it has too many transitions, and it could be very confusion for costumers to understand what's going on in an animator with a lot of transitions. Unity provides a function to make transitions by code, and I use it in the scripts.

    Hello. Unfortunatelly Climbing System doesn't offer integration with Invector anymore. But I can give you some tips to try adapt it:
    1. Third Person System script is the main script that handle all abilities. If you disable it, nothing of my code will work, and then you can run Invector's scripts.
    2. When you want to find a ledge to climb or do some of my abilities, you can enable Third Person System and disable Invector scripts. This way your character will be controlled by my system.
    3. Be careful with Inputs, because Invector has his own inputs and I also have a script to handle input for character.

    These are some tips that can help you, but unfortunately I can't guarantee that it will work perfectly. Maybe you can face some bug or an undesired issue doing this.
     
  22. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    Do you really want the old version?
     
  23. ChickenHero

    ChickenHero

    Joined:
    Jul 18, 2016
    Posts:
    79
    I am trying to integrate PUN2 into my climbing system.
    I don't know if you are familiar with PUN2, but can you give me advice?

    By sending animation state and character position, I can now synchronize most animation and character positions.
    Since the position synchronization of Brace Climb Up and Hang Climb Up did not work, I prepared Climb Up animation for myself and others, turned on BakeIntoPose of RootTransformPosition (Y and XZ) of others' animation, The position has been adjusted.
    Then, when playing the Climb Up animation, the script controls to turn off the position synchronization component of PUN2 and turn on the position synchronization component at the end of the animation.
    However, when the Climb Up animation ends, the character moves to a planned position so that it jumps a little from a slightly higher position.

    Other characters turn off the climbing system and control with the received state, position and rotation.
    When using PUN2 etc., is it better to process the climbing system of all characters by each client based on the input received instead of InputManager?
     
  24. thedetective456

    thedetective456

    Joined:
    Oct 1, 2019
    Posts:
    35
    Yes, that would be of great help.... It makes my work easier because it contains comparitively less amount of code I guess..:)

    How ever I am going to make it transition based because I am not going to sell it. That gives me some more freedom to decide what condition is required for player to climb
     
  25. Low_on_Mana

    Low_on_Mana

    Joined:
    Jun 18, 2018
    Posts:
    37
    Hi! I'm trying to get a throw animation to work while running but I can't quite get it to work. How would you best advise we go about doing this? Thanks!
     
  26. SamRock

    SamRock

    Joined:
    Sep 5, 2017
    Posts:
    250
    I believe you achieve this by creating a new Ability for that, say "Throw".
    Map it to a key press or event. Attach the Throw animation. It can vary based on "Idle", "Walk" or "Run" . Suggest you watch this video.
     
  27. Low_on_Mana

    Low_on_Mana

    Joined:
    Jun 18, 2018
    Posts:
    37
    Thanks! I'll look into it.
     
    SamRock likes this.
  28. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    I'm not familiar with PUN2, but as you said in the end, I believe it's better to process received input. You can receive this input and after that send to Input Manager. You can take a reference to Input Manager and set its variable, called manualUpdate to true, and you now can update each button, like jump, roll, crouch, etc, using a funcion called SetButtonState.

    Send me an e-mail and I send you a package with the old version.

    You can also change the grounded blend tree in the animator and add run animations there. If you take a look at Locomotion script, you'll find that when player press Walk button, it multiplies the forward amount by 0.5f. You can create a run button and multiply by 2 for example. Then your character will play run animation in the Grounded blend tree.
     
  29. ChickenHero

    ChickenHero

    Joined:
    Jul 18, 2016
    Posts:
    79
    Thank you for the advice.
    I'll give it a try.
     
    diasrodrigo likes this.
  30. sayginkarahan

    sayginkarahan

    Joined:
    Jan 23, 2015
    Posts:
    49
    Hello Dias!

    You've done an amazing job.
    But I have a problem with climb ability.
    As you can see sometimes the character doesn't play the "Hop Up Air" clip after the "Hop Up Start" clip.
    Could you give me some advice about the issue?

    ezgif-2-99260aa9279b.gif

    Thanks.
     
    Last edited: Nov 30, 2019
  31. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    Hello @sayginkarahan .

    Seems your character is a bit smaller than default characters. I suggest you to increase a bit Vertical Linecast End point. You can find it here:

    upload_2019-12-3_18-17-36.png

    If you have doubts about what this parameter does, you can watch this tutorial:
     
  32. SamRock

    SamRock

    Joined:
    Sep 5, 2017
    Posts:
    250
    Hi @diasrodrigo
    Check out the video, from 22 sec onward. My character keeps getting stuck on the terrain. It happens randomly but usually at the same places. Could you please tell what might be wrong? As you can see the terrain is pretty smooth.
     
  33. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    Hello. Maybe if you change Max Angle Slope it can be stopped. Go to Third Person System scrtipt and increase Max Angle Slope:
    upload_2019-12-5_11-43-13.png

    If this problem still persist after this, try change code of CheckGround, and multiply the following value for some number greater than 1:
    upload_2019-12-5_11-44-36.png
     
  34. sayginkarahan

    sayginkarahan

    Joined:
    Jan 23, 2015
    Posts:
    49
    Hello Dias,

    Your advice didn't solve my problem.
    I'm sharing a video of my bug and I put some debug information between your code.
    Maybe they can help you to understand to issue.

    Thank you for your time.



    TrueJumpFlow.png

    WrongJumpFlow.png
     
    Last edited: Dec 5, 2019
  35. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    In the Climbing ability script did you check if it's using root motion for VErtical?
    And if root motion multiplier for Y is greater than 0?

    upload_2019-12-5_13-54-59.png
     
  36. sayginkarahan

    sayginkarahan

    Joined:
    Jan 23, 2015
    Posts:
    49
    Hello Dias,

    I checked the parameter which you mentioned but they are correct.
    Let me share my all current parameters for climbing.
    Also, you can see in the new video, the player some times climb as aspected but most of the time it doesn't climb.



    ClimbingAbility.png ClimbJump.png
     
  37. SamRock

    SamRock

    Joined:
    Sep 5, 2017
    Posts:
    250
    Hey..i tried both I still get the same result. However multiplying the second code by 1.5 allow me to atleast walk away from the situation(Fall animation)

    Also here is screenshot that shows the State is going to NULL and FallAblility when this happens
    NULL.PNG

     
    Last edited: Dec 5, 2019
  38. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    @SamRock from the video you recorded, seems the TErrain collider is not matching your current setup. Because I can see the capsule collider entering the Terrain. It's not related to my asset, it's Physics from Rigidbody. Did you try change the Terrain in this specific part a little?

    Could you please send me capsule colldier parameters? I'll try to reproduce this bug with the size of your character. I've already checked out my scripts to try find the problem, but from script I couldn't figure out why Climb Jump ability doesn't activate when you hop up. From your video I realized that Climb Jump ability doesn't even activate.
     
  39. sayginkarahan

    sayginkarahan

    Joined:
    Jan 23, 2015
    Posts:
    49
    Hello Dias,

    upload_2019-12-6_15-25-6.png

    Thank you for sharing the time with my issue. I wrote a five-star comment for your product.
    If you can not reproduce the issue, you can connect my computer and search the bug whenever you want.

    upload_2019-12-6_15-45-28.png
     
    Last edited: Dec 6, 2019
  40. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    Thank you for your review!

    That's really weird. Climbing is trying to enter, but returning false, that's expected. One last thing I believe could cause this situation is that climb jump doesn't ignore Climbing ability. Check if Climbing ability is in the list of Climb Jump:
    upload_2019-12-6_11-18-7.png

    If everything is fine, one thing you could test, is drag a new character model and build it again and see if this problem will happen again.
     
  41. sayginkarahan

    sayginkarahan

    Joined:
    Jan 23, 2015
    Posts:
    49
    Hello Mr. Dias,

    I've checked the ignore list but it is correct too.
    I've sent you an email about my problem, please check your emails.

    Thank you.
     
    diasrodrigo likes this.
  42. SamRock

    SamRock

    Joined:
    Sep 5, 2017
    Posts:
    250
    @sayginkarahan You game looks awesome man! Congratulation that its on Steam :)

    Loved your Swim animations and transitions. How did you achieve it? Would love to know how you managed smooth surface to underwater transition. I assume you are using Climbing system abilities. Any code snippet that you can share? :)
     
  43. SamRock

    SamRock

    Joined:
    Sep 5, 2017
    Posts:
    250
    Thank @diasrodrigo I thought so too! I tried modifying the terrain.. but its happening at multiple places now :(

    Also, I copied my character with Climbing System applied from another scene . Now his climbing abilities are not working, he doesnt detect DroppableLedges or Climb objects! Do you know what could be happening?

    I can recreate the character, but this would mean I will have to remap him to every Timeline, Cinemachine object. Its really a exhausting! Please see if there is a way to seamlessly identify climbalbes. I am always scared to update the asset or make a change on the character as I never know what will stop working :'(
     
    Last edited: Dec 7, 2019
  44. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    Do you have any post processing volume or a trigger collider around this area you can't climb?

    If your character is inside an area like this, you need to check in the Climbing Ability, if this layer is inside Obstacle Mask. If so, you need to remove it from Obstacle layer, then your character will climb. For example, normally, Post Procces Volume uses Post Processing layer, then your character consider Post Processing layer as an obstacle. You need to remove Post Processing layer from Obstacle Mask.

    upload_2019-12-8_12-29-46.png
     
  45. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    Hello everyone. I have news for the asset. First of all, I'm changing editor scripts to allow change abilities easier. As abilities grow in number, sometimes Inspector got confusing to edit abilities. I'm putting all abilities to be edited in Third Person System script. This way, all abilities get mroe organized and we can edit one ability per time. You can take a look in how it looks by now:

    upload_2019-12-8_12-32-37.png

    upload_2019-12-8_12-33-51.png

    And I'm also moving some scripts that are not abilities, to another manager called Modifiers. They are scripts that impacts in gameplay, but they don't need to run in a specific ability, they run for any ability. An example of this, is the Health script. In this section I'm moving Climb IK too:

    upload_2019-12-8_12-35-43.png

    Cinemachine for Camera
    About this topic, I would like to know your opinions about it. I made some tests with Cinemachine to work with my asset. I got everything working with Cinemachine, including the other package, Shooter System. I believe Cinemachine provides better control and performance. What do you think about changing all camera controller to Cinemachine?
     
  46. SamRock

    SamRock

    Joined:
    Sep 5, 2017
    Posts:
    250
    Hey!
    The new UI looks cool and well organized. Hope ti try it out soon.

    I been using Cinemachine camera with your asset for a long time now. Its really smooth and easier to work with when you have a cut-scene in place. Not to mention you can configure the Angle and position on the fly.

    As you are working on the update, could you have a look at improving the performance too? I feel when the character is moving there notable drop in performance, probably due to fact that it check for many different type of colliders. I dont have a video to prove this, its just by experience.

    Also, let know if you are introducing any new abilities? Grappling, Push Objects.

    Suggestion for Crawl - Could you enable exiting from Crawl if Space bar is pressed?
     
    diasrodrigo likes this.
  47. SamRock

    SamRock

    Joined:
    Sep 5, 2017
    Posts:
    250
    @diasrodrigo
    How do disable my Character's input when I am playing a cut scene? I tried disabling "Unity InputManager". But if my character was running state before cutscene starts, he continues running when "Unity Input Manager" is disabled and there is no way to stop him. Disabling Location didnt help either
     
  48. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420
    I beleive it's happening because character doesn't exit Running ability. You can exit the active ability by a method in Third Person System. I'll reference Third Person System as a variable called m_Engine:

    Code (CSharp):
    1. m_Engine.ExitAbility(m_Engine.ActiveAbility);
    Any active ability will be stopped when you enter in a cutscene.
     
  49. SamRock

    SamRock

    Joined:
    Sep 5, 2017
    Posts:
    250
    Is this same as the below?
    Thirdparty.PNG
     
  50. diasrodrigo

    diasrodrigo

    Joined:
    Jul 4, 2017
    Posts:
    420