Search Unity

[RELEASED] All in One Game Kit - ELC Character System

Discussion in 'Assets and Asset Store' started by GrantMarrs, Mar 19, 2016.

  1. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    Hmm, I think I did fix those problems in one of my updates. I can't seem to reproduce them with the latest version :) I'll send the newest LedgeClimbController.cs code to your inbox right now. Hopefully that will work :D Thanks!
     
  2. tomraegan

    tomraegan

    Joined:
    Mar 28, 2016
    Posts:
    137
    Thanks. I'm stuck for the time-being in an old version. This is my own doing and not at all your assets.

    Once I've updated I'm sure all will be well.

    Cheers.
     
  3. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    warning input !! >^^<
    i'm suck on mobile in edge with easy touch

    replace old gui by canvas can be good think's

    to mutch GetComponent<CharacterController>()
    must be pass in variable for optimisation mobile
     
    Last edited: Feb 11, 2017
  4. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    Are you saying that your mobile game is giving you a warning about having too many GetComponent<CharacterController>() statements? In that case, pass the statement through a variable like it says :)
    To do so, follow these steps:

    1. Open the script you need to edit.

    2. Add this line of code where the variables are (at the top of the script):
    "public CharacterController characterController;"

    3. Press Ctrl+H (to open the "Replace" window).

    4. In the "Find what :" box, type: "GetComponent<CharacterController>()". Then, in the "Replace with :" box, type: "characterController"

    5. Press "Replace All", then x out of the "Replace" window.

    6. Finally, add this line of code to the "void Start ()" function:
    "characterController = GetComponent<CharacterController>();"

    I hope this helps! Thanks :)
     
  5. tomraegan

    tomraegan

    Joined:
    Mar 28, 2016
    Posts:
    137
    Hi Grant.

    In the demo, using the side scroller, with the Item Manager script enabled, my SetPassCalls is around 56.

    If I disable the Item Manager in the Ninja, it falls to 12.

    I'm about to look at the script to see why it's using 40+ draw calls, but thought I'd ask in advance.

    Cheers!
     
  6. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    Hey Tom!
    The outline for the item count text is what's causing that actually. To create a smooth outline, the script draws the item count text a ton of times behind the actual text. That way, the duplicated text is so close to each other, that it gives the illusion of an outline (since there's no actual outline function for GUI text). So by calling the same drawing function so many times, the script creates a lot of draw calls. Sorry about that. Unfortunately, there seems to be no way of making a smooth GUI text outline without it though :confused: Setting the "Outline Width" option to 0 should remove the draw calls though :)
    Thanks!
     
  7. tomraegan

    tomraegan

    Joined:
    Mar 28, 2016
    Posts:
    137
    Thanks. That was it.

    You're a good dev and I appreciate the help.
     
  8. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    No problem, and thank you very much! That means a lot to me :)
    Thanks again!
     
  9. reef99

    reef99

    Joined:
    Feb 3, 2016
    Posts:
    7
    HI,

    Bought your asset today, finally after thinking about it for too long. Everything works great for me so far, managed to get all the edges and slopes working with my character and environement more or less, looks really good so far.

    Only thing I was wondering about is a falling and landing animation. The fact that my character starts to run half way through his jump, just looks really bad. Im hoping to sort it out myself, but looking at your script boggles my mind so far as it is waaayy more complex than anything Ive ever scripted lol. Also I am confused because from what Ive seen of your script, there is a bit which checks for landing and says it should stop the jumping animation:

    (Line 776 of playercontorller script):

    //once player has landed jump, stop jumping animation and return to movement
    if (animator != null && animator.runtimeAnimatorController != null){
    animator.CrossFade("Movement", 0.2f);


    The issue is Ive never used the animator without parameters like this (yeah Im a bit of a noob :D Ive only used the animator by setting it's parameters).

    So Im unsure now is it just not working for me??

    Any advice around mid air and landing animations would really be appreciated (I just flipped through this forum and didnt seem to see anything related).

    Awesome controller otherwise!

    (Or does that line just ensure that if you hit the ground early, you exit jump - but I need something to ensure that the jump animation stays in the last frame until the character lands...)

    Edit to add:

    Also just noticed on page 54 of the documentation it repeats itself, probably unintentionally:

    "Number And Strength Of Attacks–
    the number of attacks the player can perform and the strength of each one (the elements)

    Waiting Time Between Attacks–
    the number of attacks the player can perform and the strength of each one (the elements)"


    Just thought I would let you know.
     
    Last edited: Feb 21, 2017
  10. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    Hi! Thank you so much for your support :D

    Unfortunately, my asset does not include any falling or landing animations. I was actually going to include them at first, but I could never make the falling animation (or the transition from the jumping animation to the falling animation) look good enough. So I ended up taking them out, because I was afraid that they might actually deter people, lol. I've gotten a lot better with animations since then though, so they might be a possibility for the future ;)

    I can definitely help you with adding them to your project though :) As long as you have animations for them, they're actually quite simple to implement!
    Also, the statement: "animator.CrossFade("Movement", 0.2f);" means that the animator will transition to the "Movement" animation in a period of 0.2 seconds. The "CrossFade()" function is useful here because it allows the animator to transition to the "Movement" animation regardless of what animation it is playing, and even if it is in the middle of transitioning to another animation.
    It also makes the animator look slightly cleaner, since you don't need arrows coming from every other animation in the animator to get to the "Movement" animation (which is what you would need if you were to use a parameter in this case) :)

    Here are some ways to implement falling into your project:

    If you just want your character to freeze at the end of his jumping animation (instead of transitioning to a falling animation):
    1. Open the player's animator controller.
    2. Select the arrow between the "Jump" animation and "Movement" animation.
    3. Uncheck the option: "Has Exit Time" ("Has Exit Time" means that the animation will transition to whatever animation the arrow is connecting it to, once it has finished playing).
    4. Repeat these steps for any jumping animations you would like to freeze at the end (such as the "DoubleJump" and "LedgeJump" animations. The "WallJump" animation already freezes at the end, so you don't have to worry about that one).

    (This is just some advice):
    If you had a "grounded" parameter, you could add a "condition" to the arrow that would only allow the animation to transition if "grounded" is true. However, since we are using the "CrossFade()" function in script, we do not need a parameter here. The animation will transition once the player reaches the ground regardless.


    If you want your character to transition to a falling animation (after his jumping animation ends):
    1. Open the player's animator controller.
    2. Right click anywhere in the animator, hover your mouse over "Create State", then select "Empty".
    3. Select the "New State", rename it to "Falling", then attach your falling animation to the "Motion" box.
    4. Click on the arrow between the "Jumping" animation and the "Movement" animation, then press Delete on your keyboard.
    5. Right click the "Jumping" animation, then select "Make Transition".
    6. Attach the arrow to the falling animation that we just added.
    7. Repeat these steps for any jumping animations that you would like to have transition to the falling animation.

    Now, here is how to implement a landing animation into your project:

    If you want your character to transition to a landing animation (after he lands on the ground):
    1. Open the player's animator controller.
    2. Right click anywhere in the animator, hover your mouse over "Create State", then select "Empty".
    3. Select the "New State", rename it to "Landing", then attach your landing animation to the "Motion" box.
    4. Right click the landing animation that we just added, then select "Make Transition".
    5. Attach the arrow to the "Movement" animation.
    6. Open the "PlayerController.cs" script.
    7. Replace the: "animator.CrossFade("Movement", 0.2f);" statement with this: "animator.CrossFade("Landing", 0.2f);"

    I hope this helps :)
    Wow, good catch!

    The definition for "Waiting Time Between Attacks" should say: "the amount of time you have to wait (between each attack) before you can continue the attack combo". Thank you for finding this! I will update the definition once I start making the documentation for the swimming update I'm working on right now :)

    Thanks again!
     
    Last edited: Feb 22, 2017
  11. Monstermash28425R1

    Monstermash28425R1

    Joined:
    Sep 8, 2016
    Posts:
    9
    hello!!!!! i love you assets!!!

    but i dont have money!!! :'(
     
    nellecter likes this.
  12. Monstermash28425R1

    Monstermash28425R1

    Joined:
    Sep 8, 2016
    Posts:
    9
    you no have a free version?
     
  13. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    No, I'm sorry. I do not have a free version available.
     
    nellecter likes this.
  14. Delfing16

    Delfing16

    Joined:
    Dec 8, 2016
    Posts:
    3
    Hello,

    I have my own figures, I can also control with their asset?
    Of course not so complicated, I'm still a beginner.

    Best regards

    D.Delfing
     
  15. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    Yes, of course :D
    The asset also comes with documentation that tells you how to do this, and how to set everything up. So it is very simple to use ;)
     
  16. Delfing16

    Delfing16

    Joined:
    Dec 8, 2016
    Posts:
    3
    Hello,
    I would like to explain to them my project and also what I need so. Maybe they can help me yes ......?
    Please log in and I'll tell you everything.

    Here is my mail address:
    detlef-delfing@t-online.de

    Best regards

    D.Delfing
     
  17. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    If you have any questions about my asset, feel free to ask and I will be happy to answer them for you :)
    (However, I'm very tight on time right now. So, unfortunately, if you want my help with a certain part of your project that does not involve my asset, or if you want me to add certain features to my asset, I'm afraid I cannot help. If you have any questions pertaining to my asset though, I will be happy to answer them for you! ;)).
    My email is: Grantrum@gmail.com
    Thanks!
     
  18. Monstermash28425R1

    Monstermash28425R1

    Joined:
    Sep 8, 2016
    Posts:
    9
    i like this assets but i dont have money!! im a teen.... you no have a free version? i love this assets!
     
  19. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    Check your inbox. I sent you a message so we can discuss it further from there. Thank you.
     
    Last edited: Mar 9, 2017
  20. Magician_Arcana

    Magician_Arcana

    Joined:
    Aug 23, 2015
    Posts:
    47
    Hello, I love the asset so far, I'm just having one issue that I'm unsure how to address.
    In my game I don't want to have wall jumping. So I disabled that. Then I found that with wall jumping disabled, the player controller will get stuck on walls in weird ways. For example if you collide with a wall in mid-air, you'll stay there for a second before falling. Or if you're standing too close to wall and try to jump you won't go anywhere. So let's say a player wants to jump on top of a box. They can't be standing too close to the box before jumping or they'll get caught.
    Could the script still be doing some kind of check for wall-jumping that's causing the player controller hold its position for a second?

    Now I thought I could address this by assigning all my colliders a zero-friction material. And that does solve the issue of getting stuck on walls. I can jump into walls and I'll slide right down them like I want.
    But it causes another problem. Sometimes when I jump into a ledge at a certain angle and expect to be able to grab the ledge, I'll slide right down it really quickly and hit the ground. I think this is relevant to the collider having the zero-friction material. Maybe the player controller is sliding so quickly it can't check to grab the ledge? It's a behavior that's hard to reproduce. I could only do so by jumping into ledges over and over again. But it does happen enough that it would be an issue.

    Is there a work-around to resolve this? Is there a way I can make it so the player controller won't get stuck on walls without the zero-friction material?
     
  21. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    Hello! Thank you for the question :)
    Unfortunately, this is a natural problem with Rigidbodies :( For some reason, they lose all velocity when they run or jump into a wall. Character Controllers, on the other hand, do not have this problem, and slide smoothly across walls and surfaces like they should. I've tried finding a workaround for this problem before, but every solution I've found ends up causing problems somewhere else or simply doesn't work :(
    After seeing your question a day or two ago, I've been trying to find a fix for the problem again, but still no solution. I'll keep trying though, and I'll let you know if I find the fix (which seems completely possible, just very difficult apparently, lol) :)
    Thank you again!
     
    Last edited: Mar 26, 2017
  22. Magician_Arcana

    Magician_Arcana

    Joined:
    Aug 23, 2015
    Posts:
    47
    Ok, then for now I'll try using the version of the asset that doesn't use a rigidbody. Thank you for your response! :)
     
  23. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    No problem :) I'll keep working on it though, and if I can find the workaround, I'll make sure to let you know as soon as possible. :D Thanks again!
     
  24. celestialamber

    celestialamber

    Joined:
    Mar 29, 2017
    Posts:
    2
    The AddHearts function doesn't seem to work when I call it. Any ideas?
     
  25. Magician_Arcana

    Magician_Arcana

    Joined:
    Aug 23, 2015
    Posts:
    47
    So I noticed someone a while back had an issue with the character controller bouncing in their scene. I did read that the solution was included in a new release, and I'm pretty sure I did update my assets, but I'm still experiencing it. I did notice that it's happening in my scene where a slope meets level ground. (Like the top or bottom of a staircase.)

    Is there maybe a value I didn't set somewhere that could stop this from happening?
     
  26. Magician_Arcana

    Magician_Arcana

    Joined:
    Aug 23, 2015
    Posts:
    47
    Actually it just happened while in the middle of a slope while I was running down it. I have hard stick to ground enabled, and the collider for the slope has no physics material.
     
  27. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    Hello! Thank you for the question :)
    The function to add hearts is actually called modifyHealth(). So if you want to add a heart, you would call: modifyHealth(1); and if you want to remove a heart, you would call: modifyHealth(-1);
    Thanks again!

    Hmm, I can't seem to reproduce this problem, but maybe that slope is too steep for the line detectors, associated with the "Hard Stick To Ground" function, to reach. Try this:
    1. Open the PlayerController.cs script.
    2. Press Ctrl+F, then type "movement.hardStickToGround" into the Find What box, then press "Find All in Current Document".
    3. At the location of this line, replace the line under it with this:
    if (Physics.Linecast(transform.position, transform.position - transform.up/5, out hit, collisionLayers) && !jumpPressed && !jumpPerformed && !inMidAirFromJump && !inMidAirFromWallJump){
    4. Save and test it out!

    I hope this helps :) Thank you!
     
    Last edited: Mar 30, 2017
  28. milko88

    milko88

    Joined:
    Mar 31, 2017
    Posts:
    2
    Hello
    first im going to tell you that its really nice thing You did there!
    But im struggling with having player to get damage from falling... do You have any ideas?
     
  29. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    Hello, and thank you! :D
    Unfortunately, fall damage is not a feature in the asset yet, but I am planning on adding it in the next update.
    If you would like, I can send you the updated code, with fall damage, when I am finished with it though. :)
    Thank you again!
     
  30. milko88

    milko88

    Joined:
    Mar 31, 2017
    Posts:
    2
    Thank You!
     
  31. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    No problem :)
     
  32. Magician_Arcana

    Magician_Arcana

    Joined:
    Aug 23, 2015
    Posts:
    47
    I tried that, and the same thing is happening.
    It's only happening in one spot in my game right now. So I'm gonna try moving my colliders around to see what happens.
    Otherwise the player controller is working perfectly fine! Thank you for you help.
     
  33. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    No problem :) Also, I found a fix for the Rigidbody losing velocity on walls. It will be in the next update ;)
     
    Last edited: Apr 5, 2017
  34. Magician_Arcana

    Magician_Arcana

    Joined:
    Aug 23, 2015
    Posts:
    47
    That's great news! Thank you, I look forward to the next update
     
  35. MelvinzZulca

    MelvinzZulca

    Joined:
    Jul 30, 2015
    Posts:
    2
    Hey I recently purchased your all in one game kit character controller (great system by the way) I was just wondering if you can help me solve an issue I'm having. Because I'm developing a 3D platformer I want my character to move immediately after I press a key but by default the character controller has a delay when you press a key (I believe it's due to acceleration). I also want my character to be able to move an instant at the full speed I set it as. I tried messing with the acceleration but was unable to solve both these problems. Thanks
     
  36. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    Hello! Making the player accelerate instantly (instead of gradually) is actually really simple. It just requires removing a little bit of code :) I'll send that section of the script (without gradual acceleration) to your inbox right now ;)
    As for the delay when pressing a key, that actually has to do with the input settings in Unity, not my player script. To fix this, go to Edit>Project Settings>Input, then increase the "Sensitivity" of the first Horizontal and Vertical axes.
    I hope this helps! Thank you :)
     
  37. MelvinzZulca

    MelvinzZulca

    Joined:
    Jul 30, 2015
    Posts:
    2
    Thank you so much
     
  38. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    No problem :)
     
  39. Magician_Arcana

    Magician_Arcana

    Joined:
    Aug 23, 2015
    Posts:
    47
    Hey, sorry I have like a million questions, but I have one more that should be simple. I feel there's a simple solution I'm not seeing.
    When loading a scene, sometimes I may want to change the location in the scene the character is spawned at. I can easily change the way he faces, but not the camera. I just want to position the camera behind the player in my script I call when loading the scene. Is there a function I can call from your camera controller script? I tried to find out how you reset the camera behind the player on right click, but I couldn't quite find where you do that. Could I use that function somehow?
     
  40. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    No worries! This is an easy question actually, and you're exactly right about utilizing the right click/locking on feature for this! I'll send that section of the script (and instructions on how to implement it for spawning) to your inbox right now :)
    Thanks again!
     
    Last edited: Apr 13, 2017
  41. immacul8_apps

    immacul8_apps

    Joined:
    Apr 4, 2015
    Posts:
    9
    Recently purchased this asset and love it! Was very easy to turn my player into a fully functional character.
    The only issue I'm having is finding what to change to make my character climb ledges/vines/ladders correctly.

    Since my character is taller than the character included in the asset his legs disappear into the wall and his hands/body don't grab the ledge at the correct height

    Thanks

    Kristan Halls
    Immacul8 Apps
     

    Attached Files:

    Last edited: Apr 15, 2017
  42. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    Hi Kristan! Thank you for your support :)

    To decrease the height that the player grabs on to a ledge, all you have to do is decrease the "On Ledge Height" option of the Ledge Climb Controller.

    To decrease the height the player grabs on to a ladder/wall, all you have to do is slightly increase the "Climbing Surface Detectors Height" and "Top No Surface Detector Height" options in the "Climbing" section of the Player Controller. Try increasing them by a value of 0.4 or something like that :) Also, you will need to increase these options for any elements in the Climbing category (such as Ladder and Vines).

    As for the legs going through the wall, this can be fixed by changing the radius of the player's collider while he is climbing so that he is further away from the wall. I'll send the code and instructions on how to do this to your inbox right now :)

    Thanks again!
     
  43. immacul8_apps

    immacul8_apps

    Joined:
    Apr 4, 2015
    Posts:
    9
    Thanks so much for your help that worked no problems!

    Another thing I noticed if a approach a ledge smaller than my character he reaches up high (shoulder height) to lift himself onto the small ledge. is it possible to lower the height he climbs onto small ledges??

    Thanks

    Kristan Halls
    Immacul8 Apps
     

    Attached Files:

  44. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    Sorry, that one's not possible. What you could do about that is increase the minimum height of a ledge your player is able to climb up (so he does not try to climb any objects that low), or you would have to replace the animation. Sorry again.
     
  45. DTek

    DTek

    Joined:
    May 29, 2013
    Posts:
    15
    Hi Grant,
    Happy to see this is still alive :) . I've sent you an email about purchase, I'd also like to ask :
    - do you plan to add ledge corner-taking anytime soon ?
    - can I jump UP from a ledge to another close-by upper ledge ?
    - can I do the same thing, but for a nearby-lower ledge ?
    I'll have more questions after purchase.
     
  46. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    Hello! Unfortunately, the player cannot jump/switch to ledges above or below him, only to his sides. Also, I'm still working on my swimming update, so I have not planned on adding ledge corner-taking yet, but thank you for the great suggestion! I will keep it in mind :)
    Thank you again!
     
  47. JonnylikesJazz

    JonnylikesJazz

    Joined:
    Jan 17, 2017
    Posts:
    9
    Amazing asset! I'm having so much fun implementing it into my Tomb Raider project! Added a review and I would really love a ledge-jumping system or a tutorial of some sort to add on! Thanks Grant!
     
  48. GrantMarrs

    GrantMarrs

    Joined:
    Mar 29, 2015
    Posts:
    192
    Thank you so much for the awesome review man! I'm so glad you like it. :D
    I actually have been thinking of adding a vertical ledge jump feature to the asset. If I do decide to add it, it would have to be after I'm finished with my swimming update though :)
    Thank you again!
     
    Last edited: May 13, 2017
  49. DavidMBradbury

    DavidMBradbury

    Joined:
    Nov 18, 2012
    Posts:
    9
    Hey there, just got this and it's been fun getting used to the system. Some quick questions:

    Is there a built-in way to control the height of the jump based on how long the jump button has been pressed? (Older Mario style)

    Additionally, is there a built-in way to make it so that the camera only orbits while a button is pressed? For example, I'd like to click and drag with Fire1 to orbit the camera, but then when I let go, no longer orbit.

    I'm certain these would be easy enough for me to add, but was curious if there are already ways that I am overlooking.

    Thanks!
     
  50. Kristoff-Tepper

    Kristoff-Tepper

    Joined:
    Aug 27, 2015
    Posts:
    1
    How easy is it to combine this asset with other templates like ufps etc?