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.
Calling all New Unity users! Join the Halloween Mods Showcase Challenge until October 31.
Discussion in 'Assets and Asset Store' started by opsive, Feb 10, 2014.
yeah I have joined, I just wanted it to work but it seems like it will not.. Why I cannot tell,
Hi! Where can I find the Ludiq's Bolt integration? I recall there being one but I can't find it anywhere on the new website. The integrations part of the documentation doesn't have it.
All of the integrations are on this page: https://opsive.com/integrations/?pid=803.
Asset store sale has me eyeballing Behaviour Designer. I'm making a project using DOTS/ECS and have pondered the question of how to do deal with AI behaviour in a data oriented way that will scale well with ECS.
Is Behaviour Designer something that can help me with this now or in the future? Have you given much thought to how behaviour trees fit in an ECS world?
Tried searching this forum for the term ECS but it said search term was too short, so sorry if you've been over this before.
I have a rough idea, but it's still too soon to really be able to say if it makes more sense to use ECS or stick with the jobs system. Either way I am keeping track of it and will really start working on it when the framework is more mature.
Hi, can a task variable be shown on the task box in the behavior tree editor? Like a [showintreeeditor]? It would be useful for single object references, so that you can see them at a glance.
I´ve searched fo an concrete answer to my question for some time now, but couldn´t quite make it - so Sorry if it has already been answered. I´ll come straight to the point in order to not bloat my post to much.
1. Is it possible to design 2D Platformer bosses with mechanics like say Megaman?
2. Is there already existing logic to instantiate projectiles/execute melee attacks?
3. How is implementation of logic like instantiating projectiles/execute melee attacks going to work with my own logic?
4. How is 2D Pathfinding achieved? Do I have to download additional assets like polynav?
Looking forward to your answers. Lots of questions I know, but I want to make sure i truely understand what I´m about to buy.
For support can you post on the forum at https://opsive.com/forum? This allows me to track each request better and also has a search to make it easier to find previously asked questions.
Yes, especially if you have a scripting background you can create new tasks which allow you to create a wide range of AI.
Behavior Designer is a behavior tree framework rather than an all in one type of AI asset. The proper way to achieve this is to have Behavior Designer call your character controller and then your character controller performs that attack logic. Take a look at this page for more info: https://opsive.com/support/documentation/behavior-designer/syncing-animations/
The Movement Pack has a PolyNav integration but you can also use Unity's NavMesh in 2D.
I'm having some kind of Nav issue.
I have a Nav Mesh baked and my AI object has a Nav Agent, but the AI has no regard for walls at all, and just tries to push through. If I disable the nav agent, it doesn't seem to make much different, it only create the physical block for the AI to push endlessly against. So with it off, the AI seems to take the same direct path, but they can just wall clip.
I've used this a while ago and don't remember any other steps. What am I missing for the AI to not avoid obstacles?
OK so I've messed with it more and found out it's only the 'Move Towards' action I'm having problems with.
Is this action supposed to use Unity Nav mesh or not? I switched it for 'Follow', and found that follow to my waypoint avoids obstacles.
Move Towards doesn't use the NavMesh - it just sets the position direction. Seek is the equivalent version that uses a NavMesh.
For future questions can you post on the forum at https://opsive.com/forum? This allows me to track each request better and also has a search to make it easier to find previously asked questions.
I got this:
10.60923: Watcher - Watcher: Push task Idle (Idle, index 50) at stack index 0
10.94257: Watcher - Watcher: Conditional abort with task Looked At (BehaviorDesigner.Runtime.Tasks.Sequence, index 7) because of conditional task Can See (CanSee, index 8) with status Failure
How can it be the LookedAt conditional abort is breaking the Idle task if the result is Failure? I thought abort lower priority only works if it returns success!
Can you help?
(Using version 1.6.1)
is there any tutorials that just run a basic set up of ai? I gotta be doing something wrong. If I have a repeater, to a selector. which has 2 children, on the left, can see, seek. and to the right, idle. should the AI not sit idle, until he sees a target, then seeks it? then if he cant see, return to idle?
This video should help you get going in the right direction:
If you have any more questions about your tree setup feel free to post on the opsive forums.
Hi, got a BT question. I've got the following branch:
What I'm trying to achieve is this: When enemy doesn't have a target, detect it first, then wander if it is not detected.
But there's an issue. Once Wander is starts running (and returns TaskStatus.Running), the conditionals aren't being checked anymore.
Which leads to forever stuck in wander behaviour.
Is there a way to ensure that is "Target is missing" and "Detect" sequence is being ran, while Wander is running?
I'm not that savy when it comes to BT design, please point me to the right direction.
There's probably an easy solution, but I can't figure it out for some time now.
Ok, seems like it was really easy.
I should've done this instead:
Setting Detect to conditional abort - both did the trick, as well as moving wander to lower priority;
Re-watching this helped a lot:
Are you integrating this with Photon (PUN2), I saw you've done the character controllers.
I've thought about it but with multiplayer you generally don't need an integration at the behavior tree level. Your AI agents should be running on the host (the Master Client in the case of PUN), and the actions performed by the behavior tree should then be synchronized. In the case of the character controllers these actions are what are synchronized, and not the actual behavior tree flow.
Hello. I am building a behavior tree with behavior designer which has two branches in parallel.
I want the left branch to be reevaluated every tick and the right branch to stay on several actions which have a task status of running.
The problem is that when the right brach stays at running on a tick, the next tick the behavior tree would start executing from that action without reevaluating the left branch.
Is there a way I can achieve this?
Thank you in advance.
I will, thank you!
Hi, is there a way to make the "can see object" field of view parent of a gameobject ?
So the field of view can follow the head of my character.
Hi, Opsive, this tool is very cool. And I have seen your tutorials. I am finding an AI solution, and it seems like it is the best choice for me. I am beginner, I have one question. I have probably 200 different AI units in a scene, is it efficient to handle these 200 units simultaneously?
Yes Behavior Designer itself can handle 200 units great. It actually has very little overhead, but the question tends more to be whether Unity can handle the 200 units. If you have BD handling the animating and navigating and raycasting then those underlying Unity actions will slow things down.
Thanks for the reply.
What's the recommended way of setting public variables in tasks inside an external behaviour tree, per instance, i.e such that.I can set different variables for different gameobjects that end up using a behaviour that contains that tree.
For example, I'm creating a simple patrol script where entities patrol between different waypoints. I want to be able to set a different group of waypoints for different gameobjects that use that patrol behaviour. I'd do that using a public variable in the Action that contains the different waypoints (in the form of transforms). But as far as I can see, I can't assign a value to that variable from anywhere outside the behaviour editor as-is.
Currently I would do it this way:
1. Change the public variable into a SharedVariable
2. create a 'blackboard' variable and assign it to the SharedVariable from step (1)!
3. write a custom monobehaviour for the gameobjects using that subtree somehow and set the variable of the BehaviourTree component in there.
This is all quite cumbersome, is there a faster way to do it?
Is there a load balancing strategy for running behaviours built in anywhere?
I want to run my AI's "tick" at 0.2 second intervals, however with 1000 entities, this is just causing a spike to happen 5 times a second.
Is there a built in method to spread the processing out across multiple frames?
For example cap the processing to 200 units per frame then spill the overflow into the next, but maintain a 200ms gap between ticks?
The order itself isn't important, nor is the specific frame at which an AI fires. All that matters here is merely that they fire once every 0.2 seconds.
Is there any not ugly way, to transfer time delta into task? While saying ugly I mean global variables and shared variables at all. I can call BehaviourManager tick with timer or even manually, but can't find way to send and read that delta.
For support can you post on the forum at https://opsive.com/forum? If you can also give more details on your question that would be great. This allows me to track each request better and also has a search to make it easier to find previously asked questions.
Today, I developed my Game AI as usual. After I assigned a global variable to a local variable in the specific task, all behaviors disappeared, and print these error messages on the console. What should I need to do to fix this problem? This behavior has taken me some days to optimize. I don't know what I need to do now, and I am afraid of losing all of these tasks. These are the error message.
I have gotten help from discord. using JSON instead of binary serialization in the Behavior Designer preferences can fix this problem. But the tree has corrupted can't restore by itself. So, the most important thing is back up your project regularly.
In the next version of Behavior Designer you will be able to load the tree in a worker thread. If you'd like to test this out ahead of time feel free to send an email to firstname.lastname@example.org with your Behavior Designer invoice number and Unity version.
Behavior Designer 1.6.3 has been released on the Asset Store. The major feature for this version is the ability to load your behavior trees in a separate thread. Note that because you can only access Unity objects on the main thread if you have any property mappings then you will not be able to use this feature for your behavior tree.
I am currently using the behavior designer Cover task with unity and have the following questions:
1. How does the Cover task decide which side of an object (i.e. a wall) to hide behind? is it using the forward vector of the cover gameobject?
2. Does the cover object have to be a mesh? if so, should the cover be a simple mesh so that the normal is a large area?
3. The cover task does not move to next task if Max Look At Rotation Delta is zero, what is the purpose of the Max Look At Rotation Delta setting?
4. Is there any way, other than looking at the code of each task, to find a detailed explanation of the behavior designer parameters and their effects related to each tasks(i.e Cover(Max Look At Rotation Delta), etc). any response is greatly appreciated.
I appreciate your reply, I have posted my question in the Opsive forum. Thank you in advance for your cooperation.
I'm thinking about buying Behaviour designer but I have a few questions. I've seen similar questions, but still not sure.
Does anything prevent me from using Joobs and burst compiler in my own custom tasks in the current version?
I read somewhere that Behaviour designer supports up to version 2018.3. Does it hwork in 2019.X?
I guess it's to early to say if it'll work in 2019.3 but do you see any problems with the UI changes?
Thanks for taking a look at Behavior Designer.
I haven't tried using a job within a custom task but there isn't anything that would stop you. Keep in mind that Behavior Designer itself doesn't use the job system.
Behavior Designer works with up to Unity 2019.2. The UI doesn't look good right now in 2019.3 but when that is released I'll submit an update.