Sorry if this is a simple or silly question but i would like to know if there is a way to have a “is ovelapping” state in blueprints.Right now i can only see and use Begin Overlap and End overlap.These are fine but they trigger only once when the condition is met.But it would really help me if i could have something that is constantly “TRUE” when 2 collision detectors overlap.Is this possible? Thank you.
Create a bool variable, set it to true with Begin Overlap and to false with End Overlap?
As Jacky said create a Boolean var and set it True or False when begin overlapped or end overlapped.
Well i don’t think there is an easier way with BP only so you may want to ask around in C++ section of the forum if it can be achieved through coding.
Yes of course,but that would need many bool’s with branches that you must place them all over your blueprints and a lot Event ticks.After a while and as your project gets bigger and bigger you must keep track of all those collision boxes plus all those bool’s and branches so iI was just looking for an easy way out
Thank you yRezaei as well.Will wait for an official answer in case they have something hidden in there and then i will close this as answered.Thank you guys!
Thanks Jacky,maybe i will ask again as a request this time.
Kind of a non-working answer because multiple collisions might occur simultaneously, then an ENDOVERLAP on one of them will undo all of them and indicate there isn’t any overlapping when there actually is. I’m kind of surprised there’s nothing in blueprints for this. Something like:
Is Overlapping Anything:
you can distinguish different collisions by casting other actor to your specific actor to see if that actor has overlapped.
and also you can use Get All Overlapping Actors node to see if any actor is overlapping with a collision :))))
This is the right answer!
Wrong answer, see comment for the right. And get all overlapping actors is the solution you looking for! It gives you an array with all overlapping actors
Yea, blueprints are so impressive but so disappointing at the same time. The best solution would be to create a int that increases by 1 for every onOverlap event, and decreases on every endOverlap followed by a branch that checks to make sure the total sum is 0
The best solution would be to create a int that increases by 1 for every onOverlap event, and decreases on every endOverlap followed by a branch that checks to make sure the total sum is 0. get all overlapping actors would return a list and wouldn’t help you figure out what’s overlapping, not if anything is overlapping
You can use the “is overlapping” node? Make reference to what you want to test against and put it into the “is overlapping” node and you get exactly what you need.
If two objects overlap one, and then one of them stops overlapping I’m pretty sure you will get a false negative with this method. See my answer for what I think would actually work.