Search Unity

  1. Unity 2020.1 has been released.
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

Third Person Controller - Third Person, AI, Multiplayer, Mobile Framework

Discussion in 'Assets and Asset Store' started by opsive, Jan 21, 2015.

Thread Status:
Not open for further replies.
  1. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,483
    When is the next update coming out?
     
  2. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    No estimate yet, take a look at this post.

    Beyond that, things are going extremely well and I'll start to post a few screenshots as soon as we add some more polish.
     
    Nateply likes this.
  3. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,483
    Sounds very exciting I am looking forward to it.
     
    opsive likes this.
  4. redjon29

    redjon29

    Joined:
    Jul 12, 2015
    Posts:
    92
    Yes thank you !!! Thay's what I looked for 2 days. So great.
     
  5. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    Cool. You'll probably get to it before I need to figure out how to set up the SWS stuff again (did it a few months back as a test on an old project) :D
     
  6. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    One of the features of the next version is a revamped item system and I hit a couple of Unity bugs regarded this that I'd like to see if I can get some votes on.

    For organization purposes I'd like to arrange the Animator Controller in a "Item Name.Ability Name.State Name" format, where there are two substates. However, Unity doesn't recognize nested substates so you aren't able to. This makes organization more of a mess because now you can only be one substate deep instead of two.

    Unity has been able to reproduce these bugs so now we just need to get them to fix it. If you have any votes left and can vote on these issues I'd appreciate it.

    https://issuetracker.unity3d.com/is...not-properly-return-true-for-nested-substates
    https://issuetracker.unity3d.com/issues/animator-animator-dot-gotostate-state-could-not-be-found
     
  7. AshyB

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    163
    @opsive where in the scripts does it set the "Yaw" animator parameter? I noticed the character just rotates on the spot rather than use the idle turn left/right animations when rotating.
     
  8. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    Within AnimatorMonitor.SetYawValue,
    Code (csharp):
    1.  
    2. m_Animator.SetFloat(s_YawHash, m_YawValue, 0.1f, Time.fixedDeltaTime);
    3.  
    Should be replaced with:
    Code (csharp):
    1.  
    2. m_Animator.SetFloat(s_YawHash, value, 0.1f, Time.fixedDeltaTime);
    3.  
    (notice the second parameter says value instead of m_YawValue)
     
  9. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    Here's a preview of another feature coming to version 1.3: item extensions.



    Item extension will allow for you to have hybrid weapons. This will allow you to for example have an assault rilfe that can attack using bullets, grenades, or melee. This extensions system ties into the revamped item system so you'll still have the flexibility to specify exactly what attack animations you want to play and when you want those animations to play.
     
    julianr and redjon29 like this.
  10. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,483
    Looks nice. Is there a limit on how many options you can have on a single weapon? For example I was thinking for the assault rifle and grenade launcher situation. What if you want to have multiple grenade types? For example stun, flash/bang, fragmentation, and smoke. So each type of grenade would be considered a different type.

    Just found a small typo in Rewired Integration and I am not sure if you are already aware of or not.

    Assets\Third Person Controller\Integrations\Rewired\RewiredInput.cs

    On line 99 there is a hard coded reference to Unity input instead of to Rewired.

    Code (CSharp):
    1. private void Update()
    2.         {
    3.             if (UnityEngine.Input.GetKeyDown(KeyCode.Escape)) {
     
  11. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    There is no limit, so your option of having those three type of grenades will work well. You can add a new extension by adding a new component and setting the ItemType for that extension.

    extension.PNG

    Thanks!
     
  12. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,483
    Don't other asset developers run into these same issues?

    It seems like with the amount of integration that the other developers (e.g. @TonyLi ) do they run into the same issues.
     
    Last edited: Mar 6, 2016
  13. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    In this case the bug deals with Unity and not an integration. It basically means that you can't do this:

    nested.PNG

    Now that in version 1.3 you can have more fine-grain control over which item animations play having these nested substates would have been great for organizational purposes.

    Thanks to everybody who has voted on it - hopefully Unity will fix it sooner rather than later :)

    https://issuetracker.unity3d.com/is...not-properly-return-true-for-nested-substates
    https://issuetracker.unity3d.com/issues/animator-animator-dot-gotostate-state-could-not-be-found
     
  14. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    10,562
    That design flaw has been a pain since Mecanim first introduced sub-state machines. In my own project, I gave every single state a unique name, such as:

    Substate1 > Substate1_Subsubstate2 > Substate1_Subsubstate2_MyState​

    instead of:

    Substate1 > Subsubstate2 > MyState​

    which would have been much cleaner if it were currently possible.
     
  15. redjon29

    redjon29

    Joined:
    Jul 12, 2015
    Posts:
    92
    Hi I saw that we can add several generic abilities but is it possible to select one instead of another in behavior designer? I have one animation played with the generic ability when an enemy spot the player and i would like to add another one when he gets damaged to simulate a stun or a reaction?
    And how to use the is damaged task? Does it just return success when the character takes damage or it needs to be configured with the health and shield values?
     
  16. redjon29

    redjon29

    Joined:
    Jul 12, 2015
    Posts:
    92
    Or would it be possible in a future update to add the ability to react damage ex 2 or 3 values corresponding to the amount of damage. Less than 10 just a small reaction more than 50 fall on ground and unable to move since animation finished. I think it would bring more life in the game it works well in the evil within
     
  17. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    You are currently only able to select one type of ability within the task. I'll add it to my list to expand this in the future.
    That is correct, when the character takes damage it'll return success. This task is best used with a conditional abort. The heath and shield SharedVariables are option.
    What you could do is receive the health and shield variable and then compare that new value to the old value. If you did this you would then be able to have different type of damage reactions.
     
    redjon29 likes this.
  18. redjon29

    redjon29

    Joined:
    Jul 12, 2015
    Posts:
    92
    Great for the behavior designer integration, and is there a way to do the same thing on the player?
     
  19. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    Do you mean something more than just by a different input name?
     
  20. redjon29

    redjon29

    Joined:
    Jul 12, 2015
    Posts:
    92

    I mean like in this video 26:10 we can see a short animation when the character takes damage and he can not move after getting hit during the animation time
     
  21. Archania

    Archania

    Joined:
    Aug 27, 2010
    Posts:
    1,662
    If I missed it can you point it out but I am trying to figure out how to set up the bow like you have in the demo.
    Can't seem to find anything about how to set it up and stuff.
    Trying to setup my own. Plus can use it for a crossbow etc.
    Thanks.
     
  22. TheLetterS

    TheLetterS

    Joined:
    Jan 22, 2013
    Posts:
    31
    You can reference the videos on how to set up items/item types:


    The main difference with the bow is that there is a projectile and an actual bow animation. The bow itself has an animator to play it's stretching animation with the bow attack (same with the slingshot and crossbow). If you look at the bow or crossbow in the inspector in the demo you can see how those were set up. Hope this helps!
     
  23. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    In that case what you could do is receive a the damage event and then start the generic ability to play the hit animation. This post relates to a slightly different topic, but it'll give you an idea on how to use the damage event.
     
  24. BigYetti

    BigYetti

    Joined:
    Apr 11, 2015
    Posts:
    26
    This asset has a nice target lock-on system that I'm looking for for my game.
    Lock-On RPG Camera Kit

    I would like to use the Opsive controller for my game for many reasons, but I definately want that functionality.

    What would it take to either implement that functionality or integrate that asset (Aaron Lewis's Lock-On RPG Camera Kit) into this character controller (Opsive's)?

    Thank you
     
  25. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    Target locking is coming to version 1.3 - it's actually already implemented and is working well :) We will be running a beta in a couple of weeks and I can add you to that list if you're interested. Just send me a PM/email with your third person invoice number.
     
  26. BigYetti

    BigYetti

    Joined:
    Apr 11, 2015
    Posts:
    26
    Invoice sent via the 'Conversation' thingy. Looking forward to it.

    TYVM
     
  27. Archania

    Archania

    Joined:
    Aug 27, 2010
    Posts:
    1,662
    Ya I was following that and looking at the demo. I couldn't get it to work though I'll try it again. Its just a little more complicated then a gun.
    Thanks!
     
    TheLetterS likes this.
  28. RoyalAllen

    RoyalAllen

    Joined:
    Oct 17, 2012
    Posts:
    127
    Finally Big news took me a couple weeks but finally did it! Heres my proof!
    I will make a tutorial soon.

    Will be busy the next couple days might be Monday before I get to make the video.

     
    redjon29 likes this.
  29. redjon29

    redjon29

    Joined:
    Jul 12, 2015
    Posts:
    92
    Wow seems to hard for me. But it works with ennemies with the generic ability. Waiting for the update of generic abilities tasks with BD i have a lot of ideas to bring life in my game
     
  30. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,483
    @opsive and @TonyLi

    It looks like they fixed these two issues in a future release.
     
    opsive likes this.
  31. Blackghost

    Blackghost

    Joined:
    Oct 2, 2012
    Posts:
    103
    Hey Opsive, do you think you can integrate ooti's Motion and or Actor controllers?
     
  32. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    What sort of integration are you looking for? Those are both other character controllers so they each operate independently of the Third Person Controller character controller.
     
  33. Blackghost

    Blackghost

    Joined:
    Oct 2, 2012
    Posts:
    103
    I apologize. I was speaking to general. It would be cool to integrate certain features like wall walking and certain camera dynamics like the Actor Controller has? Also, a side question. How difficult would it be to implement a raycasting feature for the hands, say, when a player gets too close to a wall, instead of bumping into the wall, they raise their hands in front them and place it on the wall?
     
  34. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    Wall walking would make for a great ability and I have hand it on my list - just haven't had enough time to add it yet :)

    What camera features in particular are you looking for?

    You could modify the CharacterIK component and set the target hand position when a wall is near. It shouldn't be too hard to implement if you've played with Unity's IK system in the past.
     
    Blackghost likes this.
  35. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,483
    Scuba Diving would be another great ability. Whenever you have some spare time. :)
     
  36. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    It would be - I've had diving on my list as well :) Version 1.2 was focused on new abilities so version 1.3 won't be containing any new abilities. I plan on doing another new ability update again, but I don't have a timeframe for that yet.
     
  37. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    Going along with the 1.3 theme of improving the item system, we've reworked the inventory inspector so it uses a ReordableList instead of the previous static list. We've also added a new field which will allow you to specify the order of items within the inventory. This is great if you always want a power weapon to appear after a heavy weapon, for example.

    inventory.PNG
     
    99thmonkey and julianr like this.
  38. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,483
    Awesome. Looking forward to this next release.
     
  39. Datiel12

    Datiel12

    Joined:
    Jun 27, 2013
    Posts:
    10
    Hi, i got the asset but everytime i try to import it through the store it Says "Decompressing Package"and after 10 minutes Unity Crashes I need help i really want to try this out cause it seems really cool!
     
  40. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    What version of Unity are you using? I would remove the download from your Asset Store download cache directory and then try the download again.

    http://forum.unity3d.com/threads/asset-store-download-folder.83620/
     
  41. Datiel12

    Datiel12

    Joined:
    Jun 27, 2013
    Posts:
    10
  42. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,819
    Did you try clearing the cache?

    I submitted three different Unity versions to the Asset Store: 4.6, 5.0, and 5.1. That import error sounds like it is importing the wrong version. As a test I completely cleared my cache file and tried to import using 5.1.2 - it was able to import correctly.

    If you're still not able to get past the import error send me a PM or email with your invoice number and I'll send you an alternate link.
     
  43. Datiel12

    Datiel12

    Joined:
    Jun 27, 2013
    Posts:
    10
    Clearing The Cache Worked. Thanks!
     
  44. 99thmonkey

    99thmonkey

    Joined:
    Aug 10, 2012
    Posts:
    524
    Infinity per weapon is awesome!
     
    opsive likes this.
  45. redjon29

    redjon29

    Joined:
    Jul 12, 2015
    Posts:
    92
    Hi Justin I plan to use the free version of ork framework to navigate between scenes and make dialogues, cutscenes and i've tried your example scene and I did'nt found how to set the interact input. I switched in the base/controls, interact to action in unity game inputs so it refers to the TPC input but I can only interact using right click wich is already set to attack Do you know if my problem is about ork or the TPC integration?
     
  46. drewradley

    drewradley

    Joined:
    Sep 22, 2010
    Posts:
    3,063
    I use ORK with this and had to add an interaction controller to the player to make it work properly.
     
    Arganth likes this.
  47. redjon29

    redjon29

    Joined:
    Jul 12, 2015
    Posts:
    92
    Thank you drewadley!! now I have interact on my hud but Istill have to right click to interact with the guy on the sample scene. Do you know how to set the F key to start the dialogue?
     
  48. drewradley

    drewradley

    Joined:
    Sep 22, 2010
    Posts:
    3,063
    I think all you need to do is open the ORK framework and go to Base/Control and then Input Keys and change "Accept" to whatever you want. I set mine to use the "Action" Unity input that is setup/used by the controller. But not sure if that is possible in the free version of ORK. I know there are some limitations to the free and perhaps this is one.
     
    redjon29 and opsive like this.
  49. Ludo97

    Ludo97

    Joined:
    Dec 9, 2015
    Posts:
    121
    Hello , it is possible to replace the origins animations with new ? If so how? Thank you
     
  50. redjon29

    redjon29

    Joined:
    Jul 12, 2015
    Posts:
    92
    Yes many thanks!! You are right I changed the interact control but not the accept. now my character can speak to someone without punching him in the face. Thank you again :)
     
    Alexarah likes this.
Thread Status:
Not open for further replies.
unityunity