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. danteswap

    danteswap

    Joined:
    Oct 27, 2013
    Posts:
    164
    Hey anyone got any idea on how to prevent Ice Creature From Going underwater
     
  2. TidyDev

    TidyDev

    Joined:
    Dec 16, 2012
    Posts:
    45
    upload_2018-3-26_17-30-19.png

    I assume it would be this?

    While im here, anyone know how to make sure that if the creatures leaves its "Home" radius it stops what it is doing and returns?

    Cheers.
     
  3. danteswap

    danteswap

    Joined:
    Oct 27, 2013
    Posts:
    164
    that's not working
     
  4. TidyDev

    TidyDev

    Joined:
    Dec 16, 2012
    Posts:
    45
    Did you enable the "Avoid Water" checkbox above the water handling section? You can see it in the attachment I posted.

    I havn't made any of my creatures avoid the water yet though so not sure if it works or not.
     
  5. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    It's not something I have done but could you not have an interactor with the home object as the target and then set a behaviour to walk back towards it if you are x distance away?

    I would imagine there are other ways too.
     
  6. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    It is explained somewhere in this thread but you need to setup the terrain and water layers (not sure why) there is a youtube video done by PIT that explains it in detail.
     
    TidyDev likes this.
  7. TidyDev

    TidyDev

    Joined:
    Dec 16, 2012
    Posts:
    45
    Has anyone made a boss AI using ICE? Would be nice too take a look and see what limitations I would have using this asset.
     
  8. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    I don't think there are any limitations really as it is fully extendable and has a crazy amount of features built in but it is a tricky system to master I think. A step by step approach would be my advice. Make a list of what you want it to do and do one at a time. I'm currently developing a social structure for animal AI. Small steps.....

    I have had little success with flying creatures though. 'd also love some tips on creatures that swim and walk on land like crocs but I've not made it that far yet.
     
  9. nomax5

    nomax5

    Joined:
    Jan 27, 2011
    Posts:
    365
    On the subject of learning ICE the complexity and documentation etc.

    I've been using PicPick screenshot thingie http://ngwin.com/picpick (the free version) and with Ctrl click I select just the Inspector window in Unity then join them all in photoshop to produce a One Sheet reference to the Ice settings for an object. I'm finding it really helpful

    I think the best way to view this information is to upload it to a website as an image.

    Here is the Teddy setting from the Ice Nav Mesh tutorial



    you always end up with a corner that you can write notes in.

    I've got multiple screens and its nice to have it open on one of them

    Cheers

    Roy
     
  10. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    That's a really useful and good idea. Thanks for sharing.
     
  11. JonasPersson

    JonasPersson

    Joined:
    Aug 14, 2016
    Posts:
    65
    Hi!

    Im trying to use ICE with Aarons A*.

    The creatures are following the path in y and z axis ,but my creatures keep walking higher and higher up in the air, witch settings should i try to fix this or is it a bug?

    I have been trying a lot of things :-(

    Thank you!
     
  12. claudiorodriguescampos

    claudiorodriguescampos

    Joined:
    Jun 23, 2017
    Posts:
    98
    I use UFPS and Realistic FPS Prefab. Is it possible to create an AI like this one using Ice Creature Control
    - look for attacks between 30 and 40 seconds
     
    boysenberry likes this.
  13. TidyDev

    TidyDev

    Joined:
    Dec 16, 2012
    Posts:
    45
    I think this is achievable from what I have seen using ICE, you can setup attack behaviors and link / rotate them. It would be nice to see some in-depth official video tuts on ICE though as it is a steep learning curve and most tutorials I have found are focused on wild life over boss fights etc.
     
  14. AGregori

    AGregori

    Joined:
    Dec 11, 2014
    Posts:
    527
    @claudiorodriguescampos If you mean 3 to 4 kinds of randomized attacks, including a rush attack, it's fairly easy to set it up with ICE. There's a 3 attack limit in Emerald, but it's also doable in it.
     
  15. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    You can do all that but as been mentioned it's an in depth tool that takes time to learn. Most boss battles have attacks linked to health level of boss. Have the attack setup up with health as setting i.e <80 start second attack etc. the rest is about setting animation/position of boss relative to player etc.
     
  16. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342

    Good afternoon. you wanted to send a video about how you set up a photon. but they did not post it and did not send it.
     
  17. claudiorodriguescampos

    claudiorodriguescampos

    Joined:
    Jun 23, 2017
    Posts:
    98
    Ok, thanks for the explanation. I will begin to use ICE now to see if I able to do what I want. Thanks.
     
  18. CaptainStardog

    CaptainStardog

    Joined:
    Mar 8, 2017
    Posts:
    46
    Anyone heard from Pit? I hope he's alright.
     
  19. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    Nope! Hopefully he is ok, but communication was bad before his accident - no doubt he is busy doing other things now, or he is not well enough to work on ICE anymore - I wouldn't expect an update any time soon - or support - but if anyone has had comms in the last week let us know he is still around and fit to supporting this asset as it is still buggy on some of the most wanted or used items. I even offered to pay for fixes, but it seems money is not the issue. The last thing he said to me was he is working on a small issue and will work on fixing the Third Person Controller (Invector), but that was 11th March. Hopefully he is motivated enough to work on it again as I am sure after an accident ICE is the last thing on his mind, but maybe a long road to recovery.

    Personally I can't wait for fixes, but I will do my best to work through them in my spare time as a secondary AI system (hopefully to be my first choice again) - ICE CC is a great product regardless of its current issues and would hate to see it shelved, but for me its not usable until I can fix a few issues with it - maybe Pit could release it for free now so the community could grow stronger and big enough, but allow a MIT licence so people can create free or paid updates.
     
    Last edited: Apr 4, 2018
    Tethys and boysenberry like this.
  20. Tethys

    Tethys

    Joined:
    Jul 2, 2012
    Posts:
    672
    Regarding water avoidance, I have not been able to get it to work, but from my understanding it is because the water will need a collider in order to be detected, and in my case, we don't have colliders on the water so it fails to detect it. Good luck!
     
  21. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    As far as I remember, you need to tick off, avoid water and add a layer of water to the ground handing.
     
  22. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    I have you watched the video made by Pit which shows how to set it up?
     
  23. CaptainStardog

    CaptainStardog

    Joined:
    Mar 8, 2017
    Posts:
    46
    @julilanr - Thanks for responding. He actually was pretty quick to respond to my email a year ago, but things change. Just wondering because sometimes after a bad accident we think we are able to do things we sometimes are not. It would be good to know the future of this asset because I'd believed it was among the best when I purchased it precisely because of Pit's response to me. I see someone has left a review stating he is AWOL. Not good for Pit.
     
  24. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    It's still a great asset, but I'm not sure it will stay that way without any support, or an increased number of developers that are proficient in c# to help others that need it. Initially it's not an easy asset to grasp - but once you have worked out how everything works you can really make something good out of it. For large quantities of AI it really is a good system.
     
    TonanBora and AndyNeoman like this.
  25. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    100% agree. I wish Pit was getting whatever he needed or expected out of it to truly support ICE because I think it's fantastic. but like everything else things move quickly and updates/support are every bit as important as the base product - as I'm finding out for myself launching onto steam early access lol.
     
  26. Tethys

    Tethys

    Joined:
    Jul 2, 2012
    Posts:
    672
    Yeah, you need colliders on your water in order for Raycasts to detect the layer. I believe it's not an ICE thing but a Unity thing.
     
    Last edited: Apr 5, 2018
  27. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    Morning all,

    I was just wondering how you setup a AI with lots of interactions with the player? Do you just have one interator between player and AI character and then change the criteria based on settings or do you create different interactors for all the behaviours an AI character might do with the player?

    I'm setting up my main companions to the player and they react a lot of different ways depending on needs. I'm a bit concerned with the priority system if that will influence a big list of "ACTS".

    Interested to hear your thoughts.
     
  28. TonanBora

    TonanBora

    Joined:
    Feb 4, 2013
    Posts:
    493
    I use Snagit, which has a very VERY generous trial period. lol
    I like it because it auto detects the Editor windows, and allows for scrolling captures. :)
    It also has its own editor, so you can add things like circles, squares and such right after taking pictures.
     
    nomax5 and AndyNeoman like this.
  29. nomax5

    nomax5

    Joined:
    Jan 27, 2011
    Posts:
    365
    ooo thats sounds tempting..

    I often think it would be nice to have a copy paste All components values
    also be nice to have "Save Project As" so you could do a backup just before you try that project screwing dodgy change lol.

    Spooky as it sounds I'm just watching one of your videos on ICE which is very informative,


    You should do more, it's really good.

    Roy
     
    TonanBora likes this.
  30. AGregori

    AGregori

    Joined:
    Dec 11, 2014
    Posts:
    527
    Why would it be spooky?.. He made the videos to be watched. ;) And I also think he should do more: a new video series on 1.4 would help new users adopt ICE. Folks who are only familiar with Emerald or Behavior Designer at this point.
     
    nomax5 and TonanBora like this.
  31. nomax5

    nomax5

    Joined:
    Jan 27, 2011
    Posts:
    365
    Because I was watching a video and by coincidence the author of the video commented on a post I made roughly at the same time., I find that spooky.
     
    TonanBora likes this.
  32. TonanBora

    TonanBora

    Joined:
    Feb 4, 2013
    Posts:
    493
    Lol :p
    I might start up some short tutorials on a few different topics.
    Including a "Scripting with ICE" to show some of the stuff you can do IF you do know a bit of scripting. :)

    Getting back into using ICE for a current project, so I will likely become more active here again. :)

    Currently, working on a solution for smoothing out the rotational movement of Navmesh Agent based AI to make them rotate more naturally, instead of the slide & rotate method they are using.
     
    Last edited: Apr 8, 2018
  33. nomax5

    nomax5

    Joined:
    Jan 27, 2011
    Posts:
    365
    Great stuff !!

    I'll try and promote your videos whenever I can under the guise of "being spooky" ;-)
     
  34. TonanBora

    TonanBora

    Joined:
    Feb 4, 2013
    Posts:
    493
    Dark-Muppeteer likes this.
  35. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938

    I would definitely be interested in scripting videos. I am getting to some advance social/group AI at the moment and interacting with my own systems too so I am scripting quite a bit. Not quite ready to do a video myself yet but maybe down the line as I get closer to getting out of early access.
     
    nirvanajie and TonanBora like this.
  36. AGregori

    AGregori

    Joined:
    Dec 11, 2014
    Posts:
    527
    I'm also looking forward to your scripting videos, but they won't be popular. :p I guess most folks opt for ICE to avoid scripting.
     
  37. TonanBora

    TonanBora

    Joined:
    Feb 4, 2013
    Posts:
    493
    Well, I don't do it for popularity. :p
    If it helps even a single person, it would be popular enough for me. :)

    But yes, most AI solutions like Emerald, and ICE are popular because you do not need to Script for most of the common situations.
     
    nirvanajie and neoshaman like this.
  38. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    Afternoon all, I might be having a problem engaging brain here but as i'm editing some prey animals to escape a predator I am finding them stopping when leaving the distance for selection range (makes sense) but I want them to go to the escape distance which is much further. If I change the selection distance then it will be triggered too early before other actions in the chain like sense. What simple thing have I forgot?
     
  39. Enoch

    Enoch

    Joined:
    Mar 19, 2013
    Posts:
    198
    I can only tell you how I would solve this and it might not be the best approach but it does work. I call this particular problem a problem with aggro, which ICE doesn't solve in the most intuitive manner but it can solve it. For us it was how do we get a mob to chase at a range of 10m but stay chasing even if the player gets 50m away? It's a very similar problem to yours so you can probably use the same solution.

    What you need to do is repurpose one of the Basic status variables. It's doubtful you are using all of these so use one you aren't using. The one that I use for "aggro" is Stress. So you need to first make sure your mobs stress starts at 0.

    For this you will need your normal Interaction that you use to have the mob escape a prey when they are at the selection range. This interaction doesn't change however you should copy it to a second interaction and leave everything the same except make this second interaction a higher priority.

    Now for the second interaction increase its selection range to whatever you want the "I'm not worried about the predator anymore" range to be. So if the trigger range is 10 (predator gets within 10 we run away), this second range specifies at what range the predator must be for us t stop running away lets say this is 40, so set selection range for this interaction to 40.

    Now for this interaction we only want it to trigger when our stress level is at a certain point. Under selection angle add a condition of OwnStress > 0.

    Now the second interaction will only trigger when stress is above 0. However at this point we aren't setting stress anywhere. So in your first interaction you need to set a "creature Influence", this is a foldout under TargetEvents. Open up this foldout and set stress to 10.

    So now when the mob sees a predator it raises its stress to 10 and now its selection distance for escaping is 40. The problem is it now flee from every predator that is within 40 range since we have no mechanism to reduce its stress.

    So lets copy the second interaction and raise this copied 3rd interactions priority to just above the first interactions priority but just below the second interactions priority. We are also going to extend its range to infinite. So this 3rd interation will only trigger when the creatures Ownstress > 10 and the predator is greater than 40m away (since the second interaction will trigger at a higher priority if its <40). Now for this one we need to use Creature Influence again and now set the Stress to -10.

    So now a predator comes within 10 and the first interaction fires and raises the stress to 10. Now the second interaction is active and the Mob fless until the predator is at 40m. Once the predator gets further than 40m the 3rd interaction fires and lowers the stress back to 0 and now the mob won't trigger again until another predator comes within 10m.

    I know that sounded really complicated, but I was trying to be as clear as I could. Hope this helps.
     
    Tethys and AndyNeoman like this.
  40. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938

    Awesome solution, thanks for that. Sounds perfect.
     
  41. Tethys

    Tethys

    Joined:
    Jul 2, 2012
    Posts:
    672
    Great description and solution, thanks for sharing(we've contemplated this one as well)!
     
  42. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    438
    So,

    When can I use this with my Unity 2017?
     
  43. Tethys

    Tethys

    Joined:
    Jul 2, 2012
    Posts:
    672
    Oh shoot, does it not work with Unity 2017? That will suck -seeing as I just upgraded my VR project with ICE to Unity 2017 last night. :p
     
  44. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    yeah works fine :)
     
    Tethys and AndyNeoman like this.
  45. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    Works with 2017.x
     
    Tethys likes this.
  46. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    438
    Weird it doesn't work for me

    I'll try it on a brand new project
     
  47. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    438
    Well... in an empty project it works,

    in my current project it doesn't...

    Errors all related to:


    Assets/ICE/ICEWorld/Scripts/Core/Objects/ice_objects_animation.cs(148,29): error CS1061: Type `AnimationEvent' does not contain a definition for `functionName' and no extension method `functionName' of type `AnimationEvent' could be found. Are you missing an assembly reference?


    Any help please?

    I've got PM, AC, SGT, HOTWeen a few others in there...
    I am assuming it is using the same Class AnimationEvent.... how to fix this please?
     
    Last edited: Apr 21, 2018
  48. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938

    Search your scripts this usually happens when there are two or more conflicting.
     
  49. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    438
    I Wouldn't know how to fix it,

    But I did change the class name and script name of the AnimationEvent script and it seems to have no errors now... we'll see if this fixes it or screws up more things
     
  50. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    438
    1. In the Wizard it asks for Player, my players get spawned at runtime, the players can chose which characters they use during runtime as well, can I simply leave this blank?

    2. I cannot select a Interaction Act as TAG -> Player, or any other tags for that matter... it remains "Untagged".

    3. I Create 4 empty objects, position them in an X type of fashion, parent them under an empty "Waypoint" object, in Missions I set the Patrol to the Waypoints object, now I have 4 waypoints that I enable, the creature does not follow this, regardless of the order type cycle, random, pingpong it would go to HOME_CreatureName-Predator as a target, how do I limit the creature to only patrol a select waypoint path?

    4. I have a path mesh that I'd like to set as the creature's random travel anywhere on the mesh (not outside of it), how do I do that?

    5. How can I use 1 out of 4 different attacks on random?

    6. The Selection range to be based of a mesh, for example say the creature is on platform X, once the player goes to platform X only then should it be detected?