Search Unity

  1. Unity 2019.1 is now released.
    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. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,257
    I do not understand these questions about the face or the animations that are also not exactly like you like.

    It could be that i am wrong, but i never would use these objects in my game and i think nobody else will becouse then someone else can legaly use the same character in another game or maybe make the same game like you like these UnitZ games that pop up here and there.

    Do you really want that?

    I only want the tech features from this package and do understand that for the features it must be tested also with a good character under real project circumstances. I also do think that all what comes with this asset is from good quality and is looking nice and i will use also the character and its animations but later i will exchange them to my own characters.

    I also understand that user suggestions can help a project but please, please let them release the adventure part now and let them change the face later.
    Becouse i need this, so hard ;)

    Now
     
    sound-and-vision likes this.
  2. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    Thanks for everybodies input :) We also really want to get this version out so at this point we aren't going to be changing the more visual aspects. Especially in this case where the camera is mostly behind the character it doesn't matter as much. Not to say that we won't improve it in the future, it's just that we've been talking about this adventure scene since the beginning so we want to get it out there.

    @RandAlThor - I think that you've been here since the beginning waiting on this adventure scene - thanks for your patience :) When we release the web version I'll send you a build ahead of time. I won't have the documentation updated but I don't think that you'll have a problem.
     
  3. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    hopeful likes this.
  4. Candescence

    Candescence

    Joined:
    Aug 26, 2014
    Posts:
    105
    It's just a fairly simple script rather than a package, but it'll save people a few minutes of having to write a Force Field integration script themselves. Just put it on the character, create a Forcefield child object as normal, and away you go :)

    Though, just a warning, as far as I've tested the forcefield script/shader doesn't work with skinned meshes, sadly. Might have to ask the creator about that, I suppose.
     
  5. DeanMarquette

    DeanMarquette

    Joined:
    Feb 10, 2015
    Posts:
    165
    Hope to have some ai in the scene to test the sword on.
     
  6. DeanMarquette

    DeanMarquette

    Joined:
    Feb 10, 2015
    Posts:
    165

    Very cool integration.
    I have added an invincibility pick up if anyone wants me to share. It does require changing the health script a bit so maybe Opsive will not want me to post.
     
  7. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    Instead of posting the entire component you could just post a patch file. This file would just have the differences and not contain the entire component. Alternatively, if more people want to share changes like this, I could add another webpage similar to the Integrations page that lists all of the user-contributed changes. If it's a frequently requested feature I can then add it directly into the base version.
     
  8. Blackghost

    Blackghost

    Joined:
    Oct 2, 2012
    Posts:
    103
    I love how you say it like "shes" your girlfriend, lol
     
  9. DeanMarquette

    DeanMarquette

    Joined:
    Feb 10, 2015
    Posts:
    165
    Just playing around with some ideas. I call this "Doug's Fantasy"

     
    TheLetterS and opsive like this.
  10. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    Hah - that's awesome! I love your music choice.
     
  11. SpaceRay

    SpaceRay

    Joined:
    Feb 26, 2014
    Posts:
    375
    Hello, I have seen this TPS and I am making a game that is a third person based BUT WITHOUT the person ;), I mean that is all the same as a third person view, but using a hover car instead of a person, so I wonder if I would be able to use this controller for this or this can be only used for human or character based third person.

    Also I wonder how is the AI included in this asset? I mean if you need to buy the Behavior Designer and then learn to use it too and use both to make the game, or does this have any kind of AI included already, or maybe a way to use easily (with some actions presets or prefabs) the Behavior Designer without having to make the behaviors yourself?

    Thanks for your help

    Best Regards
     
  12. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    Thanks for taking a look at the Third Person Controller.

    The current version does require a humanoid model so unfortunately it won't work. With that said, the main runtime component that requires a humanoid is the IK component. If you disable this you would be 95% of the way there for allowing it to work with a generic model. The only other component that requires a humanoid model is the CameraController, and that is just to automatically set the anchor. On the editor side of things, the Character and Item Builders require a humanoid but that wouldn't be too hard to change so it can use a generic model as well.

    We are trying to release version 1.0 this week - after that we'll be focused on adding to the existing feature set and having the option of using a generic model would fit in well.

    AI is a major subject so instead of including some type of basic character AI within the package we instead focused on making sure it works well with Behavior Designer or your own AI package. This past week I actually heard of somebody using the Third Person Controller with Markov Decision Processes which is pretty cool. We decided to go this route so we could focus instead on character controller aspect of this asset rather then having to worry about making sure the AI is up to par. Chances are for a production game you would have switched out the AI for something more advanced anyway.

    The Behavior Designer integrated includes tasks for all of the common functions such as attacking or starting/stopping an ability. It is then integrated with the Movement Pack so your character's animations can match up with those tasks (such as seek or patrol). There is a sample scene included which includes a pretty complete behavior tree - you can read about it here.
     
    Last edited: Jul 19, 2015
  13. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    We're almost done putting the final touches on version 1.0! We still have sound and some minor animation improvement but other then that the package is ready to go. To ensure we have a solid 1.0 release, I'd like to send out a beta version tomorrow to those interested. @RandAlThor you'll be the first to receive it :) If anybody else would like to get it early and test it out please send me a PM/email with your invoice number.

    adventure start.png
     
  14. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    Check your PM or email if you got in contact with me - version 1.0 beta has been sent! We should be able to submit to the Asset Store within a few days once all of the documentation is ready. If you haven't gotten in contact with me and would like to try out the adventure scene early feel free to send me a PM or email.
     
    TheLetterS likes this.
  15. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,257
    So i played a little with the new version of this great asset and besides some little thing. i like it a lot :)
    I hope that i can use it in a new project soon and it let me do some new things in the game there.

    One question i have about the terrain.
    Is it normal to use now just meshes instead of the terrain (saw it in the blacksmith demo too)?
    I saw you have a shader for it but it use a mesh collider.
    Is this not to expensive in a real game?

    Also, can i use only black and white images for the terrain shader or other collors too like in splat maps?
    How does this shader work?


    Maybe i have to start a new thread about how to make a modern good looking terrain now in Unity 5+
     
  16. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    I first wanted to say thank you to everybody who has given their feedback on the adventure scene. There hasn't been anything major which means we should still be able to ship on time.

    The built-in terrain system within Unity isn't too good so people generally create their own terrain mesh or use a third party asset such as TerrainComposer. In this case Sarah created her own mesh using the Blender addon called ANT landscape. Concerning the performance of using a mesh collider, you're right in that a mesh collider is the most expensive type of collider. We created a more basic collider for the structures but didn't for the terrain. You'll never notice the difference - the terrain isn't big enough to cause performance problems.
    The shader was taken from the Viking Village Unity sample project and I honestly haven't looked at the source to see how it works or how you can use it.
     
    Last edited: Jul 23, 2015
  17. eridani

    eridani

    Joined:
    Aug 30, 2012
    Posts:
    655
    It looks like the player can shoot through walls again in the top down demo?
     
  18. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    Thanks! I'm going through all of the demo scenes to prep for version 1.0 and I just fixed this issue.
     
  19. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    I want to give a huge thank you to @TonyLi who added Third Person Controller integration to the Dialogue System for Unity. When you get to the part of needing dialogue or quests in your game I highly recommend that you take a look at the Dialogue System. I have had the pleasure of working with Tony for about a year and a half now, with the Dialogue System being one of Behavior Designer's first integrations. His assets and support are second to none.
     
    TonyLi likes this.
  20. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,330
    Well, second to one maybe. Do you ever sleep? ;) Anyway, it's always a pleasure working with Opsive products!
     
    opsive likes this.
  21. eridani

    eridani

    Joined:
    Aug 30, 2012
    Posts:
    655
    Get a room you two! o_O

    Seriously though, if I could nominate an award for customer service, you guys would make the top of the list.

    And I think TonyLi is some kind of super-efficient cyborg (or maybe hive-mind of multiple AI) who has been programmed to be ultra polite.

    P.S. Can't wait to see that bow in action. I believe it's the only third-person bow (not crossbow) controller in the marketplace!
     
    opsive likes this.
  22. Candescence

    Candescence

    Joined:
    Aug 26, 2014
    Posts:
    105
    Huh, cool! Care to provide details on what users can do with the integration? I think I have an inkling, but the connection isn't quite obvious.
     
  23. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,330
    Within the Dialogue System's Lua environment (e.g., within conversations), you can get and set health and shield values, check inventory, and give the player items. The integration also temporarily disables TPC controls while the player is in conversation. After the adventure scene comes out, I'll also integrate it with the Dialogue System's save game system. The documentation page is here.
     
  24. Cascadex

    Cascadex

    Joined:
    Oct 5, 2014
    Posts:
    68
    Does the third person character controller require a model that has animations? Can i use just a basic blender 3d male model mesh thats rigged or does it require the 3d model to be animated aswell?Id like to use the animations that come with this asset i have already purchased this asset a little while back just still yet to fully use it.I just came across a basic blender mesh model and i would like to use it in my project along with the animations that come with this asset.
     
  25. TheLetterS

    TheLetterS

    Joined:
    Jan 22, 2013
    Posts:
    31
  26. Cascadex

    Cascadex

    Joined:
    Oct 5, 2014
    Posts:
    68
    I think that may have been the problem my character 3d model was made in blender and it was set to generic instead of humanoid so that might be the problem :D thankyou very much i didn't mean to interrupt the development on the adventure scene with my silly questions i hope everything's going well for you and Opsive looking forward to the release of the adventure scene! :p
     
  27. Candescence

    Candescence

    Joined:
    Aug 26, 2014
    Posts:
    105
    Hopefully you can turn that off, because turning off TPC controls during conversation isn't exactly what I want, haha.
     
  28. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,330
    Yup, just untick the Third Person Controller Bridge script's "Deactivate During Conversations" checkbox.
     
    Candescence likes this.
  29. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    The Third Person Controller is out of beta!

    Ultimate.png
    Version 1.0 has been sent to opsive.com purchases and was released on the Asset Store earlier this morning! You can see the full change list here. Thank you to everybody who has given their feedback during the beta phase. Now that we've hit version 1.0 I'll be making more videos and adding more "How To" sections to the documentation. Let me know if you have any topics that you want me to cover.
     
    Archania, gurayg, Cascadex and 2 others like this.
  30. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    I thought that this was cool - the Asset Store staff picked up on the 1.0 release :) We still have a ton of work to do - I can't wait to see what this asset looks like a year or two from now. Thank you to everybody who has already purchased the Third Person Controller!

    ThirdPersonControllerFrontPage.PNG
     
    Last edited: Jul 27, 2015
  31. MIK3K

    MIK3K

    Joined:
    Sep 10, 2014
    Posts:
    144
    Just fired up Unity after taking a couple of weeks off. You nailed it with this update. The only thing that's a little weird (I'm more a gamer and a hobbyist with Unity) is the bow. Seems like the character should hold the arrow back until you let go of the mouse button to send it on it's way. Disclaimer (lol do this too much) - It's probably something trivial for a good programmer to do. Maybe leave the bow alone and let us figure it out ourselves. I always have this thing running in my head about trying not to get asset developers to make our game for us :/

    Overall just a really solid package now with a little bit of everything in there with climbing, jumping, crawling, opening things, different weapons - Wow! Wasn't sure I was even going to use this on my project but you have done such a great job with the adventure demo. Been messing with Fuse characters and ragdolls and now would be a good time to make something with Third Person Controller and a new model. Thanks for all your work on this asset.
     
    Last edited: Jul 28, 2015
    opsive likes this.
  32. eridani

    eridani

    Joined:
    Aug 30, 2012
    Posts:
    655
    Fantastic job on this new adventure release. It's super fun! Some notes:

    1.
    Yes on letting go of the mouse button to shoot the arrow!

    2. Also, the arrows don't have any arc... they fly like lasers perfectly parallel to the ground. Same with the slingshot rounds.

    3. The ladder and interaction indicators seem to disappear if you stand too close to the interact-able item.
     
    opsive likes this.
  33. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,193
    Unfortunately Unity's forums wont let me search for a 3 character term. Has anyone tested this to see how well it works with ORK? I'm still trying to find a character controller that I'm happy with and this one was pointed out by another asset developer that I'm helping test stuff in his skype channel tonight. Would love to hear feedback from anyone who has used the two together!
     
  34. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    Awesome - I'm glad you guys are enjoying the adventure scene.

    We had actually planned on doing this but this was at the tail end of the adventure scene development and we wanted to get it out of the door. I have a list of minor things like this. It'll be in the next version!

    Yeah, right now the arrows use standard rigidbody physics with gravity turned off. I have it on my list to add some type of arc-trajectory system.

    It'll be fixed in the next version.

    Thanks for taking a look at the Third Person Controller. I personally haven't used ORK before but I just contacted the ORK developer to see what it'll take. It would be awesome if we could do some type of integration similar to Adventure Creator.
     
    Shawn67 likes this.
  35. den3d

    den3d

    Joined:
    Nov 23, 2014
    Posts:
    45
    character-trigger.png Why character can stand on trigger collider?
    This is default behavior?
    And how to "fix" that?
     
  36. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    When the character does a grounded check it uses a SphereCast. There are two versions of SphereCast and I use the non-allocating version to prevent any allocations. The drawback of this is that it will also return trigger colliders. You can fix this in one of two ways:

    1. Set your trigger collider to have a layer of Ignore Raycast
    2. In Unity's Physics Manager you can completely disable raycasts from hitting triggers: just disable "Raycasts Hit Triggers"
     
    den3d likes this.
  37. den3d

    den3d

    Joined:
    Nov 23, 2014
    Posts:
    45
    Why character need a Sphere Collider that always inactive and with 0.001 radius? (image attached)
     

    Attached Files:

  38. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    That is there to prevent items from clipping with the walls. As soon as you aim the collider will be enabled and positioned/sized correctly.
     
  39. broesby

    broesby

    Joined:
    Oct 14, 2012
    Posts:
    112
    Has the asset been tested with Mixamo Fuse autorigged characters?

    I dont see any reason why it shouldnt work fine except that Mixamo has been a bit "funny" with integrating other animations than generic Mixamo ones before.... ;-)

    Jesper, Denmark
     
  40. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,330
    I tested this. It works great. When importing the animation clips, I set everything to Original and ticked the Bake checkboxes.


    -----
    The Third Person Controller API changed slightly in version 1.0, requiring a change to the Dialogue System's TPC support package. I plan to make an updated package available later today or tomorrow, with the addition of saving and loading TPC data.
     
  41. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,193
    np Justin.. I am a Behavior Designer owner.. While I haven't played a lot with it, I love it! When I heard you had a controller, I figured you were definitely one to put on the to research list! lol

    Another question. In watching the video you have linked on the asset store page for the controller, it looks like you having it do health and some stats and stuff too. Are all of the extra parts optional? Can they be turned off if we just want to use the controller/animations/camera setup? If the system will play well with ORK, I already have a lot of that stuff built in there.

    Also, seeing @TonyLi supporting it already is a promising sign! :)
     
  42. den3d

    den3d

    Joined:
    Nov 23, 2014
    Posts:
    45
    In relation to my earlier post I found some strange code:
    Health.cs
    Code (CSharp):
    1. private void Die(Vector3 position, Vector3 force)
    2.         {
    3. .....
    4.                 DieLocal(position, force);
    5. .....
    6.         }
    Then below
    Code (CSharp):
    1. private void DieLocal(Vector3 force, Vector3 position)
    2. {...}
    Seems it swap position and force values.
    RpcDie(...) also
     
  43. Candescence

    Candescence

    Joined:
    Aug 26, 2014
    Posts:
    105
    Would you mind explaining how the animations work, now, especially in relation to abilities? I can't get my ability animations to work anymore with this version. I'm not quite sure if it's the code (which I tried to modify to emulate the new ability code), or where to put the animations in the animator.
     
    Last edited: Jul 28, 2015
  44. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    The ORK developer got back to me - I don't think that the integration should be too hard. I should be able to add it within the next few days.

    In terms of your question, yes, those components are optional. Things like the Character Ragdoll, Character Respawner, Character Health and Character IK are not required so can be disabled or even removed without any code changes.

    Good catch - thanks!

    The animation selection hasn't really changed from previous versions. StartAbility and StopAbility are no longer virtual but other then that things have stayed the same. Similar to before, you'll put the state that you want your character to run in the GetDestinationState. Are you getting a GoToState error? If you are unfortunately Unity doesn't tell you what state you are trying to transition to. There is a new option on the Animator Monitor called "Debug State Changes" which should help you in determining which state you are trying to transition to.
     
  45. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,193
    That sounds awesome! May even be some of those things could be tied to the integration since you are already processing the health/stamina and some of the other things. Will be interested in seeing what you come up with! Definitely adding to wish list for when the budget is there to pick it up! :) Thanks for looking into it. The basic camera/character control that comes with ORK is ok, but having one fully built with all the animations and stuff already working would be perfect!
     
  46. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,330
    You can download an updated Dialogue System integration package here: ThirdPersonController_Support_2015-07-28.unitypackage. This package works with Third Person Controller 1.0 and adds new Lua functions tpcRemoveItem() and tpcRemoveAllItems(). Documentation is here. Saving and loading is in development and should be in the next update, along with a more comprehensive demo scene.
     
    opsive likes this.
  47. Candescence

    Candescence

    Joined:
    Aug 26, 2014
    Posts:
    105
    I'm not really getting errors as far as I recall, but I should at least use the debug to try and see what's going on.

    Also, another thought... I'm wondering how we can use abilities to augment how AI can get around, especially in the case more more complicated methods of navigation, in combination with Behaviour Designer. If I recall, off-mesh links sorta help, but not much, since they seem to be extremely limited in their purpose. Hell, navigation meshes in general aren't really useful for 'true' 3D navigation, it's more like a layered form of 2D navigation.
     
  48. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,612
    In the case of abilities like your wall run I would just disable the NavMeshAgent and give the ability complete control over the position of the agent. As soon as your ability stops you can then enable the NavMeshAgent again. This way you aren't dealing with off-mesh links and in the case of a wall a NavMesh wouldn't be able to be generated on it vertically anyway.
     
  49. Candescence

    Candescence

    Joined:
    Aug 26, 2014
    Posts:
    105
    Well, I'm more concerned about making the ability do what and when (which ability to use in which spot, and how) than that, really, that's probably the hard part.
     
  50. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,193
    In looking at the docs, I'm not seeing swimming mentioned. Also it mentions 300 animations included, are those actual animations or controller just rigged to support them?
     
Thread Status:
Not open for further replies.