Download

How to use a blocking volume to only block certain meshes?

I have two meshes built into individual blueprints. One of them is a ball rolling, the other is a rectangle. There is a blocking volume, that I need to block the rolling ball but allow the rectangle to pass through. Any idea on how I can achieve this? I got stuck after playing with material collision responses for a while.

Lots of ways to do this, but some ideas to start:

#1. Place a Trigger-Volume in advance of the Blocking-Volume that detects the Rectangle before it arrives, and then disables collision for the rectangle to pass through. Disadvantage to that is, it won’t work if the Rolling-Ball and Rectangle can both arrive at the same time.

#2. Another approach is leverage Collision-Channels. Set-up one as Pawn / Vehicle / Physics, and pick something else for the other. That way the collision is unique for each object.

#3. Lots of hybrid solutions too, involving attaching hidden objects to either object, and then using those to trigger collision or a pass through event etc. So in this approach you might attach a Collision-Box to the front or around the edges around the Rectangle etc. The Collision-Box should be wide enough to pass through the Blocking-Volume. Use that in-turn to trigger an event to for example: Teleport or Interpolate the Rectangle smoothly through the Blocking-Volume.