Search Unity

  1. Click here to see what's on sale for the "Best of Super Sale" on the Asset Store
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

[50% OFF!] Emerald AI 2.4.1 - The Ultimate Universal AAA Quality AI Solution

Discussion in 'Assets and Asset Store' started by BHS, Jun 26, 2015.

  1. bran76765

    bran76765

    Joined:
    Jul 14, 2018
    Posts:
    19
    Hi all,

    Just wondering, approximately how many AI ingame are supposed to be used before emerald AI starts becoming a real bottleneck? Because I can only get up to ~500 AI before the AI themselves are taking about 10-15ms on the server and for any type of multiplayer game that's supposed to have dynamic AI, this seems pretty low. (500 seems high at first but if you're on an 8kx8k island and spread them over it, you barely encounter one every 10m if you're constantly moving. Also there is other stuff that needs computations as well-not just AI)

    Are there any plans to increase performance? I'm looking to have about 1k AI on my land (and it'll increase if the map gets bigger) but this doesn't seem feasible atm.
     
    dsilverthorn and ashishkushwaha like this.
  2. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,838
    If I could get 1/10th that I'd be happy.
     
    dsilverthorn and Deckard_89 like this.
  3. vorokoi

    vorokoi

    Joined:
    Oct 18, 2019
    Posts:
    39
    Not all Emerald AIs are equal. Everything from how optimized the models are, to what their settings are (how often they do X or Y, detection radius, etc, etc,.. there are way too many factors involved to say what the upper limit is. Do you need all 500-1000 to be constantly active or just the ones in view? Compared to other AI solutions, Emerald is pretty dang performant, so if it doesn't seem feasible, your current approach probably isn't ideal, regardless of how well Emerald performs.
     
    midian808 and dsilverthorn like this.
  4. SeymourGutz

    SeymourGutz

    Joined:
    Aug 9, 2019
    Posts:
    11
    I am seeing some odd melee behavior that I've been unable to resolve.

    1) During melee combat my AI vs AI critters often push / slide the opponent outside movement.
    2) During fleeing and chase, despite a faster pursuer they seem to have trouble closing distance as if there is an invisible barrier and attack animations become jittery.

    What I've already checked:
    Testing in the AI vs AI demo scene, so navmesh is set up correctly.
    Colliders and navmesh agent settings are close to dimensions of skins.
    Stopping and Too Close settings have been reduced to minimums.
    Even unrealistically high melee attack ranges make no difference.

    I can't figure out what else could be causing this. Any advice appreciated.
     
  5. dsilverthorn

    dsilverthorn

    Joined:
    May 14, 2017
    Posts:
    538
    Question on this, would Crux help in achieving this?
    I don't own Crux but it looks like a spawning solution. Any have experience with Crux for this type of situation.
    Do culling options help much? I may not have my settings correct, but I seem to get lag with only a few AI visible with the rest spread out across a 2k terrain.
     
  6. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    My focus with the 2.3.2 update is redoing the faction system, which is just about finished, and adding more animations. I will most likely add this with the next update as I'm trying to keep updates smaller, but released more frequently.
     
    dsilverthorn likes this.
  7. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    Yes, I'll add this to the 2.3.2 update.
     
    Deckard_89 likes this.
  8. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    Hey there! See the HUDHealthBar script for an example on displaying an AI's variables with an external system.
     
  9. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    Have you assigned an EmeraldAttackEvent to your AI's attack animations? Companion AI can attack other AI. You can test this out with the Companion Example scene. Also, ensure that your Unity Layers and Tags are setup correctly.
     
  10. SickaGamer

    SickaGamer

    Joined:
    Jan 15, 2018
    Posts:
    1,013
    Can you set up a way to reference an attack by id so we can use Playmaker kick it off?
     
  11. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    Hey there,

    Are all 500 AI active or are they utilizing Emerald AI's optimization system? With the network integration you've done, you would need to make sure that only AI that are not in the optimized state are being updated (unless where absolutely necessary). The optimized state can be detected as:
    Code (CSharp):
    1. OptimizedStateRef == EmeraldAI.EmeraldAISystem.OptimizedState.Inactive
    An AI can utilize the optimized system by enabling the option in the AI's Settings>Optimize tab and using a LOD Group component (if your AI has multiple levels of mesh) or Emerald AI's custom solution (when using a single mesh). When the AI becomes culled with the LOD Group Component or is no longer visible with a camera, it will be put into the optimized state.

    What networking system are you using?
     
  12. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    If possible, a video of the issue would help me better understand what's happening.

    You've said that you tried adjusting the AI's NavMesh settings, was with the NavMesh Agent component or within the AI's Settings>NavMesh Settings tab? These settings override what's assigned to the NavMesh Agent component directly. Both of your issues sound like your AI's Agent Radius is too large.
     
  13. Kojote

    Kojote

    Joined:
    May 6, 2017
    Posts:
    50
    Hi and first of all thanks for the answer to my last question.

    I also have a question regarding the Nav-Mesh. I have created my own Nev-Mash-Type and assigned the Agent Type to the Enemy. Also baked the navigation.

    But when I start the game I get 3 red error messages:

    "CalculatePolygonPath" can only be called on an active agent that has been placed on a NavMesh.

    "SetDestination" can only be called on an active agent that has been placed on a NevMash.

    "GetRemainingDiastance" can onley be called on an active agent that has been placed on a NevMash.

    If I use "Humanoid" I don't have this error. Furthermore the Enemys are placed on a NevMesh, with "Humanoid" it works fine.

    Where does this error come from?
     
  14. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    With version 2.3.2, I'm changing the way abilities are going to be picked. There will be 3 options; the first will be Odds where each ability is picked according to its odds, the second will be Order where each ability is picked in order within the ability list, and the third will be Random where each ability is picked randomly from the ability list. Each ability will also allow users to customize the animation that will be used. I can possibly add a manual option so users can trigger attacks manually, but it could lead to confusion. How do you plan on using PlayMaker to trigger an attack? Will these updated options be enough?

    (Work in Progress)
    UpdatedAbilities_WIP.png
     
    vorokoi likes this.
  15. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    Agent Types can have different bake settings. My guess is that whatever options you have with your Enemy Agent Type are not allowing the AI to properly detect Unity baked Nav Mesh. This typically happens when the Navigation settings are set too high or low. You also need to ensure your AI is placed on Unity's NavMesh.
     
  16. MoonGuy

    MoonGuy

    Joined:
    Mar 2, 2019
    Posts:
    1
    Hello,

    I have a question! Is it possible to decrease the "Attack distance" even lower than the minimum value "2"? Because even tho I set it to minimum attack distance, the enemy still attacks from a bit far range... I want the enemy to be very close to the player when he attacks him.. (melee)
     
  17. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    Hey everyone,

    (Updated) Quick status update with version 2.4. (This was originally 2.3.2, but because it changes the way some editor functionality is handled, it will be easier to make it a different version than 2.3 for users who may or may not want to upgrade).

    This update will require Animator Controllers to be regenerated as well as re-setting up an AI's melee attacks and abilities lists (not abilities objects). This update is also essential for added functionality and improvements with future updates. If possible, some feedback on this would be appreciated.

    Additional Animations
    Users have been requesting additional animations for awhile now. With the 2.4 update, animations have been increased to the following. This brings the total up to about 100 usable animations. Strafing animations and functionality are planned with the 2.4.1 update.
    • 6 Melee Hit Animations, up from 3
    • 6 Melee Attack Animations, up from 3
    • 6 Melee Death Animations, up from 3
    • 6 Ranged Hit Animations, up from 3
    • 6 Ranged Attack Animations, up from 3
    • 6 Ranged Death Animations, up from 3
    • 6 Hit (non-combat) Animations, up from 3
    • 6 Idle Animations, up from 3
    • 10 Emote Animations, up from 3

    New Faction System
    The faction system has been improved to support as many faction relations as needed so users are no longer capped at 5. This new method also allows factions to be added, removed, and modified during runtime. New faction API has been added to the EmeraldAIEventsManager.

    Code (CSharp):
    1. //Adds the faction Animal and sets the relation to Friendly
    2. EmeraldComponent.EmeraldEventsManagerComponent.AddFactionRelation("Animal", "Friendly");
    3.  
    4. //Modifies the faction Guards and sets the relation to Enemy
    5. EmeraldComponent.EmeraldEventsManagerComponent.SetFactionLevel("Guards", "Enemy");
    NewFactionsSystem.png


    New Melee Attacks List
    The way melee attacks are handled have been redone with a list so users can customize the animation used, the damage amounts, and the order in with the attacks are picked. The Pick Type has three options; the first is Odds where each attack is picked according to its odds, the second is Order where each attack is picked in order within the melee attacks list, and the third is Random where each attack is picked randomly from the melee attack list. There are not caps to the amount of melee attacks that can be used so AI can have multiple attacks that use the same animation, but do different damage or effects. The index of the currently used melee attack index can be found using the following code for custom functionality.

    Code (CSharp):
    1. EmeraldComponent.MeleeAttacksListIndex
    NewMeleeAttacks.png

    New Ranged Attacks List

    The ranged attacks have also been redone for Offensive, Support, and Summoning abilities. There are 3 options pick type options; the first is Odds where each ability is picked according to its odds, the second is Order where each ability is picked in order within the ability list, and the third is Random where each ability is picked randomly from the ability list. Each ability will also allow users to customize the animation that will be used.
    NewAbilities.png
     
    Last edited: Jan 26, 2020
  18. dsilverthorn

    dsilverthorn

    Joined:
    May 14, 2017
    Posts:
    538
    Is there an easy way to set up just a wild animal that is only for scenery?
    Like a deer in the woods, no one attacks it and it attacks no one, just wanders about.
    Having to add all of the animations for nothing seems a lot of work for nothing.
    For instance, I want a stationary owl in a tree. Looks like I have to enter in several screens of settings that will never get used, because the owl won't move from that spot- just look around.
    Or a dog that runs down the street, but not getting into fights.
    My game is not violent, just an exploration game and I would like to have the animals be there to roam about as a part of the scenery.
    What is an easy way to set this up?
     
    SamRock likes this.
  19. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    831
    "deer in the woods" Yes, Dynamic wandering/Passive behavior.
    "owl in a tree" Yes, Stationary/Passive behavior.
    "dog that runs down the street, but not getting into fights" Again yes, Detection/Tags.

    Are you actually reading the Documentation, or looking at the Tool Tips?. Emerald AI is well documented, there is no "easy button".
     
  20. unicat

    unicat

    Joined:
    Apr 8, 2012
    Posts:
    416
    Ok, here a little video:



    It looks like something is blocking my projectiles, have set it to arrow projectiles for better visibility. Those are the projectiles from your demo scenes with no colliders or something.
    I am using RFPS with Emerald AI.

    Screenshot 26-01-2020 09.14.06.png Screenshot 26-01-2020 09.15.28.png
     
    Last edited: Jan 26, 2020
  21. dsilverthorn

    dsilverthorn

    Joined:
    May 14, 2017
    Posts:
    538
    According to the documentation, even if it is passive I still have to enter in all of the fight animations, even though they won't be used. Or I get errors.

    That is what I am asking, is there a way to set up a simple solution without having to enter in 2 pages of animations for something that will not be used?
    Not whether Emerald can do this, but do I have to put in fighting animations for creatures that will not be fighting. Such as wander people in a village?
     
    SickaGamer and magique like this.
  22. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    831
    @dsilverthorn
    I feel for ya, the errors are there to warn you of un assigned animations, they wont stop the game from running. You have 2 choices:

    #1 Add in all the animations, as EAI sometimes wont work right if they are not all assigned.
    #2 Do this workaround: Open the script EmeraldAIInitializer.cs and comment out these 2 lines: CheckAnimationEvents(); and CheckForMissingAnimations(); that will stop the errors from appearing, Then you wont have to add all the animations in, dont know if there will be any probs from not adding them all in, try it and see :)
     
    dsilverthorn likes this.
  23. dsilverthorn

    dsilverthorn

    Joined:
    May 14, 2017
    Posts:
    538
    Cool. I'll give it a try.
    If it works it will save ton of time. :)
     
    warthos3399 likes this.
  24. AdminArdagor

    AdminArdagor

    Joined:
    Feb 6, 2018
    Posts:
    42
    Great update !! We will wait integration strafing system in Emerald 2.4.1!
     
  25. Deckard_89

    Deckard_89

    Joined:
    Feb 4, 2016
    Posts:
    284
    I wonder if there would be someway to include in the future, an ability for the AI to detect the angle that which an enemy target is and play a "turn attack" or "back attack"animation, so they can attack if they are not currently facing the player/target. Currently I can run in circles around an enemy forever, as they keep having to turn to face me lol.
     
  26. Neviah

    Neviah

    Joined:
    Dec 1, 2016
    Posts:
    235
     

    Attached Files:

    Deckard_89 likes this.
  27. Deckard_89

    Deckard_89

    Joined:
    Feb 4, 2016
    Posts:
    284
    Thanks - I meant for melee attacks though. Sorry, I should have mentioned that.
     
    Neviah likes this.
  28. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    The only time I have seen this is when there's a trigger collider in the area. I would recommend adding a Debug.Log(C.gameObject.name); within the void OnTriggerEnter(Collider C) portion of the EmeraldAIProjectile script to see what the projectile is colliding with.
     
  29. unicat

    unicat

    Joined:
    Apr 8, 2012
    Posts:
    416
    Great, thank you for the tip. The projectiles are colliding with my Lux Water ocean planes. If i disable it everything works fine. Thank you so much, this has made me cracy. :)
     
  30. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    That's a typical exploit found in games. I can certainly looking into adding some type of turn attack animation. For now, you can increase your AI's combat rotation speed and increase its damage angle to better its chances of triggering an attack while rotating.
     
    Deckard_89 likes this.
  31. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    You're welcome, great to hear you got it all figured out. :)
     
  32. Kojote

    Kojote

    Joined:
    May 6, 2017
    Posts:
    50
    Howdy!

    I have an error message that I cannot assign, can you help me here?

    Coroutine 'OnBecameInvisible' couldn't be started because the game object 'actor:Rabbit' is being deactivated!

    Strangely enough, the Rabbit object is active and works. The error message only appears when I quit the game mode.

    Another problem:

    The AI, may harm me, but I cannot damage the AI.

    I use the Emerald 3rd Person Combat Player for testing. It has the Tag Player and the Layer Animal.

    I'm using the Fallen Guardian as an opponent. He has the Tag Enemy and the Layer Animal.
    I suspect it is a problem with the tags or layers. I have the following settings:

    Detection & Tags => Tag Options

    Emerald Unity Tag: Enemy
    Detection Layers: Animal
    Follower Tag: Player
    Player Tag: Player
    AI Attacks Player: Always.
    Use Non-AI Tag: No

    If I attack the Guardian like this, no harm will come to him. If I set the Tag Options under Player Weapon 3rd Person diue Tag Options to Enemy and start the game, my tag is overwritten with Respawn. If I change the tag from Respawn to Enemy at runtime, I can do damage to the opponent.

    What is the problem?

    Greetings Kojote
     
    Last edited: Jan 28, 2020
  33. keepthachange

    keepthachange

    Joined:
    Oct 15, 2014
    Posts:
    90
    Hi I have top down engine.
    I am trying to figure out how to damage emerald ai.
    I can get emerald ai to damage player.
    Just ai to damage player?
    I would like to use melee and ranged.
    Any help would be grand.
     
  34. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    For the OnBecameInvisible issue, ensure that the correct mesh is assigned to the AI Renderer. This is located within the AI's Settings>Optimize tab.

    The Player Weapon 3rd Person script is no longer used so this could be why you're having issues. This was updated with the 2.3.1 version. Remove the Player Weapon 3rd Person script and use the DamageAISystem script instead.
     
    Kojote likes this.
  35. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    You would need to add your own player damage function within the EmeraldAIPlayerDamage script. If you open this script, you will see several examples with other 3rd Party damage calls. You would just need to do the same with damaging the top down engine player.
     
    keepthachange likes this.
  36. keepthachange

    keepthachange

    Joined:
    Oct 15, 2014
    Posts:
    90
    I can damage player I need to damage emerald ai.
     
  37. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    Where the TopDown Engine's damage system references which target is hit, you would use:

    Code (CSharp):
    1. Damage (int DamageAmount, TargetType AttackersTargetType, Transform YourTargetsTransform, int RagdollForce)
    So, something like this:
    Code (CSharp):
    1. if (YourTargetReference.GetComponent<EmeraldAI.EmeraldAISystem>() != null)
    2. {
    3.    YourTargetReference.GetComponent<EmeraldAI.EmeraldAISystem>().Damage(YourDamageAmount, EmeraldAI.EmeraldAISystem.TargetType.Player, YourPlayerTransform, 400);
    4. }
     
    combatsheep likes this.
  38. keepthachange

    keepthachange

    Joined:
    Oct 15, 2014
    Posts:
    90
    thankyou, that clears it a little more. what exactly does your player transform, 400 mean?
     
  39. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    The 400 value is the amount of force applied to AI on death, when ragdolls are enabled.
     
    combatsheep likes this.
  40. Kojote

    Kojote

    Joined:
    May 6, 2017
    Posts:
    50
    The navigation problem I could solve. I still needed the NavMesh component "NavMeshSurface".

    "OnBecameInvisible" has also no longer appeared with the update.

    But now I have two new problems.

    1. I would like to use the Global Display of the Enemy, top center. "EmeraldAICharacterControllerTopDown" uses this and gets the "HUDObject" in the startup, also there are some update methods for the display. But I don't use this controller. Is there another way to use the display?

    2. I have now used the script "Damage AI System" as suggested by you. I use the 3rd Person Type. I have mounted the Player Object. Problem is, the ray that gets shot down hits the Enemy. But the damage is not registered. From about 10 attacks, only 1 attack on the Enemy is counted. At first I thought it was because of the Attack Distance, but even here there is no improvement. What is the problem?

    EDIT:

    I've now moved on to find the cause of the problem and brought my pet into one of your scenes (Companion Example). The capsule had the same problem, no damage was registered. But here I could guess the error immediately (picture 1). The Ray shot over the Collider of the Crocodile (Red Line). I made the Collider higher and the Crocodile could be hit by the capsule. Now I copied all settings and put it into my scene. Visible is that the ray of the lion hits the box of the crocodile. But a damage is still not registered.

    Player Tag: Player
    Player Layer: Animal

    Enemy Tag: Enemey:
    Enemy Layer: Animal

    Detection & Tags > Tag Layer > Tag Options

    Emerald Unity Tag: Enemey
    Detection Layers: Animal
    Player Tag: Player
    Use Non-AI Tag: No
     
    Last edited: Jan 31, 2020
  41. SeymourGutz

    SeymourGutz

    Joined:
    Aug 9, 2019
    Posts:
    11
    If there's already a troubleshooting guide that covers these problems please point me to it.

    - NPCs with long idle animations sometimes remain in that animation while Emerald is moving them. I have tried setting the wait times to match the animation length, but that didn't really help. Walk/Run animations overriding Idle should be the default behavior, right?

    - Dynamic wandering NPCs sometimes get stuck on nothing and dance in place. On a flat terrain with no obstacles nearby. Any guesses as to cause?

    - Other than above, my melee critters are working pretty well, wandering, attacking and damaging each other etc. However I'm having no success with ranged. I've created projectiles and summoning abilities with corresponding animations, and tried using the demo Rock Blast too, but the only thing that happens is my NPC either disappears/reappears or half buries itself in the ground when within shooting range, depending on which model asset I'm using. Setup seems simple, so not sure what I'm doing wrong.
     
  42. adifrank

    adifrank

    Joined:
    Dec 11, 2017
    Posts:
    6
    Hi is there any option to spawn ai and despawn them.i.e. Spawn 3 enemy in a room and then despawn when killed and respawn them with pooling?
     
    dsilverthorn likes this.
  43. unity_Go3u1hR8zbkCuw

    unity_Go3u1hR8zbkCuw

    Joined:
    Nov 26, 2019
    Posts:
    3
    how to increase the time delay between the attacks of AI created?
     
  44. Raul_MadGoat

    Raul_MadGoat

    Joined:
    Jan 10, 2015
    Posts:
    332
    Hello. Any ETA for 2.4? Asking because we are currently putting the final touches on integrating Emerald 2.3 with our game but 2.4 seems to require some reconfiguring and brings a lot of features that we've wanted for a long time (more than 5 factions, more idle animations - we've been using emerald for rather complex animal behaviours with various idle activities)

    Would be great for us to know if there is any aproximate release time so we can decide if we should focus on other tasks until 2.4 comes or to stick working with Emerald 2.3 integration, since our game release is close, our time is limited, and we don't want to do the same thing twice when 2.4 comes out.

    On a side note, Emerald 2.3 is great for us and our use case, and a real time saver. We only have a few issues with it

    1) One I've seen other people have also commented on: is it possible to lower the attack distance minimum value? 1.5 might be ok for npc with melee weapons in hands or big creatures, but for example, we use Emerald for animals with attack distance all way down to 1.5, and our bears and wolves are biting the air 1 meter ahead of the player which really breaks the immersion for us. I've tried to manually override the setting to 0.5 distance in our AI Spawner script when animals are spawning but it seems to also have no effect? They still start attacking at the same distance as when its set to 1.5.

    Example: https://drive.google.com/open?id=1bOyHR0dozivMnHIx1Cj45phHFqsvgh_d

    2) Our game is open world and we only have navmeshes baked around our animals spawners (500x500 navmesh regions) to avoid issues with performance and with animals getting in regions where they should not be. Problem is that if our player leaves the navmesh that the animal is on, the animal keeps attacking the air at the edge of navmesh rather than giving up. Is there a way for the animal to give up if the player can't be reached through the navmesh?

    Example: https://drive.google.com/open?id=12UoT9ZQ0kHw3Mofe499kdciIePrrJATu

    3) Not sure if a bug or we did something wrong with the setup, but sometimes the AI will start running and play the alerted animation when detecting the player, with a cautious brave behaviour. What I'm not sure is why it's starting to run instead of just getting alerted and playing the alert animation. Seems like it will eventually come back from running to attack when its cautious time is over.

    Example: https://drive.google.com/open?id=1lKLXBRBSayOJXMF_sWrnLCiKH8j6HtFi

    P.S. We are using the latest version of Emerald.
     
    dsilverthorn and SickaGamer like this.
  45. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    The capsule as in the included player example? This is just an example that fires a raycast from the top of the player. I can add in a setting to adjust the height if AI are being missed with the raycast. AI should receive damage if the raycast hits the AI so check to see if an object is obstructing the raycast by adding Debug.Log(hit.collider.name); within the Physics.Raycast if statement.
     
  46. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    1) I just tested an AI with long idle animations and the idle animations cancelled when the AI started to move. Does this happen until the AI reaches its next destination or just for a few seconds? Also, are you using the newest version of Emerald AI? A video, if possible, would help me better understand what's happening.

    2) A video of this would also help me better understand what's happening. Is there plenty of Navmesh around the AI that are having issues generating dynamic waypoints?

    3) This is because you are missing animations. Anytime an AI falls into the ground, you are missing a needed animation somewhere. You also need to setup an Attack Animation Event on your attack animations. I've redone Emerald AI's documentation with a Wiki site that has tons of information and a detailed guide for setting up. I will make a post of this here soon.
     
  47. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    Emerald AI is an AI system not a spawning system. There are plenty of free spawners out there. Just google "GitHub spawn system unity".

    Emerald AI automatically handles AI that have been killed and deactivated by resetting the AI to its default settings after being re-enabled. You can use Emerald AI's pool to spawn objects using:
    Code (CSharp):
    1. EmeraldAIObjectPool.Spawn(ObjectToSpawn, PositionToSpawn, RotationToSpawn);
     
  48. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    The min and max attack speed settings control how quickly an AI attacks. These can be found under AI's Settings>Combat>Damage Settings.
     
  49. SickaGamer

    SickaGamer

    Joined:
    Jan 15, 2018
    Posts:
    1,013
    When is the next update due out?
     
  50. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,317
    Hey there.

    I don't have a solid ETA for version 2.4, but it should be submitted no later than the end of February.

    1) I will be addressing the attack distance cap with version 2.4 and lowering it to 0.1. You can fix this manually by opening the EmeraldAIEditor script and adjusting the line below. 1.5f is the minimum allowed attack distance.
    Code (CSharp):
    1. CustomEditorProperties.CustomFloatSlider(new Rect(), new GUIContent(), AttackDistanceProp, "Attack Distance", 1.5f, 200);
    2) I've always assumed AI wouldn't travel to the end of a level's NavMesh so there's no code in place to handle this, but I will ensure this is fixed with version 2.4. If you need a fix before the release of 2.4, just let me know.

    3) This looks like your AI's Turn Speed is not high enough. Try a value of 2000 to see if it resolves the problem. This setting can be found under AI's Settings>Movement>Turn Settings.
     
unityunity