Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

[RELEASED] Horse Animset Pro 3

Discussion in 'Assets and Asset Store' started by Malbers, Dec 22, 2015.

?

Horse Animset Pro 3 Priority Features (* Complexity)

Poll closed Feb 15, 2017.
  1. Combat While Riding (Melee) ***

    13 vote(s)
    50.0%
  2. Combat While Riding (Ranged) ****

    14 vote(s)
    53.8%
  3. Pegasus **

    6 vote(s)
    23.1%
  4. Cart/Carriage/Wagon Pull **

    11 vote(s)
    42.3%
  5. Horse Sounds *

    12 vote(s)
    46.2%
  6. More & Stable Integrations (Realistic FPS Prefab, UFPS, Otti's, Opsiive TCP... etc) **

    16 vote(s)
    61.5%
Multiple votes are allowed.
  1. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    I was just going to knock some coconuts together. :D
     
  2. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    sounds good. Thanks for the reply. It was my only 3d model I ever bought.. I do this myself and I have a few 3d guys in our company. But we seen it on sale, and could not beat the deal it did a lot more than just a model so it was a steal..and it looked really good.
     
    Malbers likes this.
  3. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    Last edited: Sep 12, 2016
  4. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    recon0303
    I made the ootii Integration, I just Upload to the UAS, HAP 2.1a soon will be out :).
    It wasn't so hard after all, I got scared with the UFPS integration:eek::eek:
     
    Last edited: Sep 13, 2016
  5. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    sorry noobs question got

    Assets/Horse/Scripts/Rider/Rider1stPerson.cs(69,61): error CS0103: The name `MountInput' does not exist in the current context

    when mobile input is enable
     
  6. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    Nice Catch @kilik128

    add this line of code in the Rider.cs Script Here!
    upload_2016-9-16_14-35-47.png

    Code (CSharp):
    1. #if MOBILE_INPUT
    2.     [Tooltip("Add 'Mount' to the Input Manger")]
    3.     public string MountInput = "Mount";
    4. #else
    5.     public KeyCode MountKey = KeyCode.F;
    6. #endif
    7.  
     
  7. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    Thanks Malbers. sorry we started on it, Unity forums, didn't notify me with the tag... Ugh.. well we aren't done, so I had my team mate stop work on it.. We both do coding, but I had him work on it.... But since you did it we will stop work... Didn't know you where working on it. Unity forums!! Sigh..
     
    Malbers likes this.
  8. Nadan

    Nadan

    Joined:
    Jan 20, 2013
    Posts:
    341
    How do you make 1st person controllers for mobile? The 'Horse Mobile' scene only has example for 3rd person rider and I don't know how to change that to 1st person.
     
  9. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    Yes the mobile example is for the 3rd person only.
    I'll will make a new mobile scene for FPS sample, I think I will need to modify the script a little .
     
    Nadan likes this.
  10. Nadan

    Nadan

    Joined:
    Jan 20, 2013
    Posts:
    341
    That would be awesome, thank you!
     
  11. hddnblde

    hddnblde

    Joined:
    Jan 10, 2015
    Posts:
    6
    Good day,

    Is there any way that I could contact you? We've bought your asset, but we really need the raw files to animate our own with your rig.

    With kind regards,
    John
     
    Malbers likes this.
  12. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    Write me at malbers.shark87@gmail.com
     
  13. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    Good afternoon. Are you working on integrating ufps with multiplayer ? Just September ends , and you wrote me that in a previous update it will be. Before I bought the asset, you wrote to me ,That will do , but still nothing(((
     
  14. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    Hi Alex we made a basic integration with UFPS, and an alfa version of the UFPS multiplayer, Have you had a chance to test it?,
    This month I got hired for the animation of a video clip so I'm a little behind for new updates and releases, there so much to do and so little time, so my apologies for the delays.
     
    Last edited: Sep 29, 2016
  15. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    Do I understand correctly that you did integration with ufps multieplayer ?? I thought you made only the basic ufps ?!! if so , then I'm happy to hear that . I don't know how I overlooked this point!!! ) will try to shove in your project ))))
     
  16. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    Alex is in alfa hahah there's some issues that its need to be solved
     
  17. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    And you solve these problems?? It is necessary now to establish if there are any problems?
     
  18. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    There are some bugs with UFPS networking, that's why I made just the announcement of basic integration.
    Here are all the specifications: Big thanks to @clarson2974
    UFPS Setup
     
  19. Deleted User

    Deleted User

    Guest

    I wasn't really planning on buying the horses, but with the discount I thought 'why the heck not, if I can support you that way to keep working on those nice assets, than it is worth it '.

    I can probably use them when I start writing my procedural herd algorithms anyway ;)
     
    Malbers likes this.
  20. Deleted User

    Deleted User

    Guest

    Just loaded it into Unity 5.4.1f1. First time I tried I got errors, but they were all about the Standard Assets, so I deleted the project, started a new one where I imported the Standard Assets first and then only the Horse part and it worked like a charm. Going to try them horses out for a bit now *smiles*
     
    Malbers likes this.
  21. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    Thanks so much for your support @AnneCHPostma
    I hope you make great things with it
    Happy Riding
     
    Deleted User likes this.
  22. ElGuapo

    ElGuapo

    Joined:
    Sep 27, 2016
    Posts:
    9
    Is there a place where we can see release notes for newly released versions? Thanks!
     
    Malbers likes this.
  23. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    upload_2016-10-4_15-42-18.png
     
  24. ElGuapo

    ElGuapo

    Joined:
    Sep 27, 2016
    Posts:
    9
    Oh. :oops: (I wish that underlined links were still common place.) Thank you for the Asset Store lesson!
     
    Malbers likes this.
  25. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,013
    I just started using this yesterday and the demo scene is not working as I would expect. When the horse enters the water he just walks along the terrain and never swims. I see the water plane is tagged as Water and is on the Water layer. Anything else that could be wrong to cause this?
     
  26. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    hey @magique what unity are you using?
    to check it by my side
     
  27. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,013
    5.3.6p2
     
  28. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    Installing 5.3.6 to test it there, I tested on 5.4, 5.4.1, 5.3.0 & 5.3.1 and everything ok (HAP 2.1.a on empty project)
    I will let you know
     
    magique likes this.
  29. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,013
    Something else I just noticed. You actually have 2 copies of the same terrain enabled in the third person scene.
     
  30. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    Yes, I got it too, I didn't know I had to copies, my bad

    PD: I tested it on 5.3.6 and works fine too, using it on an empty project.
    Is there something you are doing?
     
  31. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,013
    Well, I didn't import into an empty project, but I didn't do anything at all. I just ran the scene. If you can tell me where in the code it handles whether or not it should be swimming then maybe I can track down what might be failing.
     
  32. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    Search for the swimming method in the horse controller script, maybe is the raycast layer that doesn't find the water layer,(LayerMask.GetMask("Water"))
    Code (CSharp):
    1.  public void Swimming()
    2.     {
    3.         Vector3 WaterVector = pivots[5].transform.position; //Pivot 5 Water
    4.      
    5.         //Front RayWater Cast
    6.         if (Physics.Raycast(WaterVector, -HorseTransform.up, out WaterHitCenter, heightHorse * scaleFactor, LayerMask.GetMask("Water")))
    7.         {
    8.             Debug.DrawRay(WaterVector, -HorseTransform.up * heightHorse * scaleFactor, Color.blue);
    9.  
    10.             //if there nothing on top of the water
    11.             if (hit_Chest.distance > WaterHitCenter.distance)
    12.             {
    13.                 IsInWater = true;
    14.             }
    15.             waterlevel = WaterHitCenter.point.y;
    16.         }
    17.         else
    18.         {
    19.             IsInWater = false;
    20.         }
    21.  
    22.         //If the horse has  water near the Neck then start swimming
    23.         if (IsInWater) //if we hit water
    24.         {
    25.             if ((Horse_Chest.y < waterlevel) || (fall && !isJumping()))
    26.             {
    27.                 swim = true;
    28.                 fall = false;
    29.             }
    30.             if (distanceChest < 1f * scaleFactor)  //else stop swimming when he is coming out of the water
    31.             {
    32.                 swim = false;
    33.                 maxSpeed = 1f;
    34.                 gallop = false;
    35.                 trot = false;
    36.             }
    37.         }
    38.         //-----------------------------water Adjusment-------------------------------------------
    39.         if (swim)
    40.         {
    41.             fall = false;
    42.             fallback = false;
    43.             horseRigidBody.constraints = restoreConstraints;
    44.  
    45.             float angleWater = Vector3.Angle(HorseTransform.up, WaterHitCenter.normal);
    46.  
    47.             Quaternion finalRot = Quaternion.FromToRotation(HorseTransform.up, WaterHitCenter.normal) * horseRigidBody.rotation;
    48.  
    49.             //Smoothy rotate until is Aling with the Water
    50.             if (angleWater > 0.1f)
    51.                 HorseTransform.rotation = Quaternion.Lerp(HorseTransform.rotation, finalRot, Time.deltaTime * 10);
    52.             else
    53.                 HorseTransform.rotation = finalRot;
    54.  
    55.             //Smoothy Move until is Aling with the Water
    56.             if (WaterHitCenter.transform)
    57.                 HorseTransform.position = Vector3.Lerp(HorseTransform.position, new Vector3(HorseTransform.position.x, waterlevel - heightHorse, HorseTransform.position.z), Time.deltaTime * 5f);
    58.         }
    59.  
    60.     }
     
  33. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,013
    Thanks. I'll debug this tonight and let you know. Awesome asset, btw.
     
    Malbers likes this.
  34. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,013
    I figured it out. In Physics I needed to check Queries Hit Triggers. I'm not sure why it was turned off so I hope it wasn't something I needed for some other plugin. I'll have to wait and see on that.

    I have a request for the Horse Input script. You currently have Jump, Shift, and Attack set up so a string name can be entered, but not with Walk, Trot, and Gallop. Can you make these all string inputs? I'll probably just change this myself for now, but it'll be better if future versions have it this way already. Without it, it's difficult to test both on development PC and target hardware where only a controller is present. Also, the same for the Rider Mount input. Because you can only specify a single item from the dropdown then it only works on PC and not on target. The only way to fix it right now, besides changing the code, is the re-map it at runtime if I detect I am on target, which is not ideal. I see you have it like this for MOBILE_INPUT, but I can't figure out why you'd want to do it any other way at all.
     
    Last edited: Oct 13, 2016
  35. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,013
    I keep getting the following error in my own scene with Opsive TPC integration:

    Code (CSharp):
    1. Error: Unable to transition to Mounted.Idle because the state doesn't exist.
    2. UnityEngine.Debug:LogError(Object)
    3. Opsive.ThirdPersonController.AnimatorMonitor:ChangeAnimatorStates(Int32, String, Single, Boolean, Single, Single) (at Assets/Third Person Controller/Scripts/Character/AnimatorMonitor.cs:578)
    4. Opsive.ThirdPersonController.AnimatorMonitor:ChangeAnimatorStates(Int32, AnimatorStateData, Single) (at Assets/Third Person Controller/Scripts/Character/AnimatorMonitor.cs:554)
    5. Opsive.ThirdPersonController.AnimatorMonitor:DetermineState(Int32, AnimatorStateData, Boolean, Boolean) (at Assets/Third Person Controller/Scripts/Character/AnimatorMonitor.cs:333)
    6. Opsive.ThirdPersonController.AnimatorMonitor:DetermineStates(Boolean) (at Assets/Third Person Controller/Scripts/Character/AnimatorMonitor.cs:260)
    7. Opsive.ThirdPersonController.AnimatorMonitor:DetermineStates() (at Assets/Third Person Controller/Scripts/Character/AnimatorMonitor.cs:244)
    8. Opsive.ThirdPersonController.RigidbodyCharacterController:set_Moving(Boolean) (at Assets/Third Person Controller/Scripts/Character/RigidbodyCharacterController.cs:216)
    9. Opsive.ThirdPersonController.RigidbodyCharacterController:UpdateAnimator() (at Assets/Third Person Controller/Scripts/Character/RigidbodyCharacterController.cs:953)
    10. Opsive.ThirdPersonController.RigidbodyCharacterController:Move(Single, Single, Quaternion) (at Assets/Third Person Controller/Scripts/Character/RigidbodyCharacterController.cs:451)
    11. Opsive.ThirdPersonController.ControllerHandler:FixedUpdate() (at Assets/Third Person Controller/Scripts/Character/ControllerHandler.cs:302)
    12.  
    This happens immediately when the scene starts and my TPC character is not mounted and the horse is nearby.
     
  36. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,013
    Is there an easy way to tie the turning to the mouse look? I want to have a more Skyrim-like horse control where if you are pushing the right joystick right/left (which is equivalent to mouse look) then the horse also turns in that direction. Turning can also still be done by presses the left joystick left/right as well. This makes movement far less complicated as it is very tricky to look with right stick and turn with left stick to get correct movement.
     
  37. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    Hey @magique Sorry I didnt answer you before, Try removing the ride ability from the Opsive controller
    That ability is for his horse not mine, maybe is in conflict with the controller

    theres a not so easy way to make that work but as you bought some of the little dragons, you can solve it that way

    in the dragon input there's a code like this:
    Code (CSharp):
    1.  
    2. // Fixed update is called in sync with physics
    3.  
    4. void Awake()
    5.     {
    6.         mydrago = GetComponent<DragonController>();
    7.     }
    8.  
    9.     private void Start()
    10.     {
    11.         // get the transform of the main camera
    12.         if (Camera.main != null)
    13.         {
    14.             m_Cam = Camera.main.transform;
    15.         }
    16.         else
    17.         {
    18.             Debug.LogWarning(
    19.                 "Warning: no main camera found. Third person character needs a Camera tagged \"MainCamera\", for camera-relative controls.");
    20.             // we use self-relative controls in this case, which probably isn't what the user wants, but hey, we warned them!
    21.         }
    22.     }
    23.     // Fixed update is called in sync with physics
    24.     private void FixedUpdate()
    25.     {
    26.         // read inputs
    27.         float h = CrossPlatformInputManager.GetAxis("Horizontal");
    28.         float v = CrossPlatformInputManager.GetAxis("Vertical");
    29.  
    30.         // calculate move direction to pass to character
    31.         if (m_Cam != null)
    32.         {
    33.             // calculate camera relative direction to move:
    34.             m_CamForward = Vector3.Scale(m_Cam.forward, new Vector3(1, 1, 1)).normalized;
    35.             m_Move = v * m_CamForward + h * m_Cam.right;
    36.         }
    37.         else
    38.         {
    39.             // we use world-relative directions in the case of no main camera
    40.             m_Move = v * Vector3.forward + h * Vector3.right;
    41.         }
    42.         mydrago.CameraMove(m_Move);
    43.     }
    44.     }

    then in the controller is this method:
    Code (CSharp):
    1.     public void CameraMove(Vector3 move)
    2.     {
    3.         // convert the world relative moveInput vector into a local-relative
    4.         // turn amount and forward amount required to head in the desired
    5.         // direction.
    6.         if (move.magnitude > 1f) move.Normalize();
    7.  
    8.         move = transform.InverseTransformDirection(move);
    9.         turnAmount = Mathf.Atan2(move.x, move.z);
    10.         forwardAmount = move.z;
    11.     }
    you can create a public bool to activate this mode and in the update function of the controller: just put this
    Code (CSharp):
    1.  //If CameraInput Mode is Activated
    2.         if (cameraMove)
    3.         {
    4.             vertical = forwardAmount;
    5.             horizontal = turnAmount;
    6.         }
    7.  transform.Rotate(Vector3.up, horizontal * Time.deltaTime * 150); //Add extra rotation
    8.  
     
    magique likes this.
  38. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,013
    Thanks, I'll give this all a try. I definitely had the Ride ability on my character and didn't realize it wasn't needed.

    [EDIT]
    Strange, but even with the Ride ability removed I'm still getting that error.
     
  39. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,013
    Also, a couple other things. What would be the best way to force the player to unequip items in hand when the horse is mounted? Is there some sort of callback to tell me when the player is mounted so I can unequip items? And, is there some place to alter the slope movement restriction? The horse automatically refuses to go up steeper slopes, but I'd like to increase that just a bit if possible.
     
  40. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    hey @magique im travelling these days that's why not that available on the forums
    about the slopes you only need to increase this values on the code (inclination)
    upload_2016-10-15_20-1-26.png


    about the items: I need to explore (when I come back ) the code on opsive controller to find where the items are unequiped,
    but meanwhile you can read the mounted variable on the horse or the rider controller to find when is mounted or unmonted
     
    magique likes this.
  41. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,549
    That is so funny. :):):)
     
    Teila likes this.
  42. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    Wow, a bit late huh? :) I am a big Monty Python fan. lol
     
  43. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,549
    Yes. I did not read this thread very carefully before. I almost thought you had became a sound designer. :D
     
    Teila likes this.
  44. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    Oh my! LOL You made my day.
     
  45. Der_Kevin

    Der_Kevin

    Joined:
    Jan 2, 2013
    Posts:
    517
    this may be the weirdest question in this thread but...
    can i somehow also use the animations and controller with a dog model?
    just a quick brain fart i had :D
     
  46. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    Hahah nop, but Im making a generic controller for animals (like the little dragons controller )and making a new package with it, and the wolf(dog) animations will be in it (As always tons of animations)



    Is almost finished,

    and after this I will get back on the horse :D:D
     
  47. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,013
    I wanted to report a strange issue that I've seen now twice. The other day when testing my game and riding the horse around it suddenly got stuck in a state where the horse was moving on its own and was going around in big circles and couldn't be stopped. Then last night when my daughter was testing out on the Wii U, she had dismounted and when she came back to the horse it was walking around in big circles all by itself and wouldn't stop. I'm using the Opsive integration. We don't have any idea what we did unusual that could have triggered this.
     
  48. Malbers

    Malbers

    Joined:
    Aug 7, 2015
    Posts:
    2,558
    Thanks @magique I will try to reproduce the issue
     
  49. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,013
    I've only seen this twice so far so it could be difficult to reproduce. You might want to just look at code to figure out what might cause the situation to occur. But I'm sorry that we don't have any reproducible steps. There didn't seem to be anything unusual.
     
  50. one_one

    one_one

    Joined:
    May 20, 2013
    Posts:
    621
    That looks great Malbers, one of the biggest issues of many asset store animal models is that the animations are awful. Good to see that somebody capable is doing some animal animations.
     
    LudiKha and Malbers like this.