A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'Assets and Asset Store' started by eliot-ai, Oct 18, 2018.
Thanks for the quick reply.
Hi how can I play a jump attack animation that will go to the player instead of run to target node when player distance > 10?
Hi! You have a few options:
1. RushForward Invoker
2. Trigger the animation with the Skill
Hi in the rush forward invoke can I assign a custom animation?
If you are using legacy animations, you can set the Dodge animation clip in the Inspector. If you are using Mecanim, you can set a name of an animator trigger that would make the agent play the appropriate animation. This animation will be played when the agent calls "rush forward".
Are there any integration docs for invector? Or is it already in the source code?
There is a pdf document called "EliotIntegration.pdf" in the root folder of the package. But most things are already handled by the source code.
Hi! I'm currently checking out your asset on the store and I have a few questions to see if it fits my needs.
I'll start off by saying, I want to create an large open world game that holds around 20 players all connected. On the client, the world is split up and streamed in when needed using World Streamer. The host client will handle all NPC AI, however the host client will also have their world streamed in dynamically as they move around.
1. Can Eliot AI be used with multiplayer games?
2. Can Eliot AI simulate entitles separately from the game objects? So if a part of the world hasn't been streamed in, can the NPCs not visible still run whatever AI they need?
Basically to sum up my questions, I'm trying to duplicate what Spacial OS is doing but on a smaller / local scale. I need all Entities / AI to continue running even if their assets haven't loaded into the game world.
Hi @PyroStudios, thank you for getting in touch. I have to say that none of the things you have listed are automated in Eliot by default, however I believe it is a doable task. To provide multiplayer, the server would have to let the client know about 3 things: agent's transform, agent's animation, particles spawned by the agent.
Regarding your second question, the answer is probably no, at least it is not implemented/automated by default.
Thank you for the reply. So it sounds like there would always need to be one client that has a full view of the world in order to keep the AI running. Ok that's not bad.
And my final question (sorry I didn't ask in my previous post), What are your benchmark numbers on max agent count? Could I potentially have 10,000 agents running with most of their AI just being as simple as moving between several waypoints and detecting if a player is nearby?
The performance really comes down to the power of your PC and the complexity of the agents (obviously ). What's less obvious and probably more helpful is the fact that I can squeeze out 40 fps on my lenovo ideapad (ntel® Core™ i7-7500U CPU @ 2.70GHz × 4, Intel® HD Graphics 620 (Kaby Lake GT2)) with 400 agents in the scene.
I see that the Integration PDF explains how to make an Invector player character damage an Eliot Agent. Have you implemented making an Eliot Agent damage an Invector player. Finally, have you integrated how an Invector character blocks attack by an Eliot Agent? Blocking is a standard feature of Invector.
Hi @wood333, Eliot Agents damage Invector player automatically using the Skills. You don't have to spend any extra time to get it to work. Regarding Blocking, drop me an email if it does not work as it is. We will figure that out.
Hi! I was wondering if there is any plan to have parameters in behaviours. Maybe something similar to how the unity animator looks? It would be super helpful to be able to use simple primitives for checking if events happened!
Hi @bonkabonkstudios, thanks for the question! Yes, in fact, Node parameters will be one of the most important features of the following update. Subliminum gave a good idea about the solution as of the current version.
I have been working on the skeleton tutorial in Unity 5.6.5. I get this, along with subsequent errors and editor freeze.
EDIT: The issue may have been caused by another asset, (I only have 4 in the project). I will re-do the tutorial
Hi how can Eliot ai detect the invector player? I'm using the v1.1.1 and haven't updated it yet.
Thanks I'll try it now
Hi regarding the invector integration, I have a problem. Eliot Ai doesn't damage the invector player and I got an error: Failed to call function TakeDamage of class vThirdPersonController
Calling function TakeDamage with no parameters but the function requires 1
And also I'm using the v1.1.1 and I don't have the integration doc. There's an integration regarding invector earlier in this thread but its for the ranged version of invector. How can I damage Eliot ai by melee weapons?
Hi @Subliminum can you send me a copy of the integration docs? I don't have enough money right now to update because of school expenses since I'm a graduating student.
Does this work with generic mecanim animations? If so, how do i set it up to use them? Testing with the free Rhino from Unity Store.
Hi! Yes, Eliot works with Mecanim. You would need an Animator Controller which is set up so that the motion is animated by a parameter that regulates the motion speed and another optional parameter that regulates the degree to which the character is turning left and right. Also you can start an arbitrary animation, or set of animations using Animator Triggers.
Hi @eliot ai does v1.1.1 can integrate with invector? I saw a thread earlier and there's an error when I add the take damage function in the on apply target in the skills. Here's my error;
Failed to call function TakeDamage of class vThirdPersonController
Calling function TakeDamage with no parameters but the function requires 1
Hi. Just upgrade to the latest version and this will be handled automatically. Cheers.
Hi @eliot-ai I don't have enough money right now to update because of school fees and other expenses. Please help me integrate it as I want to use it for my boss ai
I have a bag - links between elements are not saved in behavior editor (like a bug wroten in coments).
1. Create a new blank project in Unity 2018.3.11.f1 (win10),
2. Import Eliot asset,
3. Create new behaviour,
4. Open new behaviour in behaviour editor,
5. Add 1 observer and 2 invokers, after add 3 transitions (screen1),
6. Press Cntrl-S many times, after select "Save" in context menu,
7. Reopen new behaviour in editor and saw only 2 transitions (always saw only 2 firsts transitions) (screen2),
8. If I try open behaviour from sample scene, then all nodes placed in one corner, and not have transitions (screen3).
Please fix it.
I also have a plea - please add integration with Dialog System (of Pixel Crushers) similarly "Behavior Designer" or "Emerald AI 2". Link with description - http://www.pixelcrushers.com/dialogue_system/manual2x/html/emerald_a_i.html
And one question - have ideas on how best to implement an energy barrier in Eliot (for example, a large dome, under which a group can hide), so that it is transparent to vision, but the shells could not fly into it
PS. Sorry for my English.
Hi! Some people have encountered that bug in the past and the solution was to switch to one of the official Unity releases.
Thanks for expressing the idea of integration with the Dialogue System. I will consider that for the future updates.
Вut I use last official Unity release - 2018.3.11. Please try it yourself.
I have just tried to reproduce the bug in Unity 2018.3.11f1 and failed to do so. I have tried to press ctrl+s, select the "Save" menu item, turn on the play mode but the behaviour stayed intact. Please, try to reimport Eliot. If that does not help, I would suggest to reinstall Unity. let me know if any of that helped.
Basically the object will be transparent to the agents' perception if there is no "Unit" component attached to the dome. Also you might want to consider tweaking the layers in the perception raycast in case the dome's collider is doublesided. You can find the code responsible for that in the Perception class.
I have the excact same issue with nodes disconnecting at runtime everytime!
I tried with 2018.3.12, 2018.3.11 and 2019.1 beta clean projects and installs.... Always the same issues with nodes, all nodes are in the upper left corner. Then if i drag them down, or make my own nodes.. save my setup, and then when i open the behavour the connection is gone.
if i move the nodes connections are black:
Then i save and close, and when im opening it again this happens connections get lost:
Hi @psych77. Please, try to switch the .NET version to 3.5
I am working on it at the moment
Well that did work, unfortunaly it also complicates my project massively I have many things that depends on .NET 4x for example vegetation studio pro for instance.
Sorry to hear that :/. What I can suggest though is to work on Unity 2018.2 (or 2018.1) if that is possible. I will make sure to remove that bug in the next update.
in working with the healer tutorial I had two problems:
1. The heal behavior as explained in the tutorial does not function correctly, however, the heal behavior in the "finished" folder, which is more complete than the behavior we built in the tutorial, does work. Which is correct, the tutorial or the heal behavior in the "finished "folder? A working demo scene would have helped. You move on to creating the heal skill without first completing the heal behavior graph. The completed heal graph is not shown in either the video or written tutorial.
2. The healer creates many FX heal particle "clones" on its target that do not go away. What are we supposed to do with the growing number of particle clones?
Thank you for expressing the concern! The working demo scene requires third party assets that I do not have the right to distribute, so the best thing I can do is to upload the tutorials separately onto the website. I cannot tell the precise time when I will put my hands on doing that as now I am working on the new update.
You can add a script onto the prefab that would destroy the particles if you wish . The script can be found in the standard unity assets available for free from the Asset Store.
I love updates.
Hi, thanks for the answer. Tried both version same issue in .NET 4
How far off are the next update?
Waiting for the fix too. Right now the asset is broken.
I know on your roadmap you probably already have a visual representation of the nodes that are being executed during runtime. However until that point it would be helpful to provide a capability to give some indication of where you are in the tree when troubleshooting. Would it be possible to implement a Debug InvokerNode that just writes a custom message to the console window? Perhaps this already exists. Let me know - thanks!
It is hard to tell at this point since there are some cool and juicy features planned for the update which will take time to implement for sure. Some of the features require a great deal of experiments (hopefully these will be present in the next update). I don't want to mislead by giving the wrong information, so I will say that I simply don't know at this point. My gut feeling is somewhere around a couple of months. However, as Subliminum pointed out in his comment, you don't have to wait so long to get rid of the bug because it is most likely that some dll or third party asset is causing the problem. I am using .NET 4.0 on every single project I work on and I have never experienced that bug. I would go with the Subliminum's suggestion to try and upgrade the IDE of choice. Regards.
Il try that i guess, just sucks to downgrade i guess, im using some off the functions in the beta.
Doubt it, since i tested on clean projects for all versions so far
Still the same issue =/ only works with .NET 3.5 with me, tried to update Microsoft Studio as well.
Value not found
Eliot.Repository.JsonObject:get_Float() (at Assets/Eliot AI/Eliot/Repository/JsonObject.cs:346)
Eliot.Repository.JsonFactory:Serialize(EliotBehaviour) (at Assets/Eliot AI/Eliot/Repository/JsonFactory.cs:440)
Eliot.BehaviourEditor.BehaviourEditorWindow:Reverse(Object) (at Assets/Eliot AI/Eliot/BehaviourEditor/BehaviourEditorWindow.cs:785)
Eliot.BehaviourEditor.BehaviourEditorWindow:OnEnable() (at Assets/Eliot AI/Eliot/BehaviourEditor/BehaviourEditorWindow.cs:134)
Yeah using english build. Replicating is easy Download 2019.1 beta newest or some other version inside unity hub, and put on .NET 4.X
So here is the result of yet another attempt to replicate the bug in unity 2019.1
.NET 4, pressed cts+s many times, selected Save many times. Didn't get the bug.
I can understand your frustration, cause I can't even replicate the bug. Otherwise I would be able to point to the error...
Try to install .NET 4.7.2 Developer Pack. I had problems with the latest versions of unity before having it installed.
It means that some information about the behaviour is broken. The information is read from a json string. I'm pretty sure that .NET version has nothing to do with this particular error since the nodes are created manually from a compressed json instead of being deserialized directly into object. Probably either you have edited a behaviour's josn string directly or the editor has tried to deserialize an empty behaviour.
Well now i dont understand anything.. because i made like 10 clean projects imported eliot alone in different versions, and always got the same message in .NET 4x.
While if i changed to .NET 3.5 it stayed in tact. And i have .NET 4.7.2 developer pack installed.
You have the "allow unsafe code" and "use incremental GC" options turned on. I don't know how they work, but you might want to try and make the settings look like the default ones one by one. Maybe one of them is causing the bug.
Hmm didnt change anything, think ive tried pretty much everything inside unity editor. It seems like its related to something else. Maybe visual studio settings no clue really.