Animating Box Volume

The way I see it, it’d be easiest to treat it like a real conveyor belt and not try to work a bunch of magic. Not saying the magic isn’t possible - it is. But if you grab your character’s Movement component and start moving him around, you’re likely to see him start animating, then you’d have to compensate for that. You’d also need a bunch of edge cases for different types of objects that may come into contact with the belt.

Instead, how about spawning a steady stream of marching boxes that you could just stand on or drop objects onto, just like a real conveyor (albeit more like the ones at the airport baggage claim, but those work well, too).

I’ve already done a rough prototype (I’m on vacation today and am about to leave the house - forgive brevity/dirty blueprint):

So here are the components. The important ones are the boxes at start and end. They don’t HAVE to be boxes, mind you. It was just easier for me to visualize.

Here are the variables if you wanna see 'em. The important one is really just the array. The speed thing was for something I didn’t use in this example, but you certainly could hook such a public variable up later, and get it to drive the speed of the texture as well by way of a material parameter.

ConveyorVariables.png

This just spawns another box at the location of the Start box and stores it in an array. On the spawn node, set the collision to BlockAll - you may also want to tweak the scale of the Start so it’s just a hair thicker than the surface of the belt. :slight_smile:

And here’s the meat. At begin play, we spawn our first mover. On tick, we are spawning a new mover every 0.2 seconds, and we are also sliding each mover in X by 5 units. You can incorporate delta if you don’t want this to be slave to computer speed.

Again, this was a really rough proof of concept before I run out the door.

I have tested it, physics objects dropped on it move just fine, as does the character. You can even run against it, if you like. You would have to do some tweaks on your end to taste. I would wire the whole thing to be driven off a single speed variable that also controlled the texture, but this solves the hard part.

Hope it helps!

Real quick - you don’t have to make the boxes super thin, either. You could just make your static mesh not collide, so it becomes more of a decoration or visual effect. Just a thought.