Create an actor inside another actor with sphere collision, unable to trigger the Event BeginOverlap event

AActor with Sphere collision, if another actor is set within the collision range of AActor Sphere radius, AActor cannot receive Begin Overlap event
AActor Collision Enabled setting “QueryAndPhysics” and Generate Overlap Events “true”
Other Actor Collision Enabled setting “QueryAndPhysics” and Generate Overlap Events “true”
AActor has a sphere collision radius of 200. Within this sphere kick collision range, the generated actor, AActor Event Begin Overlap, cannot work. By getting OverlappingActors, all actors within the Aactor sphere collision area can be obtained
Aactor setting


Enemy Aactor setting

AActor ObjectType = “FindEnemy” only trigger ObjectType = “Enemy” 的actor at the edge。in AActor Sphere collision radius inside,AActor Event begin overlap not work

Not info here. You may need to post:

  • collision settings of both actors
  • how you “set within the collision range” - how is this part done?

AActor has a sphere collision radius of 200. Within this sphere kick collision range, the generated actor, AActor Event Begin Overlap, cannot work. By getting OverlappingActors, all actors within the Aactor sphere collision area can be obtained

Not what I meant.

Ah, I see you edited the original post.

Within this sphere kick collision range, the generated actor, AActor Event Begin Overlap, cannot work.

Could you clarify what this means. How is it generated? Do you spawn an actor within the bounds of another actor?

For example, if the collision radius of AAactor’s sphere is 600, a BActor is randomly refreshed inside the Aactor sphere, hoping to trigger the AActor’s Event Begin overlap. This way, it is known that the BActor has entered the range. In fact, no Actor produced within the collision radius of AAactor’s sphere of 600 can trigger the Event Begin overlap

What needs to happen is very clear, no worries. What is not clear at all:

What does it mean? What do you do, specifically? How do you refresh it? Could you show the script that does this? Do you Set Actor Location? Something else?

Cool. I think I get it, but can you just confirm:

You spawn an actor (box) inside another overlapping volume (sphere) and the overlap does not trigger?

Yes, it’s the case in the picture.
My fault. English is not very good.

1 Like

I can use ‘Get OverlappingActors’ to know all triggered actors, but using’ Event begin overlap 'cannot trigger knowing actors that enter the circular collision range.

1 Like

I have checked and neither ‘yes’ nor’ no 'can trigger AActor’s Event BeginOverlap

Perhaps my situation is that AActor is a subclass of BActor. Causing it? AActor and BActor are different actors

I am afraid you will need to rely on this.

If two actors have already overlapped, Begin Overlap will not be triggered.

The design here is a bit unscientific. Unity handles this type of situation with 3 events: OnTriggerEnter, first entry, OnTriggerStay: overlap each frame internally, OnTriggerExit: stop

Debatable. Overlaps revolve around boundary intersections which do not happen here - very scientific and literal. It would be nice, though if we were given an option to trigger it anyway.

You will need to Get Overlapping Actors instead or box / sphere overlap on Begin Play / after spawning.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.