Download

Detect Overlap when rotating view

[FONT=“Arial”]I have created a volume to detect overlap. However, it seems to work with movement (WASD) instead of rotating view.

OnComponentBeingOverlap

[FONT=“Arial”]OnComponentHit

[FONT=“Arial”]OnComponentEndOverlap

The above blueprint nodes in the event graph didnt trigger a response. Have i done something wrong here? Please help!

The easy basics to double-check:
is the volume linked to the character rotation in any way? is it parented to the mesh or to the collision capsule so that the movement can be transferred?
If all else fails you can always just add a little adjustment on the character’s BP for the turn to not only control your turn rate as it probably does, but to also rotate the volume by matching your current mesh rotation.
Though if you parent things correctly you should not need to.

Make the overlap volume a child component to the camera component inside your Character BP (click drag and drop it onto the Cam component, if you want to reverse this action, click drag drop it onto the Cam Component again), that way the Camera becomes it’s root/parent and determines it’s location. This is under my assumption you have the overlap volume currently a child of the root component in your Character BP.

It was parented to the camera boom. So if mouse turn, so will the volume. Movement by WASD will detect the overlap but rotation doesnt. Kinda bummer.

I have made another workaround by using event tick which obviously not ideal, since overlap nodes should resolve the detection. Not sure why rotation doesnt work.

So, I made a custom cone, parented to the mesh and it works with 1 caveat. I’m only getting responses from other physics bodies…
Just added in a cone to the mesh, stretched it/positioned it to taste, and attached an event on begin play.

Begin play > bind event to oncomponentbeginoverlap > custom event. and it fires off just fine when rotating the camera over a phys volume (only thing I had in the level that wasn’t just geometry).

I could not get any response or info on the overlapped static elements/meshes - though I didn’t really go poking into why, I’m just assuming that my collision wasn’t set correctly for the geometry to respond.

and yes, that was it. the geometry needs to be set specifically to “generate overlap events”.

" OnComponentBeingOverlap

OnComponentHit

OnComponentEndOverlap "

I have given up on the above overlap event triggers. It seems to be problematic by (via componentOverlapActors node)

  1. not able to detect overlap when rotating
  2. detecting blueprints and SOME static meshes .

The event tick method works flawless though (via componentOverlapActors node). Kinda strange since both using same method to get the list of actors(including static meshes).

Just curious - the event is Begin overlap.
so in my brief test it would obviously not detect things that were already interacted with since the event had already been fired off once.
could it be that ontick is forcing the event to fire over and over instead?

Begin overlap will fire if the obj was not originally in the volume, and upon overlap the event will trigger. Reentering the volume will similarly trigger the event.