Search Unity

Controller Third Person Templates by Invector

Discussion in 'Tools In Progress' started by Invector, Aug 20, 2015.

  1. JohnPet

    JohnPet

    Joined:
    Aug 19, 2012
    Posts:
    85
    Everything is nice and all, but the jumping seems quite weird. Even with air control active, when the character enters falling animation, he falls straight down, zeroing out his jump momentum. :p Is this scripted to be that way?
     
  2. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    We will start working on the Shooter Addon after v1.2 release

    Take a look at the list feature and play around with webplayer, read reviews and only you can decide what package fits better for your project :)
     
    Kory-therapy likes this.
  3. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    The jump will only fall straight if you release input, otherwise it will go forward and even more forward if you are running
     
  4. JohnPet

    JohnPet

    Joined:
    Aug 19, 2012
    Posts:
    85
    Well it seems that despite input, the character just falls straight, as if scripted to do so...
     
  5. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    That's odd, are you using the last version 1.1d? take a look in the webplayer just to have some comparison
     
  6. MahaGaming

    MahaGaming

    Joined:
    Feb 25, 2014
    Posts:
    82
    i want to buy this but i don't know how I would add melee attacks or weapons, i just learned all that for first person
     
  7. Pat19645

    Pat19645

    Joined:
    Apr 17, 2014
    Posts:
    14
    I am using the mouse position and left click to pick up a sword etc.
    When i put some melee anims in, if i want to pick something up the player attacks... Where can i find the code for it?
    GREAT asset btw, it's getting better and better! Love it!
     
  8. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    Hmm I guess the only way to know is dig in and see how much you know, we already leave everything prepare for melee combat, it's just a matter of assign the animations, and about fire weapons, we will create a Shooter Addon after the release of version 1.2 with AI and melee Combat.

    Every input is been control by the ThirdPersonController script, take a look at our documentation, it has a infographic showing what every main script does :)
     
    jayimagination likes this.
  9. LMan

    LMan

    Joined:
    Jun 1, 2013
    Posts:
    493
    Any hints for adding support for moving platforms? I can get a cube to stick using moveposition, but there is added magic that seems to be preventing the character from moving with the platform.
     
  10. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    Basically you need to make the Player children of the plataform in order to stick them together, you can use OnTriggerEnter and OnTriggerExit for this. (this solution will not work very good with ragdoll, but for the player it will work just fine)
     
  11. Kiwi-Hawk

    Kiwi-Hawk

    Joined:
    Jul 17, 2015
    Posts:
    288
    Kia ora

    ArgumentException: Input Axis LeftAnalogHorizontal is not setup.
    To change the input settings use: Edit -> Project Settings -> Input
    Invector.Character.isControlerInput () (at Assets/Invector-3rdPersonController/Scripts/Player/Character.cs:322)
    Invector.Character.OnGUI () (at Assets/Invector-3rdPersonController/Scripts/Player/Character.cs:211)

    Should I reimport the package, making sure I over right all? it was in the project at startup.

    Strangely I don't have a stopMove layer or player layer either, not sure why
     
  12. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    It look like your project is missing the ProjectSettings, you can reimport the settings and everything should work all right
     
  13. PhosphorUnity

    PhosphorUnity

    Joined:
    Jan 22, 2014
    Posts:
    39
    When you get to Shooter Addon, will it work w/ melee as well? (A player shooting a zombie (melee), or a player melee a shooter AI?)
     
  14. carlosrovira

    carlosrovira

    Joined:
    Dec 23, 2014
    Posts:
    58
    Hi,

    just want to remember an old bug that I reported some months ago. I thought it was solved but I test the new version (1.1d) and is still there: In Isometric demo, if you go to the wall with the text "Jump Over" and click just before the wall (i.e. in the text "jump over"), the character jumps over the wall, ...but makes another jump over the next wall and then turns around and makes another jump over the last wall and agains a jump over the first one, so it finish the movement where it was at the begining (just turned 180º).

    Could this be problem be solved? I think isometric - click to point is not useful or usable with this bug on it.

    Thanks!

    Carlos
     
  15. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    There a good chance that the Shooter Addon will include the Melee stuff from the Combat that we are working right now, let's see how it goes :)

    Hey Carlos,

    It's not much of a bug as of an level issue, those 2 jump walls are pretty close to each other and the character has very small space after making the 1 jumpOver, so if you leave more space it will solve the problem.
    Another way to solve this is simple turn off the auto-action, and leaving the player decide to jump or not the wall by input.
     
  16. pinkraisons

    pinkraisons

    Joined:
    Jan 16, 2016
    Posts:
    3
    I'm sure it's just a setting somewhere or something but I can only go up ladders. Even if I'm halfway up and press the down button he still climbs up instead. I've tried importing into a new project, tried all the demo scenes with 360 controller and keyboard and nothing seems to work.
     
  17. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    Hey there @pinkraisons, this is happening because we change the method that verify if the player is strafing or on free directional movement, it's really simple to fix... open your ThirdPersonMotor script and just add a condition !usingLadder on the bool freeLocomotionConditions, it should be like this:

    v1.1d Ladder Fix

    Code (CSharp):
    1. public bool freeLocomotionConditions
    2.         {
    3.             get
    4.             {
    5.                 if (locomotionType.Equals(LocomotionType.OnlyStrafe)) strafing = true;
    6.                 return !strafing && !usingLadder && !landHigh && !locomotionType.Equals(LocomotionType.OnlyStrafe) || locomotionType.Equals(LocomotionType.OnlyFree);
    7.             }
    8.         }
     
    Last edited: Feb 11, 2016
  18. pinkraisons

    pinkraisons

    Joined:
    Jan 16, 2016
    Posts:
    3
    That Worked perfectly. Thanks for the quick response.
     
    Invector likes this.
  19. Rexoto-Games

    Rexoto-Games

    Joined:
    Jan 11, 2013
    Posts:
    41
    Any news on the update?
     
  20. SingularitySystems

    SingularitySystems

    Joined:
    Feb 10, 2014
    Posts:
    48
    It's been a few months since Invector posted their last Roadmap, it may be worth them posting an updated one so when people ask this question, we can quote it.

    The most recent news I've seen is we should expect 1.2 out within a reasonable amount of time... and the Shooter Addon by the end of Q1 2016, so within the next month or so unless their timetable has shifted.

    @Invector: If you guys have an AI enthusiast on the team, this talk from the GDC is incredibly informative and absolutely fascinating. I wrote a simple buddy AI using the systems they laid out, and it's surprisingly effective.
     
    Invector likes this.
  21. Muro

    Muro

    Joined:
    Nov 7, 2012
    Posts:
    25
    Is climbing system similar to Uncharted or Tomb Raider planned? This system is just screaming for it. Great work btw!
     
  22. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    Hell yeah we have some news for you guys :D


    WIP version 1.2 Preview
    *animations are not final



    Combat - Here is a little preview of the combat system that we are working on, similar to the Dark Souls series, you can Lock-on at the target and switch between then, after the enemy dies you can leave the body with the ragdoll physics on or turn off and destroy the components in order to save performance.



    Moveset ID - you can add different animations for locomotion, strafing, attacking, blocking based on a ID that you can set up at the Weapon. For example, the character can have unique walk animations for each weapon.



    Different Hit Reaction - We created a blend tree if you want your character to trigger different animations when receive damage.



    Enemy AI - We are working hard to make the AI able to make the same actions that our CharacterController does, this includes jump, jumpOver, stepUp, climbUp, crouch, ragdoll, etc...





    There is a few more surpreses to come, but I will not spoiled anything right now cause we are spending a lot a time polishing to make sure that you guys can play around with no trouble, so hold on a little more guys :)
     
  23. googlebac

    googlebac

    Joined:
    Feb 1, 2015
    Posts:
    56
    Hi! Really loving working with this folks you did a fine job, just got a very small bug report. the player character always gets stuck when climbing up an object from a crouched state. i'm working on a stealth game so was crouchwalking and pressed E to climb up, the animation keeps looping and he gets stuck going back and forth. seems to only happen when he's crouch while going in to the action.

    Also, my game doesn't need the jump functionality, is there an easy way to disable jumping? If not a tickbox for that would be really handy. looking forward to the shooting addon, the first few levels of my game dont have any shooting so I can get started!

    Bloody awesome work you've saved me a lot of time.
     
    Invector likes this.
  24. googlebac

    googlebac

    Joined:
    Feb 1, 2015
    Posts:
    56
    mate I could kiss you XD
     
    Invector likes this.
  25. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    @SingularitySystems I remember when I play Bioshock Infinite a while ago, that behaviour blow my mind :eek: lol, she is incredible and always a inspiration to us.

    We have this feature listed in our Trello, but our main problem is with animations lol, but we are working on our animations skills to make sure that this will not be a problem for new features like this ;)

    @googlebac This is a simple problem of ExitTime, if you take a look on the Animator the exittime from climbup to FreeMovement is 0.9f and climbup to FreeCrouch is 0.7f (a little earlier to make a better transtition of animations), so all you need to do is put this condition on the method ClimbUpAnimation() at the ThirdPersonAnimator script

    Code (CSharp):
    1.  if(crouch)
    2.                 {
    3.                     if (stateInfo.normalizedTime >= 0.7f || hitReaction)
    4.                     {
    5.                         gameObject.GetComponent<Collider>().isTrigger = false;
    6.                         _rigidbody.useGravity = true;
    7.                         climbUp = false;
    8.                     }
    9.                 }
    10.                 else
    11.                 {
    12.                     if (stateInfo.normalizedTime >= 0.9f || hitReaction)
    13.                     {
    14.                         gameObject.GetComponent<Collider>().isTrigger = false;
    15.                         _rigidbody.useGravity = true;
    16.                         climbUp = false;
    17.                     }
    18.                 }
    You need to sync the Exit Time of the Animator with the stateInfo.normalizedTime of the script in order to reset the action bool so you can do it again :)
     
  26. Kiwi-Hawk

    Kiwi-Hawk

    Joined:
    Jul 17, 2015
    Posts:
    288
    Kia ora

    Created a new project to test a heightmap, set it to 3D imported ONLY 3rd Person Controller at startup.

    I put everything together, textures my landscape etc and put in the Char:

    Clicked 3rd Person Controller menu
    Select Create new Char
    Drag in the vBotLowPoly
    Hit create

    the screen does it's thing and I move the char to where I require him to be and hit play



    I have NO idea what/ why but the only feed back I get is

    Thread::CurrentThreadIsMainThread()

    I get the feeling that Unity is forcing 2D? this is Unity-5.3.2f1
     
  27. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    Hey @Kiwi-Hawk, you forgot to set the Character Layer to "Player"
    Also, make sure that your terrain has a layer Default, since it's been set up on your Ground Layer ;)

    As for the error, I have no idea what can be, neve saw this one before... o_O
     
  28. googlebac

    googlebac

    Joined:
    Feb 1, 2015
    Posts:
    56
    Hi, just tried it, throws up an error saying hitReaction does not exist in the current context climb.PNG
     
  29. Kiwi-Hawk

    Kiwi-Hawk

    Joined:
    Jul 17, 2015
    Posts:
    288
    Thank you,.. I double checked everything and it's looking better,. I'm trying to see if theres any bug reports with the latest installer forcing 2D,.. when I hit play now I get set part way through the terrain and in 2D mode, my mouse movement only changes the sky graphic and when I exit I'm in 2D mode in the editor. I setup the project to be 3D for windows
     
  30. Jenovah

    Jenovah

    Joined:
    Dec 9, 2011
    Posts:
    14
    :O

    Invector that looks above and beyond what I was expecting for combat!! When is that coming out? I will purchase as soon as it's available, combat was what I was waiting for!!!
     
    Invector likes this.
  31. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    I'm sorry @googlebac, the variable hitReaction is a new features that we are currently working on, I just copy and paste here lol, you need to replace the current stateInfo >= 0.85f, so the final code should be like this:

    Code (CSharp):
    1. void ClimbUpAnimation()
    2.         {
    3.             animator.SetBool("ClimbUp", climbUp);
    4.  
    5.             if (stateInfo.IsName("Action.ClimbUp"))
    6.             {
    7.                 if (stateInfo.normalizedTime > 0.1f && stateInfo.normalizedTime < 0.3f)
    8.                 {
    9.                     _rigidbody.useGravity = false;
    10.                     gameObject.GetComponent<Collider>().isTrigger = true;              
    11.                 }
    12.  
    13.                 // we are using matchtarget to find the correct height of the object
    14.                 if (!animator.IsInTransition(0))
    15.                     animator.MatchTarget(matchTarget.position, matchTarget.rotation,
    16.                                AvatarTarget.LeftHand, new MatchTargetWeightMask
    17.                                (new Vector3(0, 1, 1), 0), 0f, 0.2f);
    18.  
    19.                 if(crouch)
    20.                 {
    21.                     if (stateInfo.normalizedTime >= 0.7f)
    22.                     {
    23.                         gameObject.GetComponent<Collider>().isTrigger = false;
    24.                         _rigidbody.useGravity = true;
    25.                         climbUp = false;
    26.                     }
    27.                 }
    28.                 else
    29.                 {
    30.                     if (stateInfo.normalizedTime >= 0.9f)
    31.                     {
    32.                         gameObject.GetComponent<Collider>().isTrigger = false;
    33.                         _rigidbody.useGravity = true;
    34.                         climbUp = false;
    35.                     }
    36.                 }
    37.                
    38.             }
    39.         }
    It's always nice if you undestand the process, did you get it that I made 2 verifications? one at the Animator that has both transition to the stand up locomotion and one to the crouch locomotion, and also make this verification on the script to reset the bool that activate by input when you climbup :) - let me know if this works for you

    Hmmmm I see, it's really odd @Kiwi-Hawk, perhaps there is some scripts lost at the inspector forcing to play in 2D mode? if there is, I believe that is not from our template, we don't have anything that force 2D mode...
    If you like I can take a quick look for you, send me your project zipped at inv3ctor@gmail.com

    Alwaaays nice to hear this kind of feedback, it really motivate us to improve and make something awesome :D:D
    Stay tuned, I will post more updates about the combat system in the next few days :p
     
  32. UnleadedGames

    UnleadedGames

    Joined:
    Feb 17, 2008
    Posts:
    242
    That update preview just got you a new customer, can't tell you how long I've been waiting for a system like this!
     
    SingularitySystems and Invector like this.
  33. Kiwi-Hawk

    Kiwi-Hawk

    Joined:
    Jul 17, 2015
    Posts:
    288
    Kia ora

    I'm not sure this is the right place but I got told it was a third party issue on the main forums, I'm not sure it is.
    I made the adjustments as you suggest (I think) I know theres all so a graphic's issue, my main problem at this point is why when I hit play does the camera go weird like it does, It feels like and looks to me like Unity is forcing 2D mode when I hit play and that why I'm getting this weird action with my char

     
    Last edited: Feb 10, 2016
  34. epik_chance

    epik_chance

    Joined:
    Aug 28, 2014
    Posts:
    1
    @Kiwi-Hawk
    It isn't forcing 2D, thats the editor's default behavior. You can change that by going to Edit -> Project Settings -> Editor. Then change the Default Behaviour from 2D to 3D. It used to annoy me as well till I found the setting for it :p Not sure about why it looks like that when you hit play, but it might be the camera. Did you change any settings there?
     
  35. Kiwi-Hawk

    Kiwi-Hawk

    Joined:
    Jul 17, 2015
    Posts:
    288
    No only FOV from 60 to 75. I put all my setting up in the video I did change that setting you mentioned back to 3D but that has not changed in game mode

    Update. I deleted the char and camera and started over now it looking good, back to fixing graphic's

     
    Last edited: Feb 10, 2016
  36. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    Nice! - I noticed that your Culling Layer from the Camera is not assign , usually we use the Default layer as well

    Guys when you create a new character, don't forget to assign the layers, it's very crucial for the proper functioning of the template, and we have a awesome Culling system that some guys are missing.

    Let's review de process again (@Kiwi-Hawk this is a tip for everybody)

    I will create a FAQ soon and put a button on the menu of the template to help everybody that don't like reading the documentation (I know, it's boring lol)
     
    Kiwi-Hawk likes this.
  37. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    Come to the Vector Side of the force my son, we have good features :p
     
  38. xxhaissamxx

    xxhaissamxx

    Joined:
    Jan 12, 2015
    Posts:
    134
    what about TPS games ? shooter games
     
  39. googlebac

    googlebac

    Joined:
    Feb 1, 2015
    Posts:
    56
    Yep works perfectly, thanks a lot. I'm still kind of a noob with code, its getting to the point where I can write simple scripts myself but when I get a bunch of code in front of my it's latin to me right now XD
    starting to see it though! still learning. thanks mate
     
    Invector likes this.
  40. Kiwi-Hawk

    Kiwi-Hawk

    Joined:
    Jul 17, 2015
    Posts:
    288
    It's more like at 67 I forget the op of the page by the time I get to the bottom rofl, I got flaky ram at my age mate
    That you for you on going help. I guess my next big learn is to fix the Eva Adventure animation set

    First to translate this into English

    https://www.dropbox.com/s/zi7hga1tvglovqf/Screenshot 2016-01-13 09.54.33.png?dl=0
     
  41. angelsm85

    angelsm85

    Joined:
    Oct 27, 2015
    Posts:
    63
    Hi! I've built my game for iOS and several errors appear like:

    "Assets/Invector-3rdPersonController/Scripts/Player/ThirdPersonAnimator.cs(431,52): error CS0103: The name `GamepadVibration' does not exist in the current context"; "Assets/Invector-3rdPersonController/Scripts/Player/ThirdPersonAnimator.cs(431,37): error CS1502: The best overloaded method match for `UnityEngine.MonoBehaviour.StartCoroutine(System.Collections.IEnumerator)' has some invalid arguments"; "Assets/Invector-3rdPersonController/Scripts/Player/ThirdPersonAnimator.cs(431,37): error CS1503: Argument `#1' cannot convert `object' expression to type `System.Collections.Enumerator'

    How can I fixed it? Thanks.
     
  42. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    The first one is because the XInput does not support iOS for gamepad vibration, just search the lines that call the method GamepadVibration and comment them. But I'm not sure what can be the other 2 errors... what lines shows when you click on them?
     
  43. angelsm85

    angelsm85

    Joined:
    Oct 27, 2015
    Posts:
    63
    Thank you for your answer. This is the line appear in all three cases...
     

    Attached Files:

  44. Invector

    Invector

    Joined:
    Jun 23, 2015
    Posts:
    966
    Just add a && !UNITY_IOS along with the android and webplayer, this goes to every if that you find with this condition :)
     
  45. angelsm85

    angelsm85

    Joined:
    Oct 27, 2015
    Posts:
    63
    Thank you so much!! It's resolved
     
    Invector likes this.
  46. PhosphorUnity

    PhosphorUnity

    Joined:
    Jan 22, 2014
    Posts:
    39
    What is ETA on melee? can't wait!!!!
     
  47. KaletheQuick

    KaletheQuick

    Joined:
    Feb 12, 2016
    Posts:
    41
    Great asset! First Unity asset I have ever purchased. I am looking forward to the melee and shooter packages you have in the pipeline! And possibly contributing to that whole package, (at no profit to me, i just like improving things).

    I have one minor hiccup, I am going to be using the MCS assets as well, but for some reason the camera seems to be focused on the ladies' thigh gap, rather than what is in front of her. I have poked about for quite a few hours, but have not found a solution.

    If anyone could try downloading the various free MCS things and trying it out, I could at least see if the problem lies only with me.

    Otherwise, does anyone know generally how the camera figures out where to look and from?

    UPDATE: The character also vibrates left and right while in aim mode.
     

    Attached Files:

  48. Kiwi-Hawk

    Kiwi-Hawk

    Joined:
    Jul 17, 2015
    Posts:
    288

    Seems quite low, that camera. I select the camera and use the move gizmo to place it where I want it an rotate it down a little
     
  49. SingularitySystems

    SingularitySystems

    Joined:
    Feb 10, 2014
    Posts:
    48

    I've had no issues with the MCS system in conjunction with Invector whatsoever, though I have not used the latest update of either, so I gather this is likely a configuration issue. I'd check the TPCamera script's targets (Or use Unity's Debug menu), see what it's looking at.
     
  50. KaletheQuick

    KaletheQuick

    Joined:
    Feb 12, 2016
    Posts:
    41
    The camera is placed by a script. From what I understand it is targeting the parent object, and places itself above the shoulders or near the shoulder blades, but with the MCS character it for some reason is near the knees. I cant find a child object it is following, and even found and cleaned up a few other errors in the process. I might just change the script so it follows the head checking collider.