Agent react on other agent's death

87 views
Skip to first unread message

Benjamin Dupin

unread,
Mar 15, 2018, 6:37:05 PM3/15/18
to Golaem List
Hi,

I am currently working on a project where I am trying to give a little bit more natural look on the crowd behavior, mainly when agents have to react on surrounding agent's motion (As one have to avoid dead body while running for example).

I tried this technique explained by Thomas Francois posted in November, 2015 (link to the post). It seems to work but I had an issue when I tried to use all my locators grouped with a distance trigger. The distance trigger doesn't compute any distance from each individual locator but only the group parent. To be sure I check on the documentation and it says that the distance trigger "enables to start or stop a behavior by returning true when the distance between the root bone of an Entity and an object (camera, mesh…) or a group of objects, is successfully compared to a reference value."  I just wanted to check if it I misunderstood the documentation or it's not working.

I also tried to achieve this effect by using the channel operator : I create a PP attribute that will change the value on the agent that Die for example. I add a sensor to my scene with a filter on PP attribute checking only value "1.0" as well as  a " sort by distance". I create a network in channel operator editor that check the maximum clearance (angle) for my agent and use this value to "avoid" the dead agent in his close range(as see on the graph above).

Unfortunately, I am not really satisfied with what I have as result and I am a little bit out of ideas for now. So I am wondering if someone had a smart idea :) on this case.


I have also another question regarding the "detection type" find in the sensor locator : I know right now you can change either "Plain Entity" for entity only or "Navigation Obstacle" for navmesh obstacle only but I didn't see any option to detect other type of obstacle : Mesh, curve, NURBS,.... I know you can detect those kind of objects using physics for example or distance trigger. Do you think that  it could be possible if we can have the option of using a sensor and get a distance between one agents and a Mesh for example ? 


Thanks


Benjamin Dupin - Blur - Golaem version 6.2

pampam

unread,
Mar 15, 2018, 7:05:24 PM3/15/18
to Golaem List
What about having a custom sensor geometry set up with a filter to only detect entities with a certain PP attribute (such as dead = 1.0)? Then you can have the character avoid it or do anything you want it to do with a trigger expression like this.beActivateSensorShape1.objectCount >1 for example. Hope that makes sense!

Pam

Alexandre Pillon

unread,
Mar 16, 2018, 10:40:54 AM3/16/18
to crowd...@golaem.com
Hi Benjamin,

Concerning the distance trigger, actually the documentation is outdated, I will fix it.
Before, you could map only one object in the distance trigger, because the interface for all kind of triggers was in the same attribute editor layout. So to allow mapping more objects, we allowed mapping a group and we were computing the distance between each objects.
But when we introduced the Trigger Editor, we improved the distance trigger interface and it now enables mapping more than one object.
So, what it does exactly now is checking the distance with each node mapped. Instead of mapping the group, you should map all objects in your group.
Otherwise, indeed it will only check the group transform.

Concerning CHOPS, I cannot answer because I would need to know more about how the scene is done.
Are you characters already using a navigation behavior or just playing motion?
Actually if they are using a navigation behavior, they should already be avoiding dead characters (provided these characters still have an active navigation behavior to ensure they are registered in the navigation structures). 

The CHOPS graph you did seems like a good idea, but it is probably too simple to get a real navigation.

But if you tell us more about your scene, we may be able to find a simpler solution.
(note that this list is public, so if you need to disclose confidential information, please use our support email)

It was in our projects to more detected types in the sensors, but until then there was not a strong demand for it, and we did not find the time to do it.
It is interesting. Could you tell me more about the use cases you would envision for this?

Cheers,
Alex





--
Note that crowd...@golaem.com is a public list.
If for any reason (confidental project, sending production files...) you need to post a private message to Golaem Support, please use http://support.golaem.com
---
You received this message because you are subscribed to the Google Groups "Golaem List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to crowd-list+...@golaem.com.
To post to this group, send email to crowd...@golaem.com.

Benjamin D

unread,
Mar 20, 2018, 8:24:59 AM3/20/18
to Golaem List
Hi,

