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

    hengeworks

    Joined:
    Oct 3, 2016
    Posts:
    11
    So if this were used with, for example, Opsive TPC, this would tell TPC which activities to play (e.g., running, climbing, vaulting, etc.), but TPC would handle the animation and movement? Is that correct?
     
  2. Deckard_89

    Deckard_89

    Joined:
    Feb 4, 2016
    Posts:
    316
    Hmm... I only thought the integration with Opsive's controller was player to ICE damage (and vice versa). Not sure about using an Opsive TPC - created character as an ICE AI. I can see why you're asking though, as with your Opsive character you have an animator all set up.
     
    hengeworks likes this.
  3. arie1994

    arie1994

    Joined:
    Jun 30, 2016
    Posts:
    86
    I'm working on an open world fps game.But animals are less important to me.
    What about more complicated tasks like- when attacking, if cover is valid, move to cover while still shooting
    Or simulating at least simple pedestrians.Or am I going too far? Because all the videos show animals,
    or "animals that shoot"(just run forward and shoot)-and not "tactical combat missions" like advertised.
     
  4. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    I don't think it has dynamic cover points like a tactical shooter. Correct me if I'm wrong (anybody), but you could probably set the nearest gameObject or gameObjects for the AI to go towards when under attack, when they reach that gameObject you could run the appropriate behavior/animation for taking cover?
     
  5. JDrem1

    JDrem1

    Joined:
    Jun 24, 2017
    Posts:
    199
    Thank you so much for the reply. Now that makes sense. TBH I didn't expect character (the player) controllers in the asset. So having one is a bonus. Just to see how things work.

    So long as it does the NPCS animals, and monsters I'm pleased.

    Again thanks for the confirmation.

    I hope someone helps with your question, because I'm affraid have no idea.. ;)
     
  6. Ryuichi173

    Ryuichi173

    Joined:
    Apr 12, 2015
    Posts:
    141
    Hmm...strange.
    Have you checked priority as well? Minor case should be high priority, otherwise major routine override it's behavior.
    And "Favoured" option should prevent from changing behavior until reach to goal.
    ICE is very complex so I cannot say "It should be caused by xxx because~".

    Anyway, I agree with you. ICE must have more variety of AI demo, I think.
     
  7. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Checked priorities, but the home behaviors seems always try to override other interactions even if I set it's priority to 0
    especially the way-point generation, sometimes it seems multiple generators are creating way-points simultaneously with their own timers then cause the way-point changes rapidly and irregularly.
    Maybe there are other tricks I should know about to set it right :)
     
    Ryuichi173 likes this.
  8. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Uploaded a video to show my problems with flying creatures:

    I use separate basic behaviors with priorities and only one rule.
    Then I use a collection behavior to select wanted basic behaviors via Link function.
    Now I've got two problems:
    1. the blue circle indicated location seems can not be reached if my creature is not on land, then it can not be updated by reach causing floating issue.
    2. The interaction priorities seem to be lower than the behavior's favorite priorities no matter the value I set. As you can see the Landing behavior has 15 priority but continues even when the 21 priority interact's requirements are all reached.
    Any ideas?
     
  9. Ryuichi173

    Ryuichi173

    Joined:
    Apr 12, 2015
    Posts:
    141
    Did you setup Recreation Limit? If the limit is above the 0, the home target will be handled with the highest priority in cases the value goes below to the limit.

    Did you checked Stopping Distance? Too narrow number is common reason for such type of problem.
     
  10. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Hi, my recreation limit is default 0.5. and the stopping distance is 2 by default. It simply is because the creature is not on the ground, when it reaches ground, all goes smoothly.
    Or maybe the behavior's acting time is blocking the home interaction to update, I found ICE's logic settings are a bit limited, it would be much greater if we can let the interaction's acts to select from different behaviors rather than only one.
     
    Ryuichi173 likes this.
  11. Ryuichi173

    Ryuichi173

    Joined:
    Apr 12, 2015
    Posts:
    141
    Hi Harekelas,

    Oh, I see. I had ask Pit about that before. I think Pit planning update around here in future update.

    Anyway, did you turn on Ignore Level Differences when free-roaming and turn off case of landing?
    Sorry to ask such question but it is hard to read tiny letters in video.:)
     
  12. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Is this the little "3D" button to the right of the stop distance?
    I tried to turn it on and off, doesn't seem to help, but I'll try it again to see the effects of this function.
    And I'm wondering if ICE can let me identify a stand point (like on a tree) for birds to stand on in the 1.4 version.
     
    Ryuichi173 likes this.
  13. Ryuichi173

    Ryuichi173

    Joined:
    Apr 12, 2015
    Posts:
    141
    I think you can find check box just below the "Stopping Distance(circular) " named "Ignore Level Differences".
    It is turned on in the Default that mean AI would ignore difference of levels(Y height) of target point when it try to detect reaching.
     
  14. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    There is no checkbox down there but a small button to the right, disabled by default, guess this is the ignore level difference.
    If I leave it disabled, my creature will suddenly teleport to ground as soon as he reaches the way-point, if I enable the button, my creature will never reach the way-point.
    This definitely is an ICE bug. Can only wait for v1.4 to make birds possible.
    And I found the status variables very confusing, in the behavior's influence sector, I cannot find a choice to reduce my creature's stamina...how do I limit my creature's behaviors through stamina control?
    And don't understand what the stress and debility status for. Any insight explanations would be perfect :)
     
    Ryuichi173 likes this.
  15. Ryuichi173

    Ryuichi173

    Joined:
    Apr 12, 2015
    Posts:
    141
    Hi

    Oh, excuse me. It is because I was talking about old interface.:oops:
    But never reaches to the area? It is strange.... perhaps I have to dig about problem you found.
    Sorry for my inconvenience but I cannot understand what happened on you currently.
    Did you checked Death match demo scene? It might be BIG help for your problem.

    By the way, In my use case, I like to use "send message" to fill-in-the-blank currently ICE weak point but you have to write short line of codes.
     
    Last edited: Jul 13, 2017
  16. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Nothing, without any date information the update could land quickly or within many months lol
    I wonder what takes so much work with the update ?
     
    Last edited: Jul 14, 2017
  17. C_p_H

    C_p_H

    Joined:
    Nov 24, 2014
    Posts:
    153
    I recall him saying in another thread that it's the integrations with third party assets that require a lot of time to fully test in order to add or update them to be fully compatible with the next ICE release he's working on.
     
  18. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    I spoke to Pit a day or so ago, he's nearly there but battling with some things on Unet once they are out of the way, hopefully it will not be long after that.
     
    Tethys, BryanO, Ryuichi173 and 2 others like this.
  19. altugs

    altugs

    Joined:
    Jan 14, 2017
    Posts:
    17
    How can you avoid entities sliding when they reach target with navmesh? I don't have this problem with rigidbody/internal motion controls, but both can't help me to establish a good patrol mission in a dungeon-like environment.
     
  20. Ryuichi173

    Ryuichi173

    Joined:
    Apr 12, 2015
    Posts:
    141
    Sad to say, but it is a known bug for currently version of ICE, as long as I know.
    A*pathfinding is alternative choice and it works very well but it is expensive.
     
    lod3 likes this.
  21. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    Ryuichi173 likes this.
  22. altugs

    altugs

    Joined:
    Jan 14, 2017
    Posts:
    17
    Thanks, is it possible to use A*pathfinding with ICE's other remaining features?
     
    lod3 likes this.
  23. Ryuichi173

    Ryuichi173

    Joined:
    Apr 12, 2015
    Posts:
    141
    Hi

    I want recommend you that careful to buy A* if you don't have it.
    Because integrations could be wrong even if past version of A* integration was perfect.
    A* pathfinding had been HUGE...no, I should say COMPLETELY updated after @icetec focused on updating.
    I think, developer of A* might give you compatible version if ask him, but it might be better to ask developer for that before buying.

    On the other hands, @icetec might be fix this problem already but also he could be making some of updating for navmesh support.
     
    altugs and lod3 like this.
  24. lod3

    lod3

    Joined:
    Mar 21, 2012
    Posts:
    676
    Thanks for the heads up.
     
  25. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    I uploaded another video to show the problems:


    1. the bird will teleport to ground when reaching the waypoint
    2. if I have to change flying to walk, it will lose its forward velocity directly then drop down to ground.

    Take off is somewhat acceptable but any better ways to improve the landing part?
     
  26. Ryuichi173

    Ryuichi173

    Joined:
    Apr 12, 2015
    Posts:
    141
    Hi

    As you know, it is because you're using Ignore Level Differences. What we have to find is that how to let birds approach to the way point on the ground. In Death match demo scene, birds are comes from sky and attacking enemies using chain saws. That is one of good example showing how make flying creature to control.

    Yes, that is the one of limitation what I talking about. And perhaps @icetec is trying improve them.
    It could be reduced by Physx and Falling Behavior and so on, but there are no complete solution in the default, for now.
     
    Last edited: Jul 14, 2017
    Dwight_Everhart likes this.
  27. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Hi! Thanks for the advice!
    I finally get some acceptable results:

    By setting different behavior by the distance from target.
    I let the landing behavior set to above ground 1 meter
    Then when landing change to walk, the direct drop from 1 meter is much more convincing than 10 meters or more.
    Also solved the teleport issue, it happens because when creature reaches waypoint its behavior change to Idle, and Idle does not have vertical speed settings so the creature will be pinned on ground then next frame it updates the waypoint let my bird get to fly again.
    I just added a flying idle behavior only for the flying interactions' rendezvous behavior, with 0 vertical speed but glider body orientation state, it'll keep the bird on fixed height and going forward with flying speed when reaches waypoints.
    Now the issue is once the bird is landed, it will never take off again, I'll need to set some more interactions to let it have other goals than coming home and stay there forever.
    Any suggestions?
     
  28. Ryuichi173

    Ryuichi173

    Joined:
    Apr 12, 2015
    Posts:
    141
    Hi

    Congratulations! Oh, did you use Idle behavior after reached way point?
    I think using Flying Idle is good idea rather than using Fall behavior.:)

    It seems that you already know what you should do.

    In my opinion, take care about goal rules and priority.
    A lot of interactions you make, it might be cause of unexpected result...
    Yes, It is my experience.

    Anyway, did you already found this manual?
    It will be big help for us even though some of information are already outdated.
     
  29. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Hi jessejarvis, v1.4 will be 100% compatible with v1.3, so you can continue with your settings ...

    Have a great day!

    Pit
     
    Teila, lod3 and julianr like this.
  30. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Yeah I found the manual in the ICE folder once imported.
    Read some of it, but no functions can be fully understood without experiments.
    Now I'm moving forward to test about the status factors, need to figure out how to control my creature's behaviors through status.
    Any experiences about this sector is welcome to share!

    @icetec Great to know that 1.4 is fully compatible with 1.3!
    What is the estimated time will 1.4 come out? Really can't wait to use Tenkoku time system with it!
    Then the first simple question: which altitude the OwnerAltitude is? The absolute altitude or the relative one?
    I need the absolute altitude to let birds detect sea level and switch to swim behaviors.

    And another question: will the selective behavior function(besides the interaction's advanced behavior button) be ready to use in 1.4?
     
  31. altugs

    altugs

    Joined:
    Jan 14, 2017
    Posts:
    17
    So what is the best method to establish a smooth patrolling ai in a "+" shaped basic dungeon, which has waypoints on each end?
     
  32. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    303
    Awesome thanks! Good to know :)
     
  33. lod3

    lod3

    Joined:
    Mar 21, 2012
    Posts:
    676
    Tried the latest free version of A* last night. Entering the ICE_ASTAR and ICE_CC spits out some warnings and errors:

    --

    Warnings (7):
    Assets/ICE/ICEIntegration/Scripts/Components/ICEWorldPathfindingAdapter.cs(176,23): warning CS0108: `ICE.Integration.Adapter.ICEWorldPathfindingAdapter.m_Transform' hides inherited member `ICE.World.ICEWorldBehaviour.m_Transform'. Use the new keyword if hiding was intended

    Assets/ICE/ICEIntegration/Scripts/Components/ICEWorldPathfindingAdapter.cs(221,26): warning CS0114: `ICE.Integration.Adapter.ICEWorldPathfindingAdapter.Awake()' hides inherited member `ICE.World.ICEWorldBehaviour.Awake()'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword

    Assets/ICE/ICEIntegration/Scripts/Components/ICEWorldPathfindingAdapter.cs(236,26): warning CS0114: `ICE.Integration.Adapter.ICEWorldPathfindingAdapter.Start()' hides inherited member `ICE.World.ICEWorldBehaviour.Start()'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword

    Assets/ICE/ICEIntegration/Scripts/Components/ICEWorldPathfindingAdapter.cs(248,26): warning CS0114: `ICE.Integration.Adapter.ICEWorldPathfindingAdapter.OnEnable()' hides inherited member `ICE.World.ICEWorldBehaviour.OnEnable()'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword

    Assets/ICE/ICEIntegration/Scripts/Components/ICEWorldPathfindingAdapter.cs(276,15): warning CS0114: `ICE.Integration.Adapter.ICEWorldPathfindingAdapter.OnDisable()' hides inherited member `ICE.World.ICEWorldBehaviour.OnDisable()'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword

    Assets/ICE/ICEIntegration/Scripts/Components/ICEWorldPathfindingAdapter.cs(440,23): warning CS0114: `ICE.Integration.Adapter.ICEWorldPathfindingAdapter.Update()' hides inherited member `ICE.World.ICEWorldBehaviour.Update()'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword

    --

    Errors (2):
    Assets/ICE/ICEIntegration/Scripts/Components/ICEWorldPathfindingAdapter.cs(49,11): error CS0246: The type or namespace name `RVOController' could not be found. Are you missing an assembly reference?

    Assets/ICE/ICEIntegration/Scripts/Components/ICEWorldPathfindingAdapter.cs(50,13): error CS0246: The type or namespace name `RVOController' could not be found. Are you missing an assembly reference?

    --

    Does look like AStars's huge update did break compatibility with ICE's current integration scripts. I'll see about getting an older, compatible version.

    @TonanBora
    Do you recall what version number of A* you were using during the Ice Golem Live Stream?
     
    Dwight_Everhart likes this.
  34. TonanBora

    TonanBora

    Joined:
    Feb 4, 2013
    Posts:
    493
    Coincidentally, I was just talking to someone about ICE and A*. lol
    It was the last version before the Upgrade requirement, but off-hand, I don't know exactly which one that was.
     
    lod3 likes this.
  35. lod3

    lod3

    Joined:
    Mar 21, 2012
    Posts:
    676
    That still helps. Thank you!
     
  36. TonanBora

    TonanBora

    Joined:
    Feb 4, 2013
    Posts:
    493
    @icetec
    Noticed an issue while trying to use Root Motion, and Navmesh Agent pathfinding.
    When trying to use Root Motion with Unity's navmesh agent, the agent locks the creature from moving, and so the only way to get the creature to move is by using the forward motion speed, which results in ugly sliding.

    This basically means I cannot use both Root Motion, and Unity's navmesh. :-/
     
    jabevan and Ryuichi173 like this.
  37. lod3

    lod3

    Joined:
    Mar 21, 2012
    Posts:
    676
    Is NavMesh the only way to use Final IK? I was just about to dig into making a Final IK creature.
     
  38. altugs

    altugs

    Joined:
    Jan 14, 2017
    Posts:
    17
    Hi Pit,
    I'm trying that method for my own player also to avoid inflicting damage without attacking in UFPS (I was using animation keyframes for disabling/enabling colliders during attack animations for RFPS before). Adjusted in ICE Creature Player; assigned GameObject.EnableCollider to Fire1. That works but I need to disable it also. So I assign disableCollider to Fire1 also and tried to make it active after 1-2 seconds but I couldnt find any option to allow that. Any solutions?
     
  39. tcz8

    tcz8

    Joined:
    Aug 20, 2015
    Posts:
    504
    Hi everyone, I am trying to use this with my sprite based characthers. As I write this, the walking state in the animation controller is setup as a 2D Freeform Cartesian Blend tree and the walking sprite animation is changed depending on the X and Y direction of the movement (values are between -1 and 1). I use a 8 direction Nav and the values I need to set are as follow: Up=0,1 UpRight=1,1 Right=1,0 DownRight=1,-1 Down=0,-1 etc

    Is there any way to get this working in ICEcc? If ICEcc can't set those values, is there a way to set specific animation per movement direction? If impossible I dont mind changing the way my animation controller is setup.
     
  40. Ryuichi173

    Ryuichi173

    Joined:
    Apr 12, 2015
    Posts:
    141
    Hi,
    There are no limitation what pathfinding solution you choose.
     
    lod3 likes this.
  41. Deckard_89

    Deckard_89

    Joined:
    Feb 4, 2016
    Posts:
    316
    Yeah, that must be ICE then, because I have Behavior Designer agents walking around using root motion and Navmesh without issue.
     
    TonanBora and Dwight_Everhart like this.
  42. dsilverthorn

    dsilverthorn

    Joined:
    May 14, 2017
    Posts:
    839
    I am having a problem. I don't know what I did, but now the pointers (MovePosition, TargetMovePosition, DesiredTargetMovePosition) are showing up during runtime. They are even visible after build. I have turned off of the debugs on the CreatureRegister and Ice Creature Control, but they are still there.
    I have using deer to roam around in this example and seeing the red cylinder popping up it getting tiresome.
    It is doing this with all of my creature movements.

    Can anyone help and tell me how to turn this off?

    Here is what I'm seeing during play.
    Thanks, David
    move pointers showing up in Runtime.JPG
     
  43. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    I'm following the instructions so I can integrate RFPS with ICE, but when I run the Identify Supported Assets menu option I get the following error:

    Assets/ICE/ICEIntegration/Scripts/Core/Editor/Components/ICEWorldNetworkSpawnerEditor.cs(66,155): error CS1061: Type `ICE.Integration.Adapter.ICEWorldNetworkSpawner' does not contain a definition for `UseDeactivateSceneCreatures' and no extension method `UseDeactivateSceneCreatures' of type `ICE.Integration.Adapter.ICEWorldNetworkSpawner' could be found. Are you missing an assembly reference?
     
  44. lod3

    lod3

    Joined:
    Mar 21, 2012
    Posts:
    676
    This pops up for me when adding ICE_CC to script defines. I just commented out line 66 in ICEWorldNetworkSpawnerEditor.cs and it works fine:

    Code (csharp):
    1. #if ICE_CC
    2. //_adapter.UseDeactivateSceneCreatures = ICEEditorLayout.Toggle( "Deactivate Scene Creatures", "Deactivates existing scene creatures at awake", _adapter.UseDeactivateSceneCreatures, "" );
    3. #endif
     
    magique likes this.
  45. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    OK, I got past the ICEWorldNetworkSpawnerEditor issue, but now things are getting really weird. I'm following one of the tutorial videos:



    For some reason, after setting up the very basics of a creature and assigning my RFPS FPS Main as the player object, now the player just falls through the terrain when he spawns. I have no clue why this is happening suddenly. The terrain is set as WalkableSurface and the Player's Clip Mask includes Default and WalkableSurface. I tried disabling the ICE Player script, but the player still falls through the terrain. ICE must have made other alterations that are causing this. Any ideas?

    [EDIT]
    Found it. Apparently, the Physics collision matrix didn't have Player/WalkableSurface.
     
    Tethys likes this.
  46. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    Getting closer, but still having some issues. First, the creature Hunts the player and when in range it attacks him. However, after attacking, the creature just stands there in a static pose even though the IDLE animation is defined and set to looping. Second, the creature never attacks again unless the players backs out of range and then the creature moves up and attacks once more. Then goes back to static pose again. What could be wrong?
     
  47. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    I'm watching your golem video, and found it's very interesting that there was a pop up window of updating A* pathfinding.
    @lod3 And this window just showed your current version of the asset: 3.8.7
    From their download page you can find the latest 3.x A* path finding project to download which is 3.8.10
    I think this version may still work with ICE, I'm going to test it later today.
     
    lod3, TonanBora and Ryuichi173 like this.
  48. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    You have to set the attack's animation to loop if you use direct animation control. Or to use advanced animation control with unity's animation controller.
    I recommend the latter, for changing the attack animation to loop still will let it to play from last time's stopping frame and cause animation glitch from time to time.
     
    Ryuichi173 likes this.
  49. Ryuichi173

    Ryuichi173

    Joined:
    Apr 12, 2015
    Posts:
    141
    Hi,
    Oh, I've just forgot about they are able to download from homepage! Thank you for information.
     
    Last edited: Jul 17, 2017
  50. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    I haven't tested if the free version can be used with ICE, but I heard that the free version is also enough to basically find a path, if so, it should be enough.
     
    Ryuichi173 likes this.