# Cloth modifier doesn't collide properly

There are 4 identical cubes with the same specs - cloth and collision modifiers. The problem is that during the collision the green cube is not affected by the blue one at all.

On the left side: green cube is not affected by the falling blue cube, why?

On the right side: they collide as expected.

Is it possible to make the blue cube interact with the green one (compression)? Naturally, the green cube should compress similarly to the blue one.

• It looks like you baked the green one first and then you baked the blue cubes. Is that possible? Jan 3, 2022 at 14:47
• No, it's not baked. If you try the same you would get the same result. Just to mention, every cube is a separate object. Jan 3, 2022 at 14:50
• Did you use the "Bake All Dynamics" to bake the simulation? And they are all identical as you said right? Weird. Jan 3, 2022 at 14:52
• Nothing is baked, it's "raw" animation. Yes, identical cubes. Jan 3, 2022 at 14:55
• I recreated a similair simulation with the first two cubes. I get the same result. They do seem to intereact with each other, but for some reason the bottom cube doesn't squish as much as you would expect. I wouldn't know why that is. Jan 3, 2022 at 15:07

You can solve this by joining both cubes into a single object, so that they use a single cloth simulation, and then enabling self-collision on the physics:

I believe that each simulation is its own, independent thing, with the order of the simulations managed by the dependency manager. In your example, the green cube is being evaluated before the blue cube (it could go the other way.) The green cube collision stops the blue cube-- so the blue cube's collision never enters the green cube's space. In the case of the two blue cubes on the right, I believe that the later cube is penetrating the collision of the earlier cube, creating some interaction. By joining the two cubes, we create a single simulation to evaluate both of them, rather than two simulations run in sequence.

• Nathan, thanks for your time. I already knew that, unfortunately I can't animate every single cube when they are all joined into a single object. Can't add a location keyframe for every cube if they are one object. Jan 3, 2022 at 17:43
• @Boris You can armature deform them before your cloth sim, and add a location keyframe for every bone. Jan 3, 2022 at 17:46
• that sounds like an option. I will try that. Thanks again! Jan 3, 2022 at 17:48
• Armature didn't worked for me. As soon as I add the Cloth modifier, the bone become detached from the vertex group, the bone follows the keyframes location while vertex mesh fall down by gravity. If I add a Pin Group then the vertex group becomes static and gravity is not working. In other words my knowledge is not good enough to make it. Jan 3, 2022 at 22:51
• @Boris We're kind of getting into different territory than the original question here. If you'd like to ask another question to learn more about that and get my attention, that would be fine. Probably what you need to think about is that the positions of your meshes at frame 1, at the time that the cloth modifier is first called, is what sets the base position of your meshes. Just tested with your file, joining and using armature to control their initial positions, even without any pinning, works fine. Jan 3, 2022 at 23:05

When using cloth I had the same issue when recreating your scene. But when using Soft Body it seemed to work. See image below

• Thanks for your time. I can't use soft body, I have a lot of objects and it become very very slow with soft body, Cloth modifier is optimized much better. Jan 3, 2022 at 17:17