Hoping someone can help out this Blender Dunce :-)

As ‘Rigoletto’ suggested I am putting this post into this category hoping that someone can help like they did before :slight_smile:

I just spent 2 hours trying to make a spider leg move some pepper ‘particles’ with no success!

In the previous scene the spider knocked over the pepper pot and I used a particle system to make them ‘fall out’. Now he is supposed to move them about with his leg…however…I cannot get this to work :rage:

They are all made ‘real’ and separate objects so I tried making them all rigid bodies with dynamic ticked and making the leg mesh rigid with passive ticked. This did not work so…

I then tried making a separate little sphere just to move over the pepper to see if I could get a reaction.

The only time I managed to get any physics movement at all, was always at the beginning of the animation Frame 1-3 when they all just whizzed off like an explosion.

I tried changing mass, friction and every component with no success.

Rigoletto suggested that the scale was probably wrong and I have checked this. Each pepper grain says 0.012 but when I try and ‘Apply scale’ I get an error warning of ‘cannot apply to a multi user’ even though they are no separate instances.

Any help/advice would be much appreciated :+1:

Have you tried adding collisions to the spider leg to force particles to move out of the way?

Thanks for replying RSEhlers

This is the setting for each of the pepper grains:

and here is what happens in the first 3 frames :astonished::

I am completely lost to be honest. I did manage to set everything in the scene to a scale of 1 though which I suppose is progress :slight_smile:

As usual, any advice welcome.

What part of the shaker do you have as an emitter? From the images, it looks as if the whole thing is emitting particles…?
You could try setting your Mass up to say .5 or even a higher mass 1-1.5kg and select animated… set the collision margin down to .001 or so… also try setting the surface response higher in the friction, and again something like 1-1.5 bounciness should be ok…
If that doesn’t get things better I would really need to see the file to check all of it…Don’t need textures. You can use one of the files hosts Google, Mediafire etc… if it is too large to upload here…you could put the link in a PM if you don’t want the file distributed around.

Thanks for replying RSEhlers

In the previous scene I used an emitter and particle system - this worked fine.

In this scene, all the pepper grains have been made ‘real’ and are separate objects in a collection.

I am trying to achieve that when the character moves their leg through them they move around.

That is why I have made them Rigid Body objects and added collision to both the leg and pepper grains.

I have changed mass, shape of hull, margin of contact, friction and everything else on all the physics menus.

I either get an explosion that lasts about 3 frames or no reaction at all. Either way I never get the leg (or an experimental sphere used just to experiment) to interact with the grains.

As usual - any help/advice welcome.

What about using a wind force field object with a well adjusted max distance? You can then parent it to the leg and animate it’s orientation and strength to match your needs.

Note that force fields can require very high strength numbers to affect rigid bodies, depending on the scale of your scene.

Or maybe I have misunderstood the question? Does the animation actually stop completely after 3 frames? Maybe there are some settings that should be verified in the rigid body world (in the scene properties tab). That’s where the cache and settings are located for rigid bodies.

Thank you for responding etn249

I could try the windforce suggestion but I am not sure whether that works on objects rather than particles??? :thinking:

Basically, I have 300 pepper grains which are all individual objects (not part of any particle system as they were in the previous scene).

All I want is for them to react when an object is passed through them - in this case the spiders leg at about frame 60.

To try and achieve this I have made every grain a rigid body, adjusted the scale for everything in the scene to 1 and experimented with every setting in the menu possible.

Whether I use the leg (with collide or rigid body or both on) or a separate ‘test’ object I cannot get the grains to move at all.

When I was experimenting with all the settings they did move but, as I said before, this was just to explode away from each other in the first 3 frames as can be seen in the pictures earlier in the post.

I’m happy to share the project but as I am such a noob it is probably a complete mess and enormous as I don’t know how to do all that ‘baking’ stuff and other efficiency tricks :slight_smile:

As usual - any help/advice welcome.

Ok so here are some things to try.

-First, for the explosion. I see you have a collision margin of 0.2m, but on your 3rd picture, it seems the grains have a size of 0.02m. If that’s correct, the grains will collide as if they had an extra shell 10 times the size of the object, which would make them push each other violently. In my tests, It seems to work just fine with the collision margin just turned off on everything.

