A dynamics nut to crack (Duncan?)


#1

Hi all,

Been on this all day and realized that my inventiveness has reached its limit. So I turn to you, wise users. (and developers)
I’m trying to make a conveyor belt that can carry some boulders from one end to the other. They should fall off at the end.

The belt itself isn’t the problem, I’ve achieved a very pleasing result by animating the place2dTexture.

The problem is the load transporting and falling off.

I’ve tried transporting the load (particles) with a Uniform field. The problem is that it accelerates the particles as they move along the belt. Also, they start to move slowly instead of at full speed at once after landing on the belt. Naturally, they need to move in a constant speed, from landing to falling off.

The other thing I tried was to make a collider plane (completely flat), moving in sync with the belt, thus achieving the correct speed. Here, the problem was that I couldn’t make the plane to stop colliding with the particles once they had passed the end of the belt.
Tried controlling the Collision strength with a projected texture, but this doesn’t seem possible.

If you have any ideas, I’m all ears!
Much obliged.


#2

I just tested this and it works good for me.

1.Create a polygonpipe with a large amount of segments. ( i used 256)

  1. Create a lattice on the polygonpipe with 15 or more divisions in the axis were you want to reshape your pipe to the conveurbelt

  2. Create a particlesystem over the belt and add gravity to the scene.

  3. Make the conveurbelt collide with the particles and set the resilience to a lower value so the particles dont bounce of the belt. ( this is done on the geoconnector node on the polygonpipe)

  4. You also need to take up the friction a bit on the geoconnector so the particles follows it.

  5. Set keyframes on the rotation of the polygonpipe and watch it work =)

i can supply i testscene if you want.


#3

When testing it out some more i would probably use nparticles to get the right collision radius so that the rocks that you are transporting isnt going thru the belt.

if u dont have to many rocks ncloth will work too, setting up the values so it doesnt bend or compress to get a hard material that interacts with the ncloth passive collider.

good luck.


#4

How many boulders? Could always just use nCloth for them…


#5

What kind of field did you use?
Air-fields should accelerate objects up their target-speed.
They also have an “inherit velocity” feature, which you could use in combination with animating the air-field itself.


#6

Seems like more work then payoff to animate fields and stuff to get the desired results. in my opinion that is.


#7

Im confused. Are you making a run of the mill conveyor belt and using dynamics to run it?
Or are you saying you are faking the rotating belt and just moving particles along a surface with a field?

Do a search I think there was a thread about how to do this all dynamically with ncloth…


#8

Consider an actual conveyor belt modeled and collide with those polygons.

Belt rigging made easier - http://formandspace.com/blog/2013/03/mel-path-constraint-v-0-7-with-looping/


#9

Nice :wink:

.


#10

Thanks for all your input, guys.

Schempp - I already tried that approach, the problem with a deformed pipe is that it moves slower in the bends than in the flat parts. But thanks anyway.

harefort - I tried the Air field and while it does take a few frames for the particles to reach the target speed, it’s not accelerating them further, so it’s actually good enough. Great tip.

HowardM - Yes, I’m faking the movement of the belt with an animated texture. Works marvellously!

Stoehr - Thanks for the link! In this case, it’s a completely smooth conveyor belt so it’s more practical to just animate a texture over a static surface. But I’ll remember it for another time.

/Gabriel


#11

input mesh attract weighted heavily on the outside edges should avoid the speed issues with ncloth, but still give you some flex in the middle. at 100% input mesh attract is essentially not affected by ndynamics and becomes a passive collider.


#12

The only simple way of doing this I can think of involves two fields, a drag field and a directional field… both with volume bounds. (see attached scene) The magnitude of the two fields needs to be adjusted to get a rate of motion that matches your conveyor. If you raise the magnitude of the drag field(don’t make it higher than the frame rate though) it is like having more friction on the belt, but you need to compensate by increasing the directional field. Basically the drag field keeps the particles from accelerating.

You could animate the position of a single drag field with inherit motion, but then you couldn’t bound it to a constant region of space. The air field should really behave more like a drag field that is in motion, but unfortunately it doesn’t currently.

An actual animated belt that is simply made a passive collider with friction would also work, but is perhaps more complicated than you need.


#13

And here is a conveyor using a animated belt model made into a passive collider (nMesh: create passive collider). (see attached)

The belt is animated by first extruding a closed curve into a belt nurbs. I then created a curve on THAT surface: make live then create a two cv degree 2 curve on the surface, dragging one cv all the way around the belt to make a closed loop. Then animate the translate of that curve on surface for the belt motion and extrude the curve on surface to create the animated belt model. Convert the result to poly and make it a passive collider.


#14

Another way to do the conveurbelt might be to just use 2 bends on a plane.

Make the plane as long as you need and with as many segments to still get good curvature, then use the same method with making the plane a passive collider and and make the objects falling on it with either nparticles or ncloth.

Ofcourse you cant get anything to get stuck on the conveyor and follow it on the bottomside since there is none but…if its not needed =)


#15

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.