Thank you for all these answers.

@Pamela : I tried this technique and it's working great, the only downside is that I need to provide a proper reaction with a motion. I would like something driven by a locomotion because it will feel a little bit more organic.

@Alexandre : The test scene for the CHOPS have been made both using locomotion or motion behavior, I also tried the tutorial that you indicate. I am sorry if my previous email was not really precise about my objectif. I am gonna try to be more explicit:

I would like to  have two agents aiming to a specified target, first one is killed very close range to the other, the second react automatically and change his path. So this reaction should play only when this particular event happens and in certain distance. And technically as the distance is far from an other agent less the reaction should be. I need that the agent who change their path to stay on the target that was setup at the beginning. 

For the sensor detection type, I was trying to avoid using too much of physics collision. I like the freedom with the sensor it gives a lot of data as distance, angle, number of obstacles,... and filter them. Also using the CHOPS is really great, I am starting to understand how powerful it is !  And I think opening to more object type will give so much opportunity. 

Best,

Benjamin

Nicolas Chaverou

unread,
Mar 26, 2018, 10:20:58 AM3/26/18
to crowd...@golaem.com
Hey Benjamin,

Have you figured something out yet or are you still trying to achieve this ?

Best,
To unsubscribe from this group and stop receiving emails from it, send an email to crowd-list+unsubscribe@golaem.com.

Benjamin Dupin

unread,
Apr 9, 2018, 2:20:17 PM4/9/18
to crowd...@golaem.com
Hi Nicolas,

Sorry for the delay I was two weeks off.

For now I didn't really try anything new, I will keep you updated on what would be the specific need for the project.

Thank you,

Benjamin
--
Benjamin Dupin 06.74.52.75.42

Andy Hosking

unread,
Sep 2, 2021, 11:06:42 AMSep 2
to Golaem List, Alexandre Pillon
Hi Alex,
Just picking up on this old thread where you mention possibly adding new functionality if there was a demand for it ...

It was in our projects to more detected types in the sensors, but until then there was not a strong demand for it, and we did not find the time to do it.
It is interesting. Could you tell me more about the use cases you would envision for this?

Do you still plan to add a 'mesh' option to the Sensor Locator detection types?

In my usage case, I need distance data from each entity to polygonal geometry throughout the sim (every 5 frames), not a navmesh.
Specifically, this would be the distance of each Entity to an animated polygon, which will in turn be written out to a data file AND be used to control the overall playback speed of each entity (PPspeedratio). 

Unless of course there's a way to cheat the system somehow and make this geometry be seen as a navmesh, even though it doesn't actually affect entity navigation?

Thanks,
Andy

Nicolas Chaverou

unread,
Sep 2, 2021, 12:33:38 PMSep 2
to Golaem List, Alexandre Pillon
Hey Andy,

Funnily enough, we're working on that exact topic at the moment I'm writing this
Any mesh will be able to be taken into account in the perception as a voxel approximation
In the mean time, perception can take into account navmesh borders as you figured, other entities and external entity locators

External Entity Locators are animable cylinders and maybe, if you set enough of them you can design your area and obstacles
Not ideal though. Right now we're swamped with the release of Golaem 8 but voxelized meshes should be coming next.
Will update this thread when it's available as a nightly build
Best,

---
If for any reason (confidential project, sending production files...) you need to post a private message to Golaem Support, please use http://support.golaem.com

---
You received this message because you are subscribed to the Google Groups "Golaem List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to crowd-list+...@golaem.com.

Andy Hosking

unread,
Sep 7, 2021, 5:39:27 AMSep 7
to Golaem List, nicolas.chaverou, Alexandre Pillon
So, is the 'external entity locator' seen as a NavMesh obstacle by the sensor automatically?
I've made my animated cylinder and made it an 'external entity', but I'm not quite understanding how I tell the sensor that's the distance I want to measure.

I'm using CHOPS with an input "this.sense_LeadDistShape.objectDist.1" but that obviously relies on me listing the objects.