-Then, for the objects that just pass through without affecting the grains. On an animated passive rigid body, there is an “animated” checkbox that needs to be used if you want the animation to do anything in the simulation.

-For applying the scale: select all the grains, then go to Object → relations → make single user → object and data. Whatever setting they are sharing should then be made unique for each object.

Also, I tried and force fields do affect rigid bodies, but you may have to use a very high strength depending on the scene’s scale and the mass of the rigid bodies. However, if you can make it work with the rigid body, then everything is fine and you would not need this.

Thanks for the suggestions Etn249,

At the point I took the screenshot, you are completely correct, I had a size of collision margin 10x the object! As I said before I was trying lots of variations on all the parameters so It wasn’t like that for long :slight_smile:

I know about the animated box and also the passive/active settings but I will double check that I currently have them the correct way :+1:

Scale has been sorted already.

I think you are right that if I sort out the rigid bodies parameters correctly I shouldn’t need to use force fields - however, after over 2 hours of trying everything else I would look into anything now!

There must be something else really simple that I have missed - like one box that allows collisions on a different menu or something but …well… hopefully a solution will be found by me or someone else soon as I am losing the will to continue - especially when you see people on YouTube create entire scenes in about 10 minutes :laughing:

Elixir

If you still don’t get collisions at all, there is a last thing I can suggest without having to look at the scene directly. The problem could be caused by having multiple rigid body worlds, so basically, the objects are part of 2 separate simulations. I was hoping not having to check that, as it’s a rather complicated and unintuitive part of Blender.

Here is what to check:
rigid_body_world_1

rigid_body_world_2
Make sure all rigid bodies are part of the same rigid body world and that it’s also the same in the scene settings. It’s possible that they might not be if you tried to delete a previous simulation and then create a new one.

Also, an other, unrelated thing to check: Do the grains have their origin set to geometry? If you created them from particles, by default their origin won’t be centered and this can mess with rigid body simulations.

Thanks for getting back to me etn249 :+1:

(All origins are correct)

This is the Scene Properties:

This is the test sphere for trying to make them move:


and these are the individual settings for grains:


If none of this suggests a solution is it possible for me to send you the scene? If so, how can I do this?

Many thanks,
Elixir

Everything you have shown in these pictures should be correct. By the way, the collision settings have no effect on rigid bodies, so there is no need to search for a solution there.

To upload a scene, you can just drag and drop the file in the text of your comment. I don’t know what the max size limit is, but make sure it does not have any packed textures or simulation cache. If you are worried about your project getting out there, you could also create a copy and delete objects unrelated to the issue before uploading.

Actually, I have tought of one more setting you have not shown: in the rigid body world, what are the cache settings? have you set the simulation range to the proper frames?

Hello again etn249,

I have checked everything that you suggested but with no joy.

So…if you have time to run your expert eyes over the original file it would be much appreciated.

I have deleted al the unnecessary bits but it is still too big to upload here so here is a link:

https://drive.google.com/file/d/1aFMxuZmPtP2rAR11kRjwa3bLQKVnII61/view?usp=sharing

As always, any help much appreciated.

Elixir

I think I have found the problem:


The playback is set to “Sync to audio”. This setting is great when animating, as it will ensure the animation plays in realtime, however it achieves this by skipping frames. If you want to properly see a rigid body simulation in the viewport, you have to set it to “play every frame”, or else the simulation will fail when frames are skipped. Your simulation is actually perfectly functionnal already and if you were to go in the rigid body world cache and press “bake all dynamics”, it would bake just fine.

So, when you are animating, you would want the playback set to sync to audio and all simulations hidden for better performance, but when working with simulations, set it to play every frame.

1 Like

HURRAH! - You are a genius !! :grin::+1:

I can see that this solution has made the ‘test sphere’ perform correctly as you said. I can’t believe after weeks (and hours of Blender frustration) it turned out to be just one box that needed ticking !!

However, the spider leg itself does not seem to work in the same way as the sphere… If you still have patience left then it would be great to know why this is…

Many thanks,
Elixir

Good to see it works!

I would guess the leg is probably because the mesh is generated entirely from modifiers. What I would do is create a cube roughly in the same shape as the leg’s tip, set it to non rendered and parent it to the bone. That invisible cube would serve as the collision box for the leg.

Hopefully this helps!