Search Unity

[UPDATED] ICECreatureControl v1.4.0 - creature AI for enemies, animals, monsters, zombies ...

Discussion in 'Assets and Asset Store' started by icetec, Aug 11, 2015.

  1. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    51
    Question. Avoiding obstacles seems to be sort of broken? When my NPC bumps into an obsticle it constantly turns both sides, and crashing into it the obstacle while trying to move to a side(typically in a fence). Is there some settings im missing?

    Apex path integration seems to work better for this, but it also takes alot of performance.
     
  2. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
    I have come to the same conclusion...
     
  3. TonanBora

    TonanBora

    Joined:
    Feb 4, 2013
    Posts:
    492
    ICE's internal path finding is, well, not all that good at avoiding obstacles. :p
    It does fairly well when avoiding small obstacles, but when it faces large ones, like walls, fences, etc, it tends to struggle.

    Your best bet for the best obstacle avoidance, is a Navmesh system, like Apex, A*, or Unity's own Navmesh system.
     
  4. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
    The problem is AI's in houses and caves..
     
  5. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
    There seeems to be a tutorial on youtube with the ICE & UFPS intergration that Pit made..
     
  6. Gregorik

    Gregorik

    Joined:
    Dec 11, 2014
    Posts:
    334
    Yep, the 39 minute one, I saw it yesterday: it's very helpful for the initial setup, but he never details how he reconciles UFPS with TargetEvents + AnimEvents: how a peaceful NPC should fight back only when attacked first with an UFPS projectile. I still haven't figured that out.
     
    Tethys likes this.
  7. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
    Oh I see.. Hmm.. tricky.. wish he would do a tutorial on that too..
     
  8. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
    If damaged delt by player , attack = true :D
     
  9. Gregorik

    Gregorik

    Joined:
    Dec 11, 2014
    Posts:
    334
    Yeah I figured it out as well: Selection Range 20 AND OwnDamage != 0 then attack. ;)
     
    mattis89 likes this.
  10. Jacky_Boy

    Jacky_Boy

    Joined:
    Dec 8, 2013
    Posts:
    93
    Whoa!!! I've been struggling to figure out how to use ICE with Apex Path and you guys got it working?!? Hey @TonanBora @psych77 @mattis89 Can one of you please help me out?
    Apex works great in my scene after optimization with Opsive assets. The last thing that's holding me up is getting it to work with ICE. Any help will go a long way.
     
  11. TonanBora

    TonanBora

    Joined:
    Feb 4, 2013
    Posts:
    492
    Sorry Jacky, I have not used ICE with Apex.
    It might be that ICE has yet to be integrated with Apex.
    I know it is integrated with A* Pro, not sure about Apex.
     
  12. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,587
    Speaking of Apex. I still haven't gotten an answer from the author on when Apex integration is coming to ICE. He had said it was coming with the next major update, but that hasn't happened obviously.
     
  13. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    51
    Sure, send me a pm.

    Me i actually switched to A*. Seems to work alot better for me, both performance and pathfinding wise.
     
  14. Gregorik

    Gregorik

    Joined:
    Dec 11, 2014
    Posts:
    334
    Anyone got this error in 2017.3.0? Looks weird to me, coming from ICE:

    Recursive Serialization is not supported. You can't dereference a PPtr while loading. (Constructors of C# classes may not load objects either. See stacktrace.)
    System.DateTime:get_Now()
    ICE.Creatures.Windows.ICECreatureWizard:.cctor() (at Assets/AI ASSETS/ICE/ICECreatureControl/Scripts/Core/Editor/Core/Windows/ICECreatureWizard.cs:51)
    UnityEditorInternal.InternalEditorUtility:LoadSerializedFileAndForget(String)
    UnityEditor.WindowLayout:LoadWindowLayout(String, Boolean)
     
  15. Gregorik

    Gregorik

    Joined:
    Dec 11, 2014
    Posts:
    334
    OK so I'm hand-placing a bunch of of passerby NPC's in my scene, each of them on "patrol missions", and I realize that the Mission save/load feature in ICE 1.4 is broken. You can't reload saved missions for new AI's (NullReference thrown), so you have to recreate the patrol missions for each passerby. This is pretty horrible and I hope Pit will eventually read this. Fix save/load please.

    Edit: in a plot twist, I've come to the conclusion that ICE is way too convoluted for my simplistic urban passerby AI's. Since Mission save/load is broken anyway, I'm kinda forced to return to a simpler AI asset for my purposes.
    Will go on using ICE for my complex NPC's, but I wonder how UFPS will like 2 separate AI assets hooking into it...
     
    Last edited: Jan 10, 2018
    Tethys likes this.
  16. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
    Sorry bro, havent yet got that far =) And I dont know if Im gonna use Apex or A*.. They have to be able to move in caves and houses so.. I havent still yet imported ICE haha, Im just making everything ready in my head :D .. still fixing my islands =)
     
  17. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
    Really? . passerby you mean humans that just walks and look stupid? you can have them on loop.. just walk and walk..

    HmmUFPS with 2 Ai assets... *scratch my beard.*.. I think that FPS will drop with like 20 .. when much is happening.
     
  18. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
    Did you figure out Damage Event (animation) with UFPS and it all?
     
  19. Gregorik

    Gregorik

    Joined:
    Dec 11, 2014
    Posts:
    334
    Not plain simple passerby's, but the kind with advanced obstacle avoidance AND that react when the player attacks them. Honestly, it's the one thing that Emerald does pretty well, even placing the waypoints and directing a bunch of passerby AI's to use the waypoints is more streamlined than in ICE. I like ICE more, but for simple reactive AI some simpler assets are more performant.
     
    mattis89 likes this.
  20. Gregorik

    Gregorik

    Joined:
    Dec 11, 2014
    Posts:
    334
    First I tried to do it without Pit's video, and failed badly. Anim Events simply didn't work no matter how I tried. Then I followed the video and did it with ICE Body Parts just as instructed. It works, but Stopping Distance becomes really crucial (I use 1.5 to 1.8 units) since the 2 rigidbodies need to connect for the damage to register. In conclusion, UFPS integration is still pretty patchy in ICE 1.4.
     
  21. Jacky_Boy

    Jacky_Boy

    Joined:
    Dec 8, 2013
    Posts:
    93
    Lol no worries man, hopefully we can find a solution soon for all our troubles
     
    mattis89 likes this.
  22. ARealiti

    ARealiti

    Joined:
    Oct 4, 2013
    Posts:
    37
    Pushing the Identify Supported Assets I get the following, anyone had this / know how to fix, I'm must trying to get Opsive TPC integration working, cheers:

    PlayerSettings Validation: Requested build target group (5) doesn't exist; #define symbols for scripting won't be added.
    UnityEditor.PlayerSettings:SetScriptingDefineSymbolsForGroup(BuildTargetGroup, String)
    ICE.Integration.Menus.ICEIntegrationTools:AddCompileDefine(String, BuildTargetGroup[]) (at Assets/ICE/ICEIntegration/Scripts/Core/Editor/EditorUtilities/ICEIntegrationTools.cs:192)
    ICE.Integration.Menus.AssetDefine:AddAllDefines() (at Assets/ICE/ICEIntegration/Scripts/Core/Editor/EditorUtilities/ICEIntegrationTools.cs:108)
    ICE.Integration.Menus.ICEIntegrationTools:ValidateDefines() (at Assets/ICE/ICEIntegration/Scripts/Core/Editor/EditorUtilities/ICEIntegrationTools.cs:133)
    ICE.Integration.Menus.ICEIntegrationMenu:IdentifySupportedAssets() (at Assets/ICE/ICEIntegration/Scripts/Core/Editor/Menu/ICEIntegrationMenu.cs:38)
     
  23. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,108
    Did someone mention an update these weekend?
     
  24. Tethys

    Tethys

    Joined:
    Jul 2, 2012
    Posts:
    662
    No doubt. Cannot get an "Attack if player is out of range, out of sight, but has been damaged by said player with projectile" behavior. Mobs simply just ignore players shooting arrows and spells at them if beyond the sight range. Huge limitation on ICE and pretty goofy looking. Seems like a simple check that I asked for some 4+ months ago when were reported all the bugs, still no movement on it on ICE's part. We just need an "If damaged by a valid target" option in the advanced parameters, in which case we can send them to the last known position of the target(player) where they will then search for the Player. This way even a player is out of range and out of sight, if they shoot the mob from across the way, the mob isn't going to just keep walking around and acting like nothing is happening to them. Being damaged by a player, regardless of sight, sound or other parameters, should be an event onto itself. I have to agree with you, even HerdSim, a very basic AI package, has damage detection on its mobs so they can react to being damaged at the least.
     
    Last edited: Jan 16, 2018
  25. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,108
    Finding out the owner of the projectile or melee attack if stealth (not line of sight) from the hit direction would be a good feature and go to that player or AI / or attacking the nearest player or nearest AI.

    You should be able to do what you wanted based on whether the AI has taken damage, you may need to do a link to another behavior. Having the WANDER behavior advanced rule set to check for damage before going to another BEHAVIOR state... which would be your SEEK before ATTACK?
     
  26. ApexofReality

    ApexofReality

    Joined:
    Feb 14, 2016
    Posts:
    102
    What makes this different than RFPS's standard ai?
     
  27. Gregorik

    Gregorik

    Joined:
    Dec 11, 2014
    Posts:
    334
    @Tethys: While Pit clearly doesn't visit this forum, he seems fairly responsive on his own forum at http://www.icecreaturecontrol.com/forum-news/. (Though it has taken him a week to respond to my bug reports, and he ignored my tutorial request up until now.) If you tell him these issues in detail, it might benefit us all --- if and when a new version comes out.
     
    Tethys likes this.
  28. Tethys

    Tethys

    Joined:
    Jul 2, 2012
    Posts:
    662
    Oh I did over 3 months ago (and got a response). Like Steam games and the Steam forum, same as there, I refuse to sign up for other peoples forums when there is a perfectly legit universal place to go here, and the bug(s) have been reported here multiple times by multiple users(I will on occasion read through his support topics when needed). I agree, a universal place to post is good for everyone, and that place should be the Unity forums, IMO. I think it would be great if Unity would take a page from the Valve playbook and create a forum for every store/product page there is(obviously automated on the back end), then let the seller manage the topics and stuff. Linked directly from the store page and part of this same forum system so that if you have a Unity account, you have a forum account. It is also part of the feel good part of the buying process. If a potential customer can click right into the sellers support forum from the store page, and see that the support is good, it product isn't buggy and people are using it, that's a "seal the deal" moment and a boon to the seller. On the other hand, it would be helpful to Unity customers looking to buy products when they can see that a developer IS NOT very active on their support and the product keeps having bugs. Sellers say all the time "Bug Free" in the description when it isn't true(there are always going to be little bugs, I'm talking the big ones that may make the product unusable, not saying this is the case with ICE).
     
    Last edited: Jan 16, 2018
  29. Gregorik

    Gregorik

    Joined:
    Dec 11, 2014
    Posts:
    334
    I agree. Game developers are pretty much forced to use their auto-generated product forums on Steam (which is a good thing), because Valve kind of social engineered Steam to be this crucial meeting point and Q&A forum. Unity could do the same with these forums, holding asset developers more accountable than currently.
     
    Tethys likes this.
  30. monte_carlo

    monte_carlo

    Joined:
    Mar 26, 2015
    Posts:
    15
    Hello All

    Having a most frustrating problem with ICE projectiles, got them to semi work ok but they seem to be consistently firing backwards from the spawn point, did rotate the spawn point but that didn't change anything, it seems to be more complex than it needs to be or I'm not getting it, have had very hit and miss results up to now with spawn issues, rigidbody issues, you name it I have encountered it :), is there any documentation or vids that explain projectiles ?
    ICE 1.4.0, Unity 5.6.4f1
    Thanks in advance

    M
     
  31. AxelBoltok

    AxelBoltok

    Joined:
    Jun 26, 2017
    Posts:
    10
    Hello, i already setup a zombie AI (walk chase attack), however i wanted to ask if its possible to detect when the ai is shooted (low on hp) on the legs (not just one hit if not some hp limit), and then introduce a crawl animation after the limit is breached (only on legs), i have already the legs bodyparts for it, but i dont know how to proceed or if it is even possible, hope someone can help me,
    Thanks!
    PS: Sorry my bad english.
     
  32. Jacky_Boy

    Jacky_Boy

    Joined:
    Dec 8, 2013
    Posts:
    93
    Maybe he's sick or busy with family/new job. When I first bought Ice (original release) he was active constantly. Just be a little patient we don't want him abandoning this great asset out of frustration.
     
    StevenPicard and julianr like this.
  33. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    51
    Anyone knows how i can HEAL the player, actually add durability to my player? Damage is no problem, but i no idea what to call or how to actually ADD health to the player?

    To test im using an item, which when held, and collided to player head (this is VR), it will on trigger do something, but im kinda stuck on how to add the health .

    Anyone know?
     
    Last edited: Jan 18, 2018
  34. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    51
    Well in case anyone wonders about this, i found a way to heal the player, in VR while holding an object and colliding it to the player trigger collider.

    Not sure if its a good way to do it, but at least it works, set game layer to your player layer :) :

    void OnTriggerEnter(Collider other)
    {
    if (other.gameObject.layer == 13)
    {
    other.gameObject.GetComponent<ICECreaturePlayer>().Status.SetDurability(
    other.gameObject.GetComponent<ICECreaturePlayer>().Durability+ 25);
    Destroy(gameObject, 0.1f);
    }
    }
     
  35. AxelBoltok

    AxelBoltok

    Joined:
    Jun 26, 2017
    Posts:
    10
    Hello, has anybody being able to use navmesh pathfinding with root motion animations?, it doesnt seem to work, however if i turn off root motion and choose a movement foward speed the autopath works perfect, any ideas on how to fix it?, Thanks.
     
  36. anunnaki2016

    anunnaki2016

    Joined:
    Jun 16, 2016
    Posts:
    90
    Asset ice is just amazing and complex asset, best support too in skype, pit is a great dev , and dont have much asset for AI is have photon or unet etc, BIG THANKS FOR @icetec
     
    coverpage likes this.
  37. ThirdQuestionmark

    ThirdQuestionmark

    Joined:
    Apr 22, 2014
    Posts:
    4
    Hey. I really love this asset, but I cant find a way to integrate with unet.
    are there any tutorials for unet?
     
  38. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    868
    Anyone have an issue with ai that are dead still running other behaviours? I have an animal that dies correctly when on zero health but after death animation it gets back up. I don't have corpse enabled as i just want animal to stay where its death animations ends until it disappears.
     
  39. Tethys

    Tethys

    Joined:
    Jul 2, 2012
    Posts:
    662
    I have noticed that if you have something on Loop in an Act, like say send damage while attacking, when the creature dies, even after it plays death animation, it still sends out at least one last loop from the behavior. I also do not use corpse, I just use remove delay so the entire animation can play and loot and de-spawn particle effects can happen before removal. Also, the obvious, make sure your Death animation isn't set to loop. :p One last thing - if you assigned an animation to the get hit interaction, that will mess with the death animation. This would cause my character to stand back up after being killed, or sometimes not play the death animation at all.
     
    AndyNeoman likes this.
  40. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    868
    First thing i checked was animation loop. It's strange. Info says it is playing death behaviour for much longer than animation length and the animation only plays once but creature pops back up. Animation is setup correctly so not sure why it is happening.
     
  41. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,108
    Just a heads up ... Next ICE update will be with us within 1-2 weeks all being well.
     
    Jacky_Boy, AndyNeoman and Gregorik like this.
  42. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    868
    Edit:- Animator controller had anystate transitions which appears to cause the problem of animal not staying dead. Issue solved :).
     
    Last edited: Jan 23, 2018
    Tethys and julianr like this.
  43. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    It is bug fixes only ?
     
  44. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,108
    I'm sure it has bug fixes, as Pit mentioned this - unsure of any new content though. I do know that he has been working hard on this, as well as work and being sick after having a quick conversation with him on Skype. Just making you aware that there is a point release on its way.
     
    Jacky_Boy likes this.
  45. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Yep, the plugin is complex, it's code only while some graphic tool (BT, Goap) had made it more easy to maintain while decreasing a lot the code and complexity.
    I don't think there will be new features as it is already complete.
    Still good news there is updates for bug fixes.
     
    Last edited: Jan 23, 2018
  46. Gregorik

    Gregorik

    Joined:
    Dec 11, 2014
    Posts:
    334
    There's no such thing as a complete, finished AI asset. There's always room for new features.
     
    julianr and Jacky_Boy like this.
  47. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    868
    Any update if ICE is going to work with ooti motion controller? The one problem im having is working out where to hook into damage for player so I can play the playerhit animation on my character. IT seems like the event system will not work because the script is on the player but the even is on the AI if i've made that understandable.

    TLDR - Any tips on playing the player "flinched" animation when hit by AI.
     
  48. Tethys

    Tethys

    Joined:
    Jul 2, 2012
    Posts:
    662
    I set the IMPACT in the main setup of the character to DEFEND. Then set my get hit animation on the defend behavior, as well as add a particle blood effect and sound. HOWEVER..... while I can get mine working nicely, there seems to be conflict with DEATH. When its time to die, it bugs out, sometimes plays the Death animation, sometimes doesn't, sometimes does a blend between Get Hit and Death. Sometimes it plays the death mostly and then stands back up due to the Get Hit animation. I have found this to be consistent across my 8 different MOBS I have setup so far for our project. To get around it, we turned off animation and rely on Sound Effect and Particle Effect to give feedback on hits. Good luck!
     
    AndyNeoman likes this.
  49. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    868
    Awesome, thanks for the tip. My death animation is completely bugged out at the minute anyway lol. Player just vanishes instead of playing animation even though it appears to be setup correctly.
     
    Tethys likes this.
  50. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    868

    This has threw up a few issues when I have tried to copy. I don't have any options for adding defend or impact to player character. Do you use another asset?

    Also how do you get a behaviour to play for your ai when hit? The options appear only when value is == or < or >.