Nicolas Chaverou

unread,
Sep 7, 2021, 10:32:35 AMSep 7
to Andy Hosking, Golaem List, Alexandre Pillon
Hey Andy,

Made a quick video here which describes the available options

Let us know if that helps

Andy Hosking

unread,
Sep 7, 2021, 11:01:20 AMSep 7
to Golaem List, nicolas.chaverou, Golaem List, Alexandre Pillon, Andy Hosking
Thanks great, thanks Nicolas!

Andy Hosking

unread,
Sep 16, 2021, 10:37:22 AMSep 16
to Golaem List, nicolas.chaverou, Golaem List, Alexandre Pillon, Andy Hosking
Hi Nicolas
Thanks for the video. 
Although it's helped me understand the current workflow, it's helped me realise it's not accurate enough for my usage case.
It would have possibly been ok if the external entity cylinder could be scaled to be almost flat (1, 1, 0.01), but the radius modes don't support that.

I would need to measure from each entity to a piece of poly geometry for an accurate value.
It would be great to know when you support measuring to poly geometry.

Thanks
Andy


On Tuesday, 7 September 2021 at 15:32:35 UTC+1 nicolas.chaverou wrote:Hey Andy,

Nicolas Chaverou

unread,
Sep 20, 2021, 11:03:22 AMSep 20
to Andy Hosking, Golaem List, Alexandre Pillon
Hey Andy,

See inlined below:

On Thu, Sep 16, 2021 at 4:37 PM Andy Hosking <andy.h...@gmail.com> wrote:
Hi Nicolas
Thanks for the video. 
Although it's helped me understand the current workflow, it's helped me realise it's not accurate enough for my usage case.
It would have possibly been ok if the external entity cylinder could be scaled to be almost flat (1, 1, 0.01), but the radius modes don't support that.

You mean flat as a disc ? or flat as a line ?
Or both ? :)
 
I would need to measure from each entity to a piece of poly geometry for an accurate value.
It would be great to know when you support measuring to poly geometry.

We're on our way with this. Here are some screenshots
Left is some Maya geometry to approximate the character (you can use any geo)
Right is the voxeled version of this Maya geometry which is attached and updated for each character

2021-09-20 12_11_14-extEnt.png ‎- Photos.png 2021-09-20 12_11_23-extEnt2.png ‎- Photos.png

Sensors will be able to feel those voxels and provide some feedback about it (distance, occupation...)
Thus, you'll also be able to place some user defined meshes in your environment, have them voxelized, and felt the same way
We should be able to get a first version of this at the end of next week
Let us know if you'd like to have your hands on this :)

Best,

 

Thanks
Andy


Andy Hosking

unread,
Sep 21, 2021, 11:53:48 AMSep 21
to Nicolas Chaverou, Golaem List, Alexandre Pillon
Yes, I'd LOVE to get my hands on this next version.

Thanks,
Andy



Virus-free. www.avg.com

Daniel Trusca

unread,
Sep 27, 2021, 9:17:20 AMSep 27
to Golaem List, Nicolas Chaverou, Alexandre Pillon
Hi Andy,

We've implemented custom geometry (based on voxels) for external entities in perception (navigation still uses the radius). You can map any Maya mesh or group of meshes to the external entity locator just like before, but the meshes must be convex.
Here's a link for the nightly builds containing the feature: https://golaem.com/content/nightly?version=Golaem-8.0.3-2021.09.24-%232450


Let us know if this works for you.

Cheers,

Daniel Trusca - R&D Software Engineer - Golaem SA
 
DIRECT  +33 (0)2 99 27 21 45
MAIN    +33 (0)2 99 27 21 40
 
daniel...@golaem.com
http://www.golaem.com


--
Note that crowd...@golaem.com is a public list.
If for any reason (confidential project, sending production files...) you need to post a private message to Golaem Support, please use http://support.golaem.com
---
You received this message because you are subscribed to the Google Groups "Golaem List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to crowd-list+...@golaem.com.
Reply all
Reply to author
Forward
0 new messages