Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

[RELEASED] Emerald AI 2.3 - The Ultimate Universal AAA Quality AI Solution

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

  1. paulojsam

    paulojsam

    Joined:
    Jul 2, 2012
    Posts:
    475
    in january then
     
  2. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    I fought this.... issue lots. A kinematic rigidbody doesnt.... receive for and do calculations like gravity rigidbodys do. And when a kinematic rigid body collider overlaps another kinematic rigidbody, the system gets screwy and diesnt know how to handle the collision, and typically pops the moving one up on top of the other. Annoying AF. Since the character component is also kinematic rigidbody. You can dig into code and play with the overlap issue itself, or use a different move system. I switched mine to a gravity character controller. Problem solved.
     
  3. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    Next patch has to be coming soon no? I know its hard to judge. But im dying here lol
     
    erichey likes this.
  4. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    863
    So anyone know how to get very rapid fire ? Speeding up animation etc doesnt really do it, they seem to shoot once every half second or so, which doesnt really cut it for a machine gun.
     
  5. BryanO

    BryanO

    Joined:
    Jan 8, 2014
    Posts:
    171
    thanks that answer was the opposite of trolling - detailed - helpful - focused - nonabrasive - on topic - technical - kind
     
  6. SickaGamer

    SickaGamer

    Joined:
    Jan 15, 2018
    Posts:
    784
    @BHS Just wondering on a ETA for the Emerald and Crux updates. Thanks!
     
    erichey and wood333 like this.
  7. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    Using playmaker. I typically dont use the prefabs for player weapon or playerweapon 3rd person. Ive built my own damage method, it works. But curiosity, im using 2 cameras, and no mouse. Is there a simple way to make the player weapon prefab scripts work?
     
  8. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    For 2 3 and 4. They arent really an emerald ai....thing. Your best bet for support would be on the scripting and trouble shooting forums.
     
  9. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    Im not familiar with the pro military pack. If the weapons use bullets instead of raycast, i believe emerald ai has a projectile prefab no? For raycast im not sure. Id imagine the player weapon prefab of emerald ai, put on the gun your using? Then adjust range and attack speed.
     
  10. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    If using emerald ai. I would use the emerald player health system prefab over the military health system. But if not. Then when a emerald ai agent attacks a player, you would need to use the damage call of the military health system, which i have no idea what it is. But that would be the method
     
  11. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    He would be the best response for sure.
     
  12. gearedgeek

    gearedgeek

    Joined:
    Jun 19, 2015
    Posts:
    125
    I'm wondering the same thing.
     
  13. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    If your using playmaker its pretty easy, just set a collider on the head bone. Make sure it doesnt conflict with the main collider. When you shoot or hit, or whatever on the main collider, it calls damage to the health system of emerald. So you place a trigger event on the head bone with the small collider, when that trigger is hit, it can take the damage, multiply it, then send that number to the main collider and health system. Ive successfully intergrated various damage based upon hit location, by doing that. Example. I have x2 damage on chest, X5 on head, x1 on upper limbs. And x.5 on lowwer limbs
     
  14. gearedgeek

    gearedgeek

    Joined:
    Jun 19, 2015
    Posts:
    125
    I was thinking about using Playmaker. Do you think you could send me some screenshots of your setup?
     
  15. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    Yup, gimmie a couple hours to get back on it, but ill send a few screens . Ps. Playmaker is the bomb if you dont know how to script. And by using playmaker i have a much greater understanding of the scripts and can now make simple scripts and modify scripts. With 0 experience lol
     
  16. gearedgeek

    gearedgeek

    Joined:
    Jun 19, 2015
    Posts:
    125
    Okay cool, just message me. Yea, I agree I have been using Playmaker for some time now and it's awesome but can be a little confusing at times. lol
     
  17. aphixe

    aphixe

    Joined:
    Sep 5, 2012
    Posts:
    7
    Weird problem with invertor and emerald installed. I followed the guide, at first it didn't work but i remember watching a video where someone says to put player on same layer as enemy. hit play and finally ai worked as it should, however odd thing is, and this is problem i had before integration(still happening). even the sample demos stopped working correctly, once I install invector, also some reason invector gets rid of jump input so i put it back(otherwise error and won't run), so what i mean doesn't work is i can run up to an enemy and he just looks at me and sometimes wanders around. I thought maybe its an input issue, so I add in inputs i notice missing from when i import invector, but it doesn't solve issue. So in one hand I got it working, but have to do some bizzare things to make it work. unity 2018.2.19f. not sure if unity 2018.3 will break so i didn't upgrade yet.
     
    hassonhamo3 likes this.
  18. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    Did invector change the layers or tags of the ai or player when installed? I would imagine invector itself shouldnt effect if an emerald ai sees and chases the player. 2 seperate systems..... like you can tag a basic block and the emerald ai will attack it
     
  19. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    222
    I'd like to see those screenshots as well for learning purposes

    Thanks
     
  20. hassonhamo3

    hassonhamo3

    Joined:
    May 25, 2018
    Posts:
    38
    how can we use breeding system ? i can't find any documentation about it anywhere :)
     
  21. SickaGamer

    SickaGamer

    Joined:
    Jan 15, 2018
    Posts:
    784
    There is none yet.
     
  22. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,001
    Yes, there will be tons of included API that you can use with Animation Events. The new video I will be posting shortly will showcase what's possible with version 2.2.

    The warning sounds should be working with the current version. If they're not, maybe they're being cut off by another sound.


    The documentation will be updated with version 2.2 by the time it is released.


    After version 2.2 is release, I can look into supporting that asset. Look through Emerald AI's other integration tutorials to give you an idea of how integration is handled. Where the asset can detect a collision with its bullet, you would get the reference, check for Emerald AI, and call Emerald AI's damage function:

    Code (CSharp):
    1. if(hit.collider.gameObject.GetComponent<Emerald_AI>() != null){
    2.                 hit.collider.gameObject.GetComponent<Emerald_AI>().Damage((int)damageAmt, Emerald_AI.TargetType.Player);          
    3.             }
    If you want AI to damage your player, find the DamagePlayer function within the Emerald_AI script and add custom code to call the asset's health script or damage function.


    I'm trying :) This update ended up being a lot more work than I was originally expecting. The Root Motion support and reorganizing the code required me to rewrite a lot of the system. I will be discussing version 2.2 in my status update I will be posting soon.


    It sounds like it could be a layer or tag issue. The player shouldn't be on the same layer as the AI. It could also be an issue with the AI's raycast missing the player. Try testing out the Trigger Detection Type located under Detection Options.

    Are you following the tutorial here: https://docs.google.com/document/d/...uHce2BVLM3QTq5axg/edit#heading=h.29qyg517h920


    Breeding will come with version 2.3. :)
     
  23. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,001
    Hey everyone!

    I do apologize for the 2.2 update taking longer than expecting. I know many of you are eager to try it out. Below, I have posted most of the release notes for version 2.2, however, more notes may be added later. Everything below is only the worth mentioning changes. There are other improvements not mentioned below.

    As for a release date for version 2.2, figure another 3-4 weeks, if everything goes according to plan. I don't like giving release dates because it is very difficult to estimate. There are always unforeseen factors and delays, but I want to be transparent with my development progress with version 2.2.

    Below, is a video showcasing what's possible with version 2.2. Everything you see in this video was achievable with Emerald AI and no additional coding. Actions and effects were created with Animation Events and using Emerald AI's API as well as its built-in Unity Events. The only coding that was added was to RFPS using the provided integration tutorial. The new head look, ragdoll, Animation Events, and Root Motion features really help bring AI to life. Ranged combat calculations have been improved so AI can now fire from high up destinations such as on buildings, walls, or cliffs. This improvement also ensures AI or players are never missed from an AI's raycast so they are always reliably detected.



    System Features
    • Added the ability to use Ragdoll physics on death. This allows an AI to seamlessly transition to a ragdoll from its current animation on death. To setup a ragdoll, simply use Unity's ragdoll tool. Emerald AI will automatically detect the components and enable or disable them when needed.
    • Added the ability for AI to look at their targets and players with their head and body. Various settings are available for both combat and non-combat within the Emerald Editor under the new tab Detection & Tags>Head Look Options.
    • Added the ability for AI to block incoming attacks. This is optional and can be controlled within the Emerald Editor.
    • Added the ability to mitigate damage when blocking. This can be set within the Emerald AI editor.
    • Added the ability for "Aggro". This allows AI, or players, to have the AI change the target after a certain amount of adjustable hits. However, this feature is optional and can be disabled if desired.
    • Added a new system to the Dynamic Wander Type that automatically puts a generated destination on the NavMesh. If for some reason a waypoint is put in a place that is unreachable, Emerald will generate a new waypoint for the AI.
    • Added support for detecting unreachable destinations. This is mainly an issue with when using the Destination and Waypoint Wander Types. When a destination is unreachable, Emerald AI will debug log the error stating which AI has the unreachable destination. This is to eliminate a lot of confusion for users who wonder why their AI don't travel to their set destinations and allow them to easy correct the destination.
    • Added the ability to control the angle steepness that waypoints are generated
    • Added the ability to control the minimum distance an AI can generate a waypoint when using the Dynamic Wander Type. This is to fix the issue with AI generating a waypoint that is too close to move to making the AI stay stationary or only walking a step or two. This of course has performance limitations, the larger the minimum distance, the more waypoints need to be generated and checked.
    • Added Random option to the Waypoint Wander Type. This allows an AI to randomly pick user set waypoints and travel between them. The AI will stop and idle for each waypoint and wait according to its user set Wait Times. If a wait time setting of 0 is used, the AI will continuously move between the waypoints without stopping.
    • Added the ability for the Emerald AI editor to draw all possible positions between waypoints, when using the Random waypoint option.
    • Added Weapon Impact Sounds so each AI's impact sound can be unique to their weapon. Each AI also has an injured sound that can play when receiving damage.
    • Added an extra Audio Source that automatically detects when it's needed so sounds will no longer cutout or get skipped.
    • Added block sounds for an AI to play when they block an incoming attack.
    • Added ability to enable and disable an AI's weapon object.
    • Added ability to enable or disable items from an AI's item list using the AI's Item ID. This adds tons of added customization and functionality to AI to enable quest items, torches, farming items, tools, etc. These can usable with Animation Events or programmatically.
    • Added the ability to control the AI's alignment speed. The setting is available for both combat and non-combat.
    • Added the ability to apply an AI's weapon model that can be enabled and disabled with Animation Evens or programmatically.
    • Added two tabs for the sound options, one for General Sounds and one for Combat Sounds.
    • Redid the way animation clip applying was done for attack, run attack, idle, hit, hit combat, emote, and death animations. These now use reorderable lists. This reduces the code and makes the editor a lot cleaner.
    • Added an option to projectiles for arrow objects. This allows them to be despawned on collisions with their target, but stay active for a customizable amount of seconds when colliding with non-AI objects such as building and the ground.
    Animation Features
    • Root Motion support - AI can now walk, run, and turn all using root motion animations. This allows for more smooth and seamless animation blending that greatly improves the overall quality of an AI’s movement.
    • Redid the Animator Controller to be more organized and split up into categorized states.
    • Animator Controllers now use blend trees for precise and smooth AI animations.
    • Added support for pulling out and putting away an AI's weapon. The AI will play this when going into or out of combat mode.
    • Added support for separate idle, walking, running, and turning animations for combat and non-combat states.
    • Added support for blocking idle and blocking impact animations.
    • Added the ability to use up to 3 Attack animations.
    • Added the ability to use up to 3 Run Attack animations.
    • Added the ability to use up to 3 Idle animations.
    • Added the ability to use up to 3 Hit animations.
    • Added the ability to use up to 3 Combat Hit animations.
    • Added the ability to use up to 3 Emote animations.
    • Added the ability to use up to 3 Death animations.
    • Added the ability to mirror an AI's waking left, walk right, combat waking left, combat walk right, run left, run right, combat run left, combat run right, turn left, turn right, combat turn left, and combat turn right, animation from within the Emerald Editor.
    • Added a separate animation state for backing up. This animation can be customized and even reversed from within the Emerald Editor.
    • Note: The animation lists that allowed an unlimited amount of animations are not possible due to a limitation with Unity. This resulted in animations being stopped, clipped, and not be dependent on each AI. The solution above still allows plenty of animations without any of the aforementioned issues.
    Events and API
    • Added a Unity Event for OnFlee.
    • Added a Unity Event for OnStartCombat.
    • Added a Unity Event for OnAttack.
    • Added API for instantly killing an AI using KillAI()
    • Added API to play audio clip by sound ID. This is based off of a list within each AI under the Sound Settings.
    • Added API to equip or unequip the AI's weapon using an Animation Event.
    • Added API to enable or disable a AI gameobject by ID. This is based off of a list within each AI under the Object Options.
    • Added API for playing any sound clip PlaySoundClip(AudioClip Clip)
    • Added API for playing attack sound usable with Animation Events.
    • Added API to play Emote animation once PlayEmoteAnimation(int EmoteAnimationID)
    • Added API to play looping Emote animation LoopEmoteAnimation(int EmoteAnimationID)
    • Added API to stop looping Emote animation StopLoopEmoteAnimation()
    • Added API to spawn a blood decal (for users who have decal systems) . This uses Emerald's built-in object pooling and will need to have a script to despawn. SpawnBloodDacal (GameObject BloodDacal)
    Code Improvement
    • Reduced the overall code length for the main Emerald AI system by ~50%.
    • Separated Emerald AI's system into multiple scripts so Initialization, Target Detection, Generate Animator Controller, and API/Events each have their own scripts. This is to make it easier to manage the system as well as providing organized code structure. Users will also find it easier when creating custom scripts or modifying Emerald's scripts.
    • Rewrote the way player damage is handled. Player damage is now sent to an external script called EmeraldAIPlayerDamage. Within this script, users can customize how their player is damaged by calling custom scripts and functions. This is to make it easier to customize without having to dig through Emerald AI's main system. It also gives the ability to not update said script during future updates which would result in users having to add the custom code again.
    • Rewrote several algorithms to be shorter in length and more efficient.
    Fixes
    • Fixed limitation with Emerald AI having to be kept in the Assets folder. The Emerald AI parent folder can now be moved freely without issues.
    • Fixed waypoint generation from generating points that an AI could not reach
    • Fixed wandering from generating waypoints before an AI has reached its destination
    • Fixed wandering from generating waypoints too close to the AI's current position
    • Fixed an issue that would sometimes allow an AI to try and reach a previously generated wander waypoint during combat or upon reaching a destination point.
    • Fixed an issue that resulted in death, hit, and emote animations to be cut or clipped while an AI was playing them.
    • Fixed an issue that would allow a hit animation to play delayed after an attack animation, if an AI was hit while in an attack animation.
    • Improved the direction and placement of an AI's Obstruction Detection raycast so that it won't sometimes miss targets.
    • Greatly improved an AI's raycast calculation for firing projectiles. The raycast will now calculate a target's height so it won't be missed. The AI's head transform is also used for added accuracy. This also allows AI to fire from high places, such as keeps, towers, buildings, etc. and still be able to fire at its target.
    Removed Features
    • Removed Case Time (the delay that happens before an AI chases their target) as it was often an undesired feature.
    • Removed Dynamic Movement (where AI would randomly switch positions during combat)
    • Removed Death Delay (the delay that happens after an AI's target dies and they resume to their next state and animation). The redone Animator Controller allows AI to naturally return to their next state and animation so a delay isn't needed.
     
    Last edited: Feb 19, 2019
  24. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    I'm out of town atm. But when I get back I'll get the the images together to post on here. It shows how easy playmaker can grant integrations and control with pretty much all assets. For emerald ai. It becomes easy to add in headshots for example. But it goes well beyond that. It just adds that little customization to such things like emerald ai. For targeting. Movement. Damage ect ect. BHS does a wonderful job with emerald ai. But would be near impossible to custom emerald ai to suit everyone's needs perfectly. So the more everyone can do. The better off everyone is.
     
  25. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    2.png 5.png
    2.png

    stuff a collider on a bone. or on what ever you want to hit. for more accuracy, set all the bones you are hitting on a different tag, than the emerald AI agent.

    I made a super simper FPS Mouse button down, shoot ray cast FSM, which sends an event to the target hit. named the event "hit"

    then on the places that can be hit, I have a receiver for the hit event. which gets its root owner, then gets the component of the root owner, the component emerald ai. that's the sneaky part. took me a while to figure out those even exist. go to your variables, create an object variable, after you make it, click on its object, and set it to what ever you want, in this case, emerald ai. once you call that component, you can call behaviors on it, such as damage. 6.png 5.png 6.png 4.png 2.png 5.png 6.png 4.png

    think I screwed up adding these images, sorry for any doubles lol. but this is a simple way to do it, there are many different ways. in my project. I don't call damage on the specific location, but instead, gather a int variable, and use that variable as a multiplier against my player damage, then send that damage to the root emerald ai health. this method can get as complicated as you need it to be. but hopefully that answers a few questions out there.
     
  26. RonnyDance

    RonnyDance

    Joined:
    Aug 17, 2015
    Posts:
    557
    First of all awesome changelog! So many changes. I can see lot of stuff you promised in the changelogs. The video is funny as hell. Looks like 300 or Matrix when the AI hits the other AI and the Ragdoll animations starts. Keep this great work up!

    Some thoughts about some points in the changelog:
    How are you handling aggro? Is there a Threat System which you could reset? Is it like in many MMOs when creatures have a Threat System holding the threat / dmg of all damage received by gamers? As a feature you should also be able to reset the Aggro / Target after XX Seconds or below XX % of health. Change target only after certain amounts of hits is really limitated.

    Is it possible to deactivate GetHit animations for boss types or other creautres? Big bosses should not play the GetHit animation because they are bosses and pretty big normally and well it looks ugly ;) So a Checkbox for deactivating GetHit animations would be pretty good. If not adding GetHit animations to the controller already does the job thats fine also ;)

    Hmmm 3 is really low. How do you want to handle bosses or creatures which do Range and Meele Attacks? A Mage will have for example at least 3 casting animations (direct, omni, special) and if the mage also should do meele attacks when target is in meele range you have even more. I am not saying that it should be unlimited and I understand that's not possible like you mentioned, but attack animations should be at least 6 for normal and 10 specially for boss creature types. They will be creature types which can use 3 without issues but you will also have types complex creatures or fights which needs more. Which brings me to my next feature:

    Different creature types. Boss Creature Type with more animations, no gethit options, Humanoid creature type with the default controllers or extended for mages (range + meele), bird / flying creature type etc. Every creature type comes with a different controller for more / less animations and with additional options. Creature types for an AI system are pretty essential and with this you should be able to differ between creatures which should have more than 3 animations and normal ones where 3 are enouph.

    Can't wait for the release!

    Cheers
    Ronny
     
    Last edited: Dec 18, 2018
  27. BlueBarracks

    BlueBarracks

    Joined:
    Aug 20, 2018
    Posts:
    9
    Hey, So I recently got the emerald AI, and I was wondering if anyone has experience with AI events. I am trying to setup AI so that when a unit dies it will run a script and for some reason it isn't running the script after the unit dies. I don't know what I am doing wrong. Hopefully someone can shed some light. Great package otherwise! cheers!
     
  28. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    with the death event, from what ive seen, when a emerald ai dies, the emerald ai script disables, this also means the event wont fire, maybe someone out there knows of a switch or something to prevent that. idk
     
  29. BlueBarracks

    BlueBarracks

    Joined:
    Aug 20, 2018
    Posts:
    9
    I think you are right. On a similar note, I see the object doesn't get destroyed on death. The corpses just build up even though I have enabled the "Disable when off screen" option.

    also, If I use the prefabs provided then everything seems to work okay, but if I use my own prefabs then I can't seem to get them to attack each other. Ive checked over the tag settings many times so its not that, and I emailed support about it but so far no response. Has anyone found a solution for this?

    Like lets say I create 2 cubes and set them up to opposite factions, they should attack each other even if there is no animation right? I should see the health still going down, but basically they move to each other then they just stare at each other once they get close enough.
     
    Last edited: Dec 18, 2018
  30. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    Ill test that and play with it. But they would need some kind of attack animation no? Doesnt emerald ai use animation events? I forget. But i would check thier attack range and stopping distance too
     
  31. BlueBarracks

    BlueBarracks

    Joined:
    Aug 20, 2018
    Posts:
    9
    I managed to figure out the problem of the cubes not attacking each other. It doesnt need an animation in order to attack. The answer is in the box collider. The Y value is by default set to 0 which means it is level with the ground. If you set the Y value up to maybe 1 or whatever depending on the size of your cube, then it will take damage!

    Now i picked up another issue with the detection system. If an AI has detected an enemy, and another enemy spawns closer, the AI should change targets and focus on the new target that is now closer. for some reason it doesnt update the target. It seems to focus on one target and stay on that target until death.

    EDIT: And still the main issue is getting the death events working. Im not sure if I can just attach a script to the event. I tried attaching a simple script with Debug.Log("This is working") and it did nothing so I think I am doing something wrong.
     
    Last edited: Dec 18, 2018
  32. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    I have a playmaker script attached, watching health, when health is 0 or less, do X actions. Works good
     
  33. BlueBarracks

    BlueBarracks

    Joined:
    Aug 20, 2018
    Posts:
    9
    Please take me through that. I bought playmaker to solve that problem and Im a bit confused as to how I can reference the currentHealth variable from the Emerald_AI script. Id love to know how you got it right.
     
  34. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    p1.png p3.png make sure that in the state, you retrieve the property and compare the int, everyframe
     
  35. Mad_Mark

    Mad_Mark

    Joined:
    Oct 30, 2014
    Posts:
    386
    Has anyone run into an issue with Unity 2018.3.0f2 completely locking up after the Emerald AI character detects, approaches, then fires off 1 ranged attack? There is no error posted in the console when it happens. Unity just stops responding and has to be terminated with Task Manager. I am using UFPS 1.x with Multi-Player add-on, and Emerald AI 2.x in a brand new project.

    Mark

    EDIT: It appears to have something to do with using the UFPS MachineGun Bullet prefab as the projectile. What should I be using as the projectile for the AI to do damage to the player?
     
    Last edited: Dec 18, 2018
  36. BlueBarracks

    BlueBarracks

    Joined:
    Aug 20, 2018
    Posts:
    9
    You are a legend! On a side note, I found that the object was getting instantly destroyed so I just added a new start state for a 0.2 second wait. That fixed the issue. But thanks again! Im gonna play around with Playmaker I wanna make a new script that will spawn prefabs in when I click on an area. Thats something i will work on but thanks again!
     
  37. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    Try using the “next frame” event. Instead of a short wait. Works great for things like that. The crux system, also by BHS i believe works good too. Also manipulated by playmaker . For spawning. Downside is it doesnt like working if you use CTS.
     
  38. MorpheusXI

    MorpheusXI

    Joined:
    Jan 18, 2018
    Posts:
    27
    FEATURES REQUEST:
    I have Emerald AI & Crux and have only tried the asset and not used yet for my own project, but would like to suggest the following 2.2.1 - 2.3 if possible (also want to say 2.2 is looking great). NOTE: My usage would be city based environment:
    - EMAI: Flee on hearing sound (in my case gun shot) and play flee sound - latter I think already available
    - EMAI: From 2.2 this maybe possible using Emote? AI seeks target object e.g. *Coffee cup and obtains and drink anim. Seek multiple objects clothes, food, until destination home, work building etc. or idle.....
    - EMAI: Civilian avoid moving objects (e.g. cars will be many) and walk pavements to target objects / waypoints *
    - CRUX: Spawn on mesh objects or specified xyz as quick work around until spawn on mesh.

    You can see where I'm going with above and I understand EMAI is more an animal / NPC on terrain asset. But I believe the above is achievable. Some may already be there, in fact maybe I should be slapped if above is mostly available. I would expect if not and delivered Unity Hall of Fame will be entered "Asset of the year"? And mucho asset sales & $£$£$ forthcoming. Looking at 2.2 I'm very pleased I have this asset and see it heading for Top of AI out the box with above additions. None Devs like me dream of above and no AI asset that I know of has achieved features and standard required. EMAI is heading in right direction.

    v3 Enter exit vehicle with animation, doors - IK target to door handles etc. I have FinalIK also but out the box AI assets with this feature would be 11/10 as it's quicker to implement.
     
    erichey likes this.
  39. hassonhamo3

    hassonhamo3

    Joined:
    May 25, 2018
    Posts:
    38
    I'm having the same issue and can't get it working , can't you remember what u did xD i'm releasing my game sooner and i want to solve this problem asap
     
  40. hassonhamo3

    hassonhamo3

    Joined:
    May 25, 2018
    Posts:
    38
    as you mentioned above " changing a layer inside player to Enemy " i did that and it worked perfectly :D
     
  41. Mad_Mark

    Mad_Mark

    Joined:
    Oct 30, 2014
    Posts:
    386
    Is there no longer a ragdoll drop on death?
     
  42. BlueBarracks

    BlueBarracks

    Joined:
    Aug 20, 2018
    Posts:
    9
    Hey Guys

    I hope someone can help me with this. I am trying to setup a simple ranged unit but for some reason its shooting above the targets head. I can easily replicate this by opening the "Ranged combat example" scene and scaling the "skeleton ranged" object to 0.4 on all axis. As soon as I do that, the projectile goes over its head and doesnt actually hit it. I have tried messing around with the "player Y offset position" but it doesnt seem to change anything.

    I hope someone can figure out a solution for this. the only way I can see to get around it is to make the box collider height bigger but then the projectile hits above the skeleton and it doesnt look right.
     
    Last edited: Dec 21, 2018
  43. BlueBarracks

    BlueBarracks

    Joined:
    Aug 20, 2018
    Posts:
    9

    problem solved. The box collider needed to move down. It cannot be 0 because that will prevent attacks happening but 0.5 seems to work okay.
     
  44. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,001
    Thanks!

    The aggro system for now, is based on total hits. Users can adjust how many hit an AI can take before switching targets. The last person to hit the AI after to total hits has been met, will be the new target. I plan on expanding this further with version 2.3 (with very similar features that you've suggested), but for now, it's relatively simple.

    At first the get hit animation feature wasn't optional, but I thought you made an excellent point so I went ahead and added it into the 2.2 update. There's an option available right within the Emerald editor to enable or disable it.

    I plan on adding both ranged and melee attacks with the 2.3 update I wanted to add it with the 2.2 update, but I ran out of time. I can try to add some more attack animations, if I have time. I think I should be able to do 6.



    The DeathEvents work, I just tested them.

    You need to attach the script you would like to call to your AI. When you create a new event, you need to attach the AI object source. The function you want to call should then be visible.


    I plan on adding sound detection, most likely with the 2.3 update.

    Object usage is another feature I am looking into. However, as with some of the other features you've mentioned, I don't want to make Emerald AI too complicated or too specific.


    Ragdoll deaths will be available with version 2.2. They were in a while back, but it was an instantiated ragdoll and not the actual AI object. The new method allows the actual AI object to be used and even blend within the AI's current animation.


    Great to hear. This issue is fixed with version 2.2. The AI's raycasts all now take in account an AI's size so the ending position of the raycasts will always stay the same regardless of the target's size.
     
  45. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    Anybody have the issue of the combat text or healthbar being at some crazy angle? Even with the off sets, i cant get them vertical and in a normal spot
     
  46. SickaGamer

    SickaGamer

    Joined:
    Jan 15, 2018
    Posts:
    784
    I have that issue as well. The names are even off sometimes and see way bigger than they should.
     
  47. RonnyDance

    RonnyDance

    Joined:
    Aug 17, 2015
    Posts:
    557
    2.3 is already becoming another big and awesome looking update :)
    Awesome. Thanks so much!
    Thanks a lot! I think if possible 6 animations max will do it until 2.3 hits the store with different meele / range types more animations etc.

    I had a similar problem. I could not change the AI Name and AI Title font. BHS wanted to change this in an upcoming version. Here is the quote: "I will be redoing the AI's UI so they all use the Canvas system. I used Text Mesh because there was a bug previously with the Canvas system that would cause huge spikes of lag when enabling or disabling it. This has been fixed now so I can implement a better method."

    Cheers
    Ronny
     
  48. hassonhamo3

    hassonhamo3

    Joined:
    May 25, 2018
    Posts:
    38
    the problem not really solved , some times ai attacks and sometimes doesn't , just keeps following the player ....
     
  49. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    275
    How do you have the stopping distance and combat range distance?
     
  50. BlueBarracks

    BlueBarracks

    Joined:
    Aug 20, 2018
    Posts:
    9
    I had this problem. It all depends what kind of game you are making. If its a fixed camera game like mine, go to the unit > detection and tags > tag options > Set UI tag to MainCamera ( make sure your main camera is tagged with the same tag). If its 1st or 3rd person, set it to player. The UI health bar and combat text will show in the direction of whatever it is tagged with so that could be why it isnt working.

    I am having a serious problem with the NavMesh Agent / Colliders. Every time I scale the unit down or up it screws up the melee attacks. Like now, Ive scaled the skeleton bigger and I adjusted the navmesh agent radius (In emerald AI, because I know that overides the navmesh Agent attached) but it seems the skeleton willl not start attacking because its got the obstacle avoidance set. If I set the obstacle avoidance to "none" on the structure and on the skeleton, he walks right through the structure and starts attacking the middle. Its like they have to be in a certain range of the middle of the Navmesh Agent in order to attack. Has anyone else had this